103
содержат один потенциальный ключ. Это не всегда верно. Рас-
смотрим следующий пример отношения, содержащего два ключа.
Пример
. Пусть на факультете организованы в течение учеб-
ного года консультации для студентов по
различным дисципли-
нам. Пусть выполнены следующие условия:
1. Студент может консультироваться по нескольким дис-
циплинам.
2. Преподаватель-консультант
консультирует только по
одной дисциплине.
3. За каждой дисциплиной может быть закреплено несколько
консультантов.
4. По выбранной дисциплине студент может консультиро-
ваться только у одного преподавателя.
Пример представления данных о
консультациях приведен в
табл. 4.14.
Таблица 4.14
Отношение КОНСУЛЬТАЦИИ
студент
дисциплина
консультант
Иванов
мат_анализ
Г. В. Шабаршина
Петров
мат_анализ
В. А. Бондаренко
Петров
базы_данных
А. В. Зафиевский
Сидоров
мат_анализ
В. А. Бондаренко
Сидоров
базы_данных
А. В. Зафиевский
Выявим функциональные зависимости для отношения
КОНСУЛЬТАЦИИ:
1) {студент, дисциплина} → консультант.
2) {студент, консультант} → дисциплина.
3) консультант → дисциплина
.
В этом отношении
два потенциальных ключа
1
K
= {
студент,
дисциплина}
и
2
K
={
студент, консультант}
.
При этом у ключей
1
K
и
2
K
имеется общий атрибут –
студент
.
Отметим, что отношение
не содержит
неключевых
атрибутов, зависящих от части состав-
ного ключа (см. определение 2НФ). Действительно, от части ключа
2
K
зависит
атрибут дисциплина, но он сам является ключевым.
Таким образом, отношение формально находится в 2НФ. Кроме
того, в отношении нет зависимостей между неключевыми атрибу-
тами (
консультант входят в
1
K
, а
дисциплина – в
2
K
). Следова-
104
тельно, отношение
КОНСУЛЬТАЦИИ
находится в 3НФ. Тем не менее
при работе с этой таблицей возможны следующие аномалии:
Do'stlaringiz bilan baham: