Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по БД.doc
Скачиваний:
95
Добавлен:
01.05.2014
Размер:
413.18 Кб
Скачать

В отношении Группа имеет место фз

Группы №_Специальности, Факультет, Кафедра, Год_Образования

и обратная зависимость

_Специальности, Факультет, Кафедра, Год_Образования №_Зачетки

,поскольку, как правило, номер группы отражает, когда группа была образована, к какому факультету, кафедре и специальности (если на кафедре несколько специальностей) она относится. Так как оба детерминанта являются и возможными ключами отношения, то противоречия с НФБК нет. Отношение Группа находится в НФБК.

Функциональные зависимости отношения Специальность: №_Специальности Название_Специальности, Срок_Подготовки и

Название_Специальности №_Специальности, Срок_Подготовки.

Таким образом, как атрибут №_Специальности, так и атрибут Название_Специальности являются возможными ключами и детерминантами отношения. Поэтому отношение Специальность находится в НФБК.

В отношении Сдал только одна ФЗ:

_Зачетки, Название_Предмета ЗачетСдал, ДатаЗ, ОценкаЭкз, ДатаЭ.

Других зависимостей нет, следовательно отношение Сдал находится в НФБК.

Итак, поскольку все атрибуты распределены, все отношения находятся в НФБК, и избыточных отношений нет, проектирование можно считать законченным. Связи между отношениями БД «Деканат» показаны на рис. 2.18.

Рис. 2.18. Связи между отношениями БД «Деканат»

Мы рассмотрели два основных метода проектирования БД – метод декомпозиции и метод «сущность - связь». Кроме того, существует метод постепенного перехода от универсального отношения, находящегося в первой нормальной форме (1НФ) к совокупности отношений, находящихся в НФБК. В этом методе отношения последовательно приводятся ко второй нормальной форме (2НФ), а затем к третьей (3НФ), и усиленной третьей нормальной форме или, как ее иначе называют, нормальной форме Бойса – Кодда (НФБК). Рассмотрим этот метод в следующем разделе.

Метод последовательного приведения отношения к нфбк.

Для того, чтобы воспользоваться этим методом, необходимо сначала определить вторую и третью нормальные формы. Всякая нормальная форма накладывает на отношение определенные ограничения, ограничивает типы допустимых зависимостей между атрибутами отношений. Определение первой нормальной формы и НФБК нам уже известно.

Определение 2НФ. Отношение находится во 2НФ, если оно находится в 1НФ, и каждый неключевой атрибут функционально полно зависит от составного ключа, то есть зависит от всего ключа и не зависит от его частей.

Для приведения отношения ко 2НФ надо устранить частичную зависимость от ключа. Для этого отношение раскладывают на два, выполняя проекцию на часть составного ключа и зависящие от нее атрибуты. Например, в рассмотренном выше отношении Библиотека , ключом является совокупность атрибутов Шифр и Билет. Первый однозначно определяет автора книги, ее название, год издания и количество имеющихся в библиотеке экземпляров, а второй – однозначно определяет ФИО читателя и номер его телефона. В полной ФЗ от составного ключа находится только атрибут Дата.

Шифр → Авт

Шифр → Назв

Шифр → Год

Шифр → Экз

Билет → ФИО

Билет→ Тел

Шифр, Билет → Дата

Выполнив проекцию на атрибут Шифр, получим два отношения: отношение R1 с ФЗ

Шифр → Авт

Шифр → Назв

Шифр → Год

Шифр → Экз

и отношение R2 с ФЗ

Шифр, Билет → Дата

Отношение R1, ключом которого является атрибут Шифр, находится во 2НФ, а для приведения ко 2НФ отношения R2 надо выделить в самостоятельное отношение атрибут Билет с зависящими от него атрибутами ФИО и Тел. Вместо отношения R2 получим отношение R3 с ключом Билет и ФЗ

Билет → ФИО

Билет→ Тел,

а также отношение R4 с ключом Шифр, Билет и ФЗ Шифр, Билет → Дата.

Оба находятся во 2НФ, так как частичной зависимости неключевого атрибута от ключа нет. Этот пример не является показательным, поскольку, приведя отношение ко 2НФ, мы автоматически получили и НФБК. Обратите внимание, что полученные нами отношения R1, R3, R4 - это отношения Книга, Читатель и Читает, полученные ранее методом декомпозиции. Аномалии второй нормальной формы посмотрим на другом примере.

Пусть имеем отношение с атрибутами Номер – личный номер преподавателя, Название – название предмета, который он читает, Часы – количество часов, которые отводятся на предмет учебным планом, ФИО – фамилия и инициалы преподавателя, Должность, Оклад – соответственно должность, занимаемая преподавателем, и его должность, Кафедра – название кафедры, на которой работает преподаватель, Телефон - № телефона кафедры. Ключом этого отношения является совокупность атрибутов Номер, Название, поскольку от атрибута Название зависит атрибут Часы, а от атрибута Номер зависят такие атрибуты как ФИО, Должность, Оклад, Кафедра и Телефон. Кроме того, существует зависимость атрибута Оклад от атрибута Должность и атрибута Телефон от атрибута Кафедра. Функциональные зависимости между атрибутами отношения показаны на рис. 2.19.

рис. 2.19.

Поскольку имеет место частичная зависимость неключевых атрибутов от ключа, отношение не находится во 2НФ. Выделим в самостоятельнок отношение атрибут Номер со всеми зависящими от него атрибутами. Получим отношение, которое можно назвать Преподаватель, с ключом Номер и ФЗ

Номер ФИО, Должность, Оклад, Кафедра, Телефон.

В исходном отношении остались атрибуты Название, Часы и Номер с ФЗ, изображенными на рис. 2.20.

Рис. 2.20.

Отношение Преподаватель находится во 2НФ, исходное отношение во 2НФ не находится, поскольку в нем присутствует единственная ФЗ атрибута Часы от атрибута Название, а ключом исходного отношения является совокупность атрибутов Номер и Название. Выделим в отдельное отношение атрибут Название с зависящим от него атрибутом Часы. Полученное отношение с ключом Название и единственной ФЗ - Название Часы - можно назвать Предмет. Оно находится во 2НФ. В исходном отношении остался только ключ – атрибуты Номер и Название, причем не связанные друг с другом. Неключевые атрибуты в оставшемся отношении отсутствуют. Это отношение можно назвать Преподает, оно используется для связи между отношениями Предмет и Преподаватель. Все три отношения находятся во 2НФ. Отношения Предмет и Преподает не противоречат и НФБК, а вот в отношении Преподаватель есть детерминанты, которые не являются ключами. Это атрибуты Должность и Кафедра. Отношение Преподаватель не находится в НФБК. Оно не находится и в 3НФ.

Определение 3НФ. Отношение находится в 3НФ, если оно находится во 2НФ, и в нем отсутствуют транзитивные зависимости неключевых атрибутов от ключа.

В нашем примере такие зависимости присутствуют. Транзитивными являются зависимости от атрибута Номер, являющегося ключом отношения Преподаватель, атрибута Оклад и атрибута Телефон. Наличие таких ФЗ порождает следующие аномалии:

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

  • Нельзя включить данные о новой кафедре, хотя бы ее название, если еще отсутствуют преподаватели. То же относится и к новой должности.

  • При увольнении с кафедры всех преподавателей, данные о ней не сохранятся. Не сохранятся данные и об окладе, например, ассистентов, если в БД не останется ни одного ассистента.

Устранить перечисленные аномалии можно, перейдя к 3НФ. Для этого нужно выполнить проекции на ФЗ между неключевыми атрибутами отношения. В нашем случае надо выполнить проекцию на ФЗ Должность Оклад и ФЗ Кафедра Телефон. В результате получим 3 отношения:

Должность (Должность, Оклад),

Кафедра (Кафедра, Телефон),

Преподаватель (Номер, ФИО, Должность, Кафедра).

Все полученные отношения находятся в 3НФ, но набор присутствующих в них ФЗ соответствует и определению усиленной 3НФ или НФБК. В большинстве случаев так оно и есть, эти две формы не отличаются друг от друга. Попытаемся разобраться, в каких случаях эти отличия все – таки существуют.

Соседние файлы в предмете Базы данных