Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
17-06-2015_23-01-11 / Учебное пособие ИОБД_2013.doc
Скачиваний:
138
Добавлен:
15.02.2016
Размер:
2.9 Mб
Скачать

4.3. Проектирование базы данных «Университет»

Инфологическое проектирование

Пусть в результате системного анализа установлена необходимость отразить в БД сведения о студентах вуза.

При этом БД должна содержать данные о каждом студенте:

СТУДЕНТ (Номер зачетной книжки, Фамилия, Имя, Отчество, Номер группы, Номер Факультета, Наименование, Декан, Номер специальности, Наименование специальности, Стоимость, Дата рождения, Курс, Коммерческий).

Анализ первоначально сформированного информационного объекта СТУДЕНТ показывает, что отношение (таблица), построенное по этому объекту, будет находится лишь во второй нормальной форме (2NF) вследствие того, что в отношении имеют место функциональные зависимости, показанные на рис. 8.

Таким образом, исходный информационный объект распадается на четыре новых информационных объекта:

СТУДЕНТ(Номер зачетной книжки, Фамилия, Имя, Отчество, Дата рождения, Коммерческий);

ФАКУЛЬТЕТ(Номер факультета, Наименование, Декан);

ГРУППА(Номер группы, Номер факультета, Номер специальности);

СПЕЦИАЛЬНОСТЬ(Номер специальности, Наименование специальности, Стоимость).

Анализ новых информационных объектов на нормальность показывает, что все они находятся в 3NF.

Функциональные зависимости в исходном отношении

Атрибуты, являющиеся причиной функциональных зависимостей

Номер зачетной книжки

Номер факультета

Наименование

Декан

Номер группы

Номер факультета

Номер специальности

Курс

Номер специальности

Наименование специальности

Стоимость

Рис.8. Функциональные зависимости в исходном отношении СТУДЕНТ

Следовательно, инфологическая модель предметной области будет иметь вид, показанный на рис.9.

Зависимые объекты

Независимые объекты

Рис.9. Инфологическая модель предметной области

На рис.9 приведены не только информационные объекты, но и взаимосвязи между ними. Так, связь типа «один ко многим» устанавливается:

  • между объектами ГРУППА и СТУДЕНТ по их общему атрибуту Номер группы;

  • между объектами ГРУППА и ФАКУЛЬТЕТ по их общему атрибуту Номер факультета;

  • между объектами ГРУППА и СПЕЦИАЛЬНОСТЬ по их общему атрибуту Номер специальности.

Стоит, однако, обратить внимание на то, что полученная инфологическая модель, в целом удовлетворяющая требованиям нормализации, с точки зрения логики может некорректно описывать предметную область. Модель, показанная на рис.9, допускает существование некоторой специальности, которая не преподается ни на одном факультете! Естественным желанием при этом является добавление связи между объектами ФАКУЛЬТЕТ и СПЕЦИАЛЬНОСТЬ. Альтернативой этому может быть определение домена для атрибута Номер специальности, который будет содержать только «существующие» номера специальностей.

Даталогическое проектирование

Логические структуры сформированных информационных объектов, предполагаемые к реализации в базе данных, приведены в табл.2...5.

После описания информационных объектов необходимо установить правила ссылочной целостности для каждой связи инфологической модели.

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

В ходе физической реализации БД каждой связи будут приписаны триггеры ссылочной целостности(RI-триггеры), которые и обеспечат установленное правило целостности.

Триггеры – это подпрограммы, которые запускаются всякий раз при выполнении команд вставки (INSERT), обновления(UPDATE) и удаления (DELETE).

Таблица 2

Логическая структура информационного объекта СТУДЕНТ

Поле

Признак ключа

Формат поля

Имя

Наименование

Тип

Размер

Точность

Номер зачетной книжки

Номер зачетной книжки студента

*

текстовый

8

-

Номер группы

Номер группы, в которой обучается студент

Числовой

Длинное целое

-

Фамилия

Фамилия студента

Текстовый

50

-

Имя

Имя студента

Текстовый

50

-

Отчество

Отчество студента

Текстовый

50

-

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

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

Дата/время

Краткий формат даты

-

Коммерческий

Форма обучения

Логический

Да/Нет

-

Таблица 3

Логическая структура информационного объекта ГРУППА

Поле

Признак ключа

Формат поля

Имя

Наименование

Тип

Размер

Точность

Номер группы

Номер группы, в которой обучается студент

*

Числовой

Длинное целое

-

Номер факультета

Номер факультета, в который входит группа

Числовой

Целое

-

Номер специальности

Номер специальности, которой обучаются в группе

Числовой

Длинное целое

-

Курс

Номер курса группы

Числовой

Целое

-

Таблица 4

Логическая структура информационного объекта ФАКУЛЬТЕТ

Поле

Признак ключа

Формат поля

Имя

Наименование

Тип

Размер

Точность

Номер факультета

Номер факультета, в который входит группа

*

Числовой

Целое

-

Наименование

Наименование факультета

Текстовый

50

-

Декан

Фамилия декана факультета

Текстовый

50

-

Таблица 5

Логическая структура информационного объекта СПЕЦИАЛЬНОСТЬ

Поле

Признак ключа

Формат поля

Имя

Наименование

Тип

Размер

Точность

Номер специальности

Зарегистрированный номер специальности

*

Числовой

Длинное целое

-

Наименование специальности

Установленное наименование специальности

Текстовый

50

-

Стоимость

Стоимость обучения данной специальности

Денежный

8 байт

2 знака после запятой

Допустим, что необходимо удалить один из экземпляров информационного объекта ГРУППА. Экземпляр информационного объекта СТУДЕНТ не может существовать без соответствующего экземпляра объекта ГРУППА. Следовательно, необходимо либо запретить удаление группы, в который числится хотя бы один студент, либо сразу удалять всех студентов вместе с группой. Такие правила ссылочной целостности называются RESTRICT и CASCADE соответственно.

В другой ситуации, когда, например, экземпляр информационного объекта СТУДЕНТ может существовать без ссылки на номер группы в объекте ГРУППА, при удалении какой-либо группы, информация о ней должна остаться в объекте СТУДЕНТ. Такое правило называется SET NULL. При этом значение атрибута Номер группы объекта СТУДЕНТ принимает значение NULL.

Правило SET DEFAULT устанавливает при удалении соответствующему атрибуту значение по умолчанию. Например, при «удалении» группы все студенты, которые в ней учились, зачисляются в другую группу (значению атрибута Номер группы объекта СТУДЕНТ присваивается значение по умолчанию).

Наконец, правило NONE не меняет значение атрибута. При «удалении» группы запись о ней «повисает в воздухе», т.е. экземпляр объекта СТУДЕНТ ссылается на несуществующую уже запись о группе.

Ф

Рис.11. Форма ГРУППА с подчиненной формой СТУДЕНТ

изическое проектирование

На этапе физического проектирования следует реализация инфологической модели средствами целевой СУБД, разработка необходимых форм для ведения базы данных, а также заполнение базы данных соответствующей информацией. На рис. 10...13 показаны схема данных и все формы, необходимые для ведения базы данных, реализованные в Access 2007.

Frame18

Рис.12. Форма СПЕЦИАЛЬНОСТЬ

Рис.13. Форма ФАКУЛЬТЕТ

Соседние файлы в папке 17-06-2015_23-01-11