Переход от концептуальной схемы к реляционной модели данных
Абитуриент (Шифр абитуриента*, Фамилия, Имя, Отчество, Дата рождения, Адрес, Документ об образовании, Место работы, Сумма договора при бюджетной форме, Сумма договора при коммерческой форме, Дата заключения договора на коммерческое обучение, Форма договора);
Формы обучения (Шифр формы обучения*, Название формы обучения).
Специальность (Шифр специальности*, Название специальности, Примечание).
Льготы (Шифр льготы*, Название льготы, Порядок установления).
Группа (Рабочий шифр абитуриента*, Шифр абитуриента, Шифр специальности);
FK= Шифр абитуриента – ссылается на Абитуриента;
FK= Шифр специальности – ссылается на специальность.
Баллы (Рабочий шифр абитуриента+Шифр предмета*, Балл);
FK=Рабочий шифр абитуриента-ссылается на Группу;
FK= Шифр предмета – ссылается на Предмет).
Для установления связей многие-ко-многим необходимо образовать стыковочные таблицы между Абитуриентом и Льготами, Специальностью и Предметами, Специальностью и Формами обучения:
ОПРЕДЕЛЕНИЕ ЛЬГОТ(Шифр абитуриента+Шифр льготы*);
FK= Шифр абитуриента – ссылается на Абитуриента;
FK= Шифр льготы – ссылается на Льготы.
СПЕЦИАЛЬНОСТЬ-ПРЕДМЕТ(Шифр специальности+Шифр предмета*);
FK= Шифр специальности – ссылается на Специальность;
FK=Шифр предмета – ссылается на Предмет.
СПЕЦИАЛЬНОСТЬ-ФОРМА ОБУЧЕНИЯ (Рабочий шифр специальности*, Шифр специальности, Шифр формы обучения, Коммер/Бюджет);
|
|
FK=Шифр специальности –ссылается на специальность;
FK= Шифр формы обучения – ссылается на Формы обучения.
Проведем анализ получившихся отношений с помощью функциональных зависимостей:
Абитуриент
Шифр абитуриента -> {Фамилия, Имя, Отчество, Дата рождения, Адрес, Документ об образовании, Шифр формы обучения, Форма договора, Место работы, Шифр группы};
{Шифр абитуриента, Форма договора (бюд.)} -> Сумма договора при бюджетной форме;
{Шифр абитуриента, Форма договора (ком.)} -> {Сумма договора при коммерческой форме, Дата заключения договора на коммерческое обучение, Номер договора};
Очевидно, что вышеуказанные поля зависят от составных ключей (причем по булевому условию), следовательно, происходит нарушение второй нормальной формы – часть полей зависит от составного ключа, другие поля – только от части первичного ключа. Поэтому необходимо декомпозировать отношение Абитуриент на три проекции по функциональным зависимостям.
Также для устранения повторяющихся данных по полю Место работы нужно выделить Место работы в отдельный справочник: Шифр работы -> Название места работы.
СПЕЦИАЛЬНОСТЬ
Шифр специальности -> {Название специальности, Примечание}
|
|
Формы обучения
Шифр формы обучения -> Название формы обучения.
Льготы
Шифр льготы -> {Название льготы, Порядок установления}
Группа
Рабочий шифр абитуриента -> {Шифр абитуриента, Шифр специальности}
В указанных отношениях первичные ключи простые. Поэтому отношения автоматически находятся во второй нормальной форме.
Баллы
{Рабочий шифр абитуриента+Шифр предмета} -> Балл
В данном отношении вторая нормальная форма не нарушается.
Во всех полученных отношения отсутствуют функциональные зависимости неключевых атрибутов между собой. Следовательно, они находятся в третьей нормальной форме.
Итак, конечная схема отношений после проведения декомпозиции будет выглядеть следующим образом: (рис.5).
Рисунок 5 – Схема отношений БД приемной комиссии
Дата добавления: 2018-04-05; просмотров: 108; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!