Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_Zapiska.doc
Скачиваний:
12
Добавлен:
01.05.2025
Размер:
965 Кб
Скачать
☆

2.3 Приведение отношений бд к третьей нормальной форме

Третья нормальная форма была изначально сформулирована Э. Ф. Коддом в 1971 году. Формулировка звучит следующим образом:

«Переменная отношения находится в третьей нормальной форме (3НФ), если она находится во второй нормальной форме и каждый атрибут, не входящий в первичный ключ не транзитивно зависит от первичного ключа»

Иными словами, в таблицах не должно быть транзитивных зависимостей, т.е. таких атрибутов, которые зависят от других атрибутов, не входящих в состав первичного ключа. Опираясь на данную формулировку, можно сказать, что все определённые в п. 2.1 отношения находятся в третьей форме.

2.4 Определение ограничений целостности для внешних ключей отношений и для отношений в целом

Ограничение целостности отношений заключается в том, что в любом отношении должны отсутствовать записи с одним и тем же значением первичного ключа. Конкретно требование состоит в том, что любая запись любого отношения должна быть отличной от любой другой записи этого отношения. Это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений.

Ограничение целостности для внешних ключей состоит в том, что значение внешнего ключа должно быть равным значению первичного ключа цели; либо быть полностью неопределенным, т.е. каждое значение атрибута, участвующего во внешнем ключе должно быть неопределенным.

Условиями целостности называется набор правил, используемых для поддержания допустимых межтабличных связей и запрета на случайное изменение или удаление связанных данных. Следует устанавливать целостность данных только при выполнении следующих условий: связываемое поле из главной таблицы является полем первичного ключа и имеет уникальный индекс, связанные поля имеют один и тот же тип данных.

Для автоматического обновления связанных полей (удаления записей) при обновлении (удалении) в главной таблице, следует устанавливать обеспечение целостности данных и каскадное обновление связанных полей (каскадное удаление связанных записей).

Ограничение целостности, накладываемые на разрабатываемую систему:

  • ключевое поле отношения должно быть уникальным;

  • внешний ключ должен быть повторяющимся, то есть соответствовать уникальному ключу в своем отношении.

Для удовлетворения требования ограничения целостности для внешних ключей отношений и для отношений в целом необходимо, чтобы выполнялось соответствие между типами вводимых данных и типами столбцов в таблицах, а так же чтобы были заполнены все обязательные поля в таблицах, т.е. те поля которые не могут содержать значения NULL.

2.5 Графическое представление связей между внешними и первичными ключами

Графическое представление связей между внешними и первичными ключами реализовано в нескольких нотациях. В приложении А на рисунке А.1, на ER-диаграмме согласно нотации «Crow’s Foot». Так же графическое представление связей отображено на диаграмме B.1 в приложении B. Здесь используется классическое представление связей между отношениями.

Оба вида представления связей между внешними и первичными ключами позволяют наглядно представить связи отношений в проектируемой базе данных.

3 Создание спроектированной базы данных

Для реализации спроектированной базы данных была выбрана система управления базами данных MS SQL Server 2008. Это обусловлено тем, что, данная СУБД имеет большую функциональность, множество средств для поддержки и работы с ней, развитую инфраструктуру для интеграции баз данных в пользовательские приложения.

В создаваемой базе данных будут использоваться следующие типы данных:

  • INT – Целочисленный тип. Размер – 4 байта

  • VARCHAR – Строковый тип

  • DATE – Тип, определяющий дату

  • DATETIME – Типа, определяющий дату и время

Опишем все таблицы, которые будут созданы в базе данных.

Таблица Страны содержит список возможных стран, в которых будут организованы концерты. Ее структура приведена в таблице 3.1.

Таблица 3.1 – Характеристика атрибутов таблицы Страны

Имя атрибута

Тип

Описание

ID_страны

INT

Идентификатор страны. Ключевой атрибут

Название

VARCHAR(50)

Наименование марки.

Таблица Города содержит информацию о городах. Ее структура приведена в таблице 3.2.

Таблица 3.2 – Характеристика атрибутов таблицы Город

Имя атрибута

Тип

Описание

ID_города

INT

Идентификатор города. Ключевой атрибут

Название

VARCHAR(50)

Название города

FK_страны

INT

Идентификатор страны.

Таблица Жанры содержит информацию о существующих музыкальных жанрах. Ее структура приведена в таблице 3.3.

Таблица 3.3 – Характеристика атрибутов таблицы Жанры

Имя атрибута

Тип

Описание

ID_жанра

INT

Идентификатор жанра. Ключевой атрибут

Название

VARCHAR(20)

Название жанра

Таблица Группа содержит данные об существующих группах. Ее структура приведена в таблице 3.4.

Таблица 3.4 – Характеристика атрибутов таблицы Группа

Имя атрибута

Тип

Описание

ID_группы

INT

Идентификатор данных. Ключевой атрибут

Название

VARCHAR(50)

Название группы

Дата создания

DATE

Дата создания группы

FK_города

INT

Идентификатор города

FK_жанра

INT

Идентификатор жанра

Таблица Альбомы содержит информацию о альбомах музыкальных групп. Ее структура приведена в таблице 3.5.

Таблица 3.5 – Характеристика атрибутов таблицы Альбомы

Имя атрибута

Тип

Описание

ID_альбома

INT

Идентификатор альбома. Ключевой атрибут

Название

VARCHAR(25)

Дата взятия авто на проверку

FK_группы

INT

Идентификатор группы

Таблица Должности содержит информацию о должностях, которые могут принимать люди, которые находятся в составе музыкальной группы. Ее структура приведена в таблице 3.6.

Таблица 3.6 – Характеристика атрибутов таблицы Должности

Имя атрибута

Тип

Описание

ID_должности

INT

Идентификатор должности. Ключевой атрибут

Название

VARCHAR(20)

Описание

Таблица Люди содержит информацию о людях. Ее структура приведена в таблице 3.7.

Таблица 3.7 – Характеристика атрибутов таблицы Люди

Имя атрибута

Тип

Описание

ID_человека

INT

Идентификатор человека. Ключевой атрибут

Фамилия

VARCHAR(30)

Фамилия человека

Имя

VARCHAR(20)

Имя человека

Отчество

VARCHAR(15)

Отчество человека

Дата рождения

DATE

Дата рождения человека

Таблица Музыканты служит хранения информации о музыкантах. Ее структура приведена в таблице 3.8.

Таблица 3.8 – Характеристика атрибутов таблицы Музыканты

Имя атрибута

Тип

Описание

ID_музыканта

INT

Идентификатор музыканта. Ключевой атрибут

FK_человека

INT

Идентификатор человека

Таблица Состав групп служит хранения информации о составе группы. Ее структура приведена в таблице 3.9.

Таблица 3.9 – Характеристика атрибутов таблицы Состав групп

Имя атрибута

Тип

Описание

Дата вступления

DATE

Дата вступления музыканта в группу

FK_группы

INT

Идентификатор группы

FK_должности

INT

Идентификатор должности

FK_музыканта

INT

Идентификатор музыканта

Таблица Места служит для хранения информации о типах мест, которые существую в концертных залах. Ее структура приведена в таблице 3.10.

Таблица 3.10 – Характеристика атрибутов таблицы Места

Имя атрибута

Тип

Описание

ID_места

INT

Идентификатор места

Тип

VARCHAR(50)

Тип места

Цена

INT

Цена за место

Таблица Объекты служит для хранения залов, в которых будут проводиться концерты. Ее структура приведена в таблице 3.11.

Таблица 3.11 – Характеристика атрибутов таблицы Объекты

Имя атрибута

Тип

Описание

ID_объекта

INT

Идентификатор объекта

Название

VARCHAR(40)

Наименование объекта

Количество мест

INT

Количество посадочных мест

FK_города

INT

Идентификатор города

Таблица Состав объекта служит для хранения информации о типах мест, которые присущи для определенного объекта. Ее структура приведена в таблице 3.12.

Таблица 3.12 – Характеристика атрибутов таблицы Состав объекта

Имя атрибута

Тип

Описание

FK_объекта

INT

Идентификатор объекта

FK_места

INT

Идентификатор типа места

Количество

INT

Количество посадочных мест

Таблица Концерт служит для хранения информации о проводимых концертах. Ее структура приведена в таблице 3.13.

Таблица 3.13 – Характеристика атрибутов таблицы Концерты

Имя атрибута

Тип

Описание

ID_концерта

INT

Идентификатор концерта

FK_объекта

INT

Идентификатор объекта

Название

VARCHAR(40)

Название концерта

Дата и время проведения

DATETIME

Дата и время проведения коцерта

Таблица Групповой состав концерта служит для хранения группах, учавствующих в концертах. Ее структура приведена в таблице 3.14.

Таблица 3.14 – Характеристика атрибутов таблицы Групповой состав концерта

Имя атрибута

Тип

Описание

FK_концерта

INT

Идентификатор концерта

FK_группы

INT

Идентификатор группы

Таблица Билеты служит для хранения информации о билетых, которые были куплены на концерт. Ее структура приведена в таблице 3.15.

Таблица 3.15 – Характеристика атрибутов таблицы Билеты

Имя атрибута

Тип

Описание

ID_продажи

INT

Идентификатор продажи

Количество заказанных

INT

Количество заказанных билетов

FK_места

INT

Идентификатор типа места

FK_человека

INT

Идентификатор человека, сделавшего заказ

FK_концерта

INT

Идентификатор концерта

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]