Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Организация баз данных.-5.pdf
Скачиваний:
11
Добавлен:
05.02.2023
Размер:
1.3 Mб
Скачать

62

Первичным ключом отношения СТУДЕНТЫ являются атрибут № ЗАЧЕТНОЙ КНИЖКИ.

Можно выявить следующие функциональные зависимости:

ЗАЧЕТНОЙ КНИЖКИ -> ФИО СТУДЕНТА;

ЗАЧЕТНОЙ КНИЖКИ -> МЕСТО РОЖДЕНИЯ;

ЗАЧЕТНОЙ КНИЖКИ -> ДАТА РОЖДЕНИЯ;

Первичным ключом отношения УСПЕВАЕМОСТЬ СТУДЕНТОВ является атрибуты № ЗАЧЕТНОЙ КНИЖКИ, КУРС.

В этом отношении существует одна функциональная зависимость: № ЗАЧЕТНОЙ КНИЖКИ, КУРС -> СРЕДНИЙ БАЛЛ

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

В отношении помимо одного первичного ключа могут находиться атрибуты, по значению которых также можно однозначно определить записи, такие атрибуты называются альтернативными ключами. Если допустить наличие нескольких ключей, то определение 2НФ примет следующий вид: отношение R находится во второй нормальной форме (2НФ) в том и только в том случае, когда оно находится в 1NF, и каждый его неключевой атрибут полностью зависит от каждого ключа этого отношения.

6.1.3. Третья нормальная форма

Добавим в отношение СТУДЕНТЫ два атрибута: № ГРУППЫ и ФИО КУРАТОРА (рис. 6.3).

№ зачетной

ФИО студента

Дата рож-

Место

ФИО кура-

книжки

 

дения

рождения

Группы

тора

1992412-11

Карасев А.А.

27.08.75

г. Чита

412-1

Самойлов

 

 

 

 

 

С.С.

1992432-11

Данилов О. В.

27.08.75

г. Алма-

432-1

Авдеев Р.М

 

 

 

Ата

 

 

1992432-12

Раевский А. И.

20.05.75

г. Бишкек

432-1

Авдеев Р.М

.

 

 

 

 

 

.

 

 

 

 

 

.

 

 

 

 

 

1992432-22

Глазов О.А

04.07.75

г. Киров

432-1

Авдеев Р.М

Рис. 6.3. Отношение, не удовлетворяющее третьей нормальной форме

63

Первичным ключом отношения СТУДЕНТЫ является атрибут № ЗАЧЕТНОЙ КНИЖКИ. Отношение находится во второй нормальной форме, поскольку отсутствуют зависимости атрибутов от части первичного ключа.

Функциональная зависимость № ЗАЧЕТНОЙ КНИЖКИ -> ФИО КУРАТОРА транзитивная, поскольку является следствием функциональных зависимостей № ЗАЧЕТНОЙ КНИЖКИ -> № ГРУППЫ и № ГРУППЫ -> ФИО КУРАТОРА. Другими словами, ФИО КУРАТОРА является характеристикой не студента, а группы, в которой он проходит обучение.

Легко заметить, что в рассматриваемом отношении существуют следующие аномалии включения и удаления. В результате выполнения операции включения мы не сможем занести в базу данных информацию о кураторе группы до тех пор, пока в этой группе не появится х о- тя бы один студент, поскольку первичный ключ не может содержать неопределенное значение, однако на практике еще до составления списков групп уже известны их кураторы. При удалении кортежа, описывающего последнего студента данной группы, мы рискуем потерять информацию о том, кто из преподавателей кафедры, на которой обучается студент, являлся куратором этой группы.

Чтобы корректно изменить ФИО куратора группы, необходимо последовательно изменить все кортежи, описывающие студентов этой группы, т.е. в отношении СТУДЕНТЫ, благодаря добавлению двух новых атрибутов, по-прежнему существуют аномалии. Их можно устранить путем дальнейшей нормализации отношения. Дадим определение третьей нормальной формы

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

Приведение отношения к 3НФ (нормализация по 3НФ) также заключается в декомпозиции этого отношения. Можно произвести декомпозицию отношения СТУДЕНТЫ в два отношения СПРАВОЧНИК СТУДЕНТОВ и ГРУППЫ. Результат нормализации представлен на (рис. 6.4).

64

СПРАВОЧНИК СТУДЕНТОВ

№ зачетной

 

ФИО студента

 

Дата рож-

Место

книжки

 

 

 

 

дения

рождения

Группы

1992412-11

 

Карасев А.А.

 

27.08.75

г. Чита

412-1

1992432-11

 

Данилов О. В.

 

27.08.75

г. Алма-Ата

432-1

1992432-12

 

Раевский А. И.

20.05.75

г. Бишкек

432-1

1992432-22

 

Глазов О.А

 

04.07.75

г. Киров

432-1

КУРАТОРЫ ГРУПП

 

 

 

№ Группы

 

ФИО куратора

 

 

412-1

 

 

Самойлов С.С.

 

 

432-1

 

 

 

Авдеев Р.М

 

 

Рис. 6.4. Результат декомпозиции отношения СТУДЕНТЫ

Первичным ключом отношения СПРАВОЧНИК СТУДЕНТОВ является атрибут № ЗАЧЕТНОЙ КНИЖКИ. В отношении имеют место следующие функциональные зависимости:

ЗАЧЕТНОЙ КНИЖКИ -> ФИО СТУДЕНТА;

ЗАЧЕТНОЙ КНИЖКИ -> ДАТА РОЖДЕНИЯ;

ЗАЧЕТНОЙ КНИЖКИ -> МЕСТО РОЖДЕНИЯ;

ЗАЧЕТНОЙ КНИЖКИ -> № ГРУППЫ.

Первичным ключом отношения КУРАТОРЫ ГРУПП является атрибут № ГРУППЫ. Для этого отношения характерна одна функциональная зависимость: № ГРУППЫ -> ФИО КУРАТОРА.

Результирующие отношения находятся в 3НФ и свободны от о т- меченных аномалий.

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

6.1.4. Нормальная форма Бойса-Кодда

Нормальная форма Бойса-Кодда (BCNF) является расширением 3НФ, вводит дополнительное ограничение по сравнению с 3НФ и является промежуточным звеном между 3НФ и 4НФ. Нормальную форму Бойса-Кодда принято также называть усиленной 3-й нормальной формой

Рассмотрим отношение УСПЕВАЕМОСТЬ ПО ДИСЦИПЛИНАМ, в котором представлена информация об успеваемости студентов,

65

обучающихся по индивидуальному плану, т.е. набор предметов для студентов одной группы отличается и зависит от студента (рис. 6.5):

УСПЕВАЕМОСТЬ ПО ДИСЦИПЛИНАМ

№ зачетной

ФИО студента

Код

Рейтинг

книжки

 

дисциплины

 

1992412-11

Карасев А.А.

1

100

1992412-11

Карасев А.А.

2

90

1992412-11

Карасев А.А.

3

98

1992432-22

Глазов О.А

1

111

1992432-22

Глазов О.А

4

122

.

 

 

 

1992432-12

Раевский А. И.

1

101

1992432-12

Раевский А. И.

2

120

1992432-12

Раевский А. И.

3

95

Рис. 6.5. Отношение, не удовлетворяющее BCNF

В данном отношении могут быть определены два первичных ключа, состоящие из следующих атрибутов:

PK1: № ЗАЧЕТНОЙ КНИЖКИ, КОД ДИСЦИПЛИНЫ PK2: ФИО СТУДЕНТА, КОД ДИСЦИПЛИНЫ

Тогда в отношении будут существовать следующие функциональные зависимости:

ЗАЧЕТНОЙ КНИЖКИ -> ФИО СТУДЕНТА;

ЗАЧЕТНОЙ КНИЖКИ -> КОД ДИСЦИПЛИНЫ; ФИО СТУДЕНТА -> КОД СТУДЕНТА; ФИО СТУДЕНТА -> КОД ДИСЦИПЛИНЫ;

ЗАЧЕТНОЙ КНИЖКИ, КОД ДИСЦИПЛИНЫ -> РЕЙТИНГ; ФИО СТУДЕНТА, КОД ДИСЦИПЛИНЫ -> РЕЙТИНГ. Ситуация, когда отношение будет находиться в 3NF, но не в

BCNF, возникает при условии, что отношение имеет несколько возможных первичных ключей, состоящих из нескольких атрибутов и имеющих общий атрибут. Для всех прочих отношений 3NF и BCNF эквивалентны.

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

Очевидно, что это требование не выполнено для нашего отношения. Можно произвести его декомпозицию к отношениям СТУДЕНТЫ и УСПЕВАЕМОСТЬ (рис. 6.6).