- •Содержание
- •Введение
- •1 Построение инфологической концептуальной модели
- •1.1 Анализ предметной области и выявление необходимого набора сущностей
- •Типичными задачами для таких программ являются:
- •1.2 Обоснование требуемого набора атрибутов для каждой сущности и выделение идентифицирующих атрибутов
- •2.1 Построение набора необходимых отношений базы данных
- •2.2 Задание первичных и внешних ключей определенных отношений
- •1.3 Определение связей между объектами
- •1.4 Описание полученной модели на языке инфологического проектирования
- •2 Построение схемы реляционной базы данных
- •2.3 Приведение отношений бд к третьей нормальной форме
- •2.4 Определение ограничений целостности для внешних ключей отношений и для отношений в целом
- •2.5 Графическое представление связей между внешними и первичными ключами
- •3 Создание спроектированной базы данных
- •4. Запись выражений указанных в варианте задания типов запросов на языке sql
- •5 Выбор и обоснование средств разработки приложения
- •6 Реализация законченного приложения, работающего с созданной базой данных
- •6.1 Разработка и построение интерфейса главной и рабочей форм
- •6.2 Построение главного меню и кнопок панели инструментов
- •6.3 Выполнение программного кода в среде Microsoft Visual Studio 2013 на языке c#
- •Заключение
- •Список использованных источников
- •Главная и рабочие формы приложения
- •Листинг программы
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
Идентификатор концерта
