Если связь бинарна, степени 1:1 и класс принадлежности обеих сущностей является обязательным, то требуется только одно отношение. В это отношение включаются все атрибуты обеих сущностей. Ключом данного отношения может быть ключ любой из двух сущностей.
Рассмотрим ситуацию, когда класс принадлежности одной из сущностей является необязательным:
Рис. 7.25 ER-диаграмма для бинарной связи ‘Преподаватель читает Курс’ степени 1:1 и
Класс принадлежности Преподаватель – обязательным, а Курс не обязательным
Таблица 7.2 Rуниверсальное отношение.
НП
Фам.
Тел.
НК
V
Если использовать единственное отношение, в нем могут появляться кортежи с пустыми полями (в том случае, если в реальной ситуации возникают курсы никем не читаемые). Это недопустимо.
П1
Иванов
32-22-11
К2
П2
Минин
33-98-76
К4
П3
Орлов
34-87-98
К1
-
-
-
К3
Попытаемся использовать для хранения информации два отношения. Первое отношение будет хранить информацию о сущности ПРЕПОДАВАТЕЛЬ, второе отношение будет хранить информацию о сущности КУРС. При этом к отношению ПРЕПОДАВАТЕЛЬ необходимо добавить еще одно поле, где будет храниться значение ключа сущности КУРС, т.е. номер курса читаемого данным преподавателем. Если мы попробуем добавить поле НП к таблице КУРС, то потерпим не удачу, так как пустые строчки не исчезнут. Данные отношения находятся в НФБК.
Преподаватель (НП, Фам, Тел., НК)
Курс (НК,V)
Таблица 7.3 R1
отношение “Преподаватель_НК”.
Таблица 7.4 R2
отношение “Курс”.
НП
Фам.
Тел.
НК
НК
V
П1
Иванов
32-22-11
К2
K1
П2
Минин
33-98-76
К4
K2
П3
Орлов
34-87-98
К1
K3
K4
Если связь бинарна, степени 1:1 и класс принадлежности одной сущности является обязательным, а другой необязательным, информацию необходимо хранить в двух отношениях. Под каждую сущность необходимо выделить одно отношение. Кроме того, к отношению, порожденному сущностью, класс принадлежности которой является обязательным, необходимо добавить один атрибут – являющийся ключом сущности, класс принадлежности которой является необязательным.При этом ключом каждого отношения будет ключ соответствующей сущности.
Рассмотрим ситуацию, когда классы принадлежности обеих сущностей являются необязательными:
Рис. 7.26 ER-диаграмма для бинарной связи ‘Преподаватель читает Курс’ степени 1:1 и классом
принадлежности обеих сущностей необязательным
Таблица 7.5 Rуниверсальное отношение.
Пустые поля возникают по двум причинам – из-за наличия курсов, никем не читаемых и из-за наличия ничего не читающих преподавателей. Отношение будет содержать аномалии Невозможно использование одного или двух отношений:
НП
Фам.
Тел.
НК
V
П1
Иванов
32-22-11
К2
П2
Минин
33-98-76
-
-
П3
Орлов
34-87-98
К4
П4
Петров
35-78-00
К1
-
-
-
К3
Таблица 7.6 R1
отношение “Преподаватель_НК”.
Таблица 7.7 R2
отношение “Курс_НП”.
НП
Фам.
Тел.
НК
НК
V
НП
П1
Иванов
32-22-11
К3
К1
П4
П2
Минин
33-98-76
-
К2
-
П3
Орлов
34-87-98
К4
К3
П1
П4
Петров
35-78-00
К1
К4
П3
В таб.7.6 и таб.7.7 также возникают пустые поля, если атрибут НК добавить к R1 возникнет пустое поле там, где преподаватель ни чего не читает. Если добавить атрибут НП к R2, возникнут пустые поля там, где присутствуют никем не читаемые курсы. Следовательно решение из двух отношений также неудовлетворительно. Попробуем использование трех отношений:
Таблица 7.8 R3
Таблица 7.9 R4
Таблица 7.10 R5
отношение “Преподаватель”.
отношение “Курс”.
отношение “Читает”.
НП
Фам.
Тел.
НК
V
НП
НК
П1
Иванов
32-22-11
К1
П1
К3
П2
Минин
33-98-76
К2
П3
К4
П3
Орлов
34-87-98
К3
П4
К1
П4
Петров
35-78-00
К4
Отношения Преподаватель (НП, Фам, Тел) и Курс (НК,V) находятся в НФБК. Отношение
Читает (НП, НК) содержит неповторяющиеся значения атрибутов НП и НК, и также не содержит пустых полей. В нем два детерминанта и два возможных ключа – следовательно отношение находится в НФБК.
Рис. 7.27 Диаграмма функциональных зависимостей R5, отношения ‘Читает’