В качестве примера возьмем следующие отношение с составным ключом («Личный номер» и «Название предмета»)
Личный номер | Название предмета | Кол-во часов | Фамилия | Должность | Оклад | Кафедра | Телефон |
Архитектура ЭВМ | Фролов | доцент | ЭВМ | 4-89 | |||
Сети | Фролов | доцент | ЭВМ | 4-89 | |||
Базы данных | Костин | доцент | ЭВМ | 4-89 | |||
Базы данных | Бойко | профессор | АСУ | 4-89 | |||
Физика | Глазов | ассистент | ТЭФ | 4-12 | |||
Оптика | Глазов | ассистент | ТЭФ | 4-12 |
Введем понятие функциональной зависимости.
Пусть имеется два атрибута A и B. Если в любой момент времени каждому значению А соответствует не более чем одно значение B, то говорят, B функционально зависит от A. Это обозначается так: A→B.
Если отношение находится в 1НФ, то все не ключевые атрибуты функционально зависят от ключа, но степень зависимости может быть различной.
Если не ключевой атрибут зависит только от части ключа, то говорят о частичной зависимости. В нашем примере атрибут «количество часов» зависит от части ключа, т.е. от атрибута «название предмета»
|
|
Если не ключевой атрибут зависит от всего составного ключа и не находится в частичной зависимости от его частей, то можно говорить о полной функциональной зависимости от составного ключа. В нашем примере нет такого атрибутов, находящихся в такой зависимости.
Если для атрибутов A, B,C выполняются условия A→B и B→C, но обратная зависимость отсутствует, то С зависит от А транзитивно, т.е. можно говорить о транзитивной зависимости.
В нашем примере: Фамилия→ Кафедра→ Телефон
В отношениях между атрибутами может существовать еще один тип зависимости – многозначная зависимость. В отношении R атрибут B многозначно зависит от A(A→→B), если каждому значению A соответствует множество значений B, никак не связанных с другими атрибутами из R.
Многозначная зависимость возможна при наличии в отношении хотя бы трех атрибутов: ключа и не менее двух независимых друг от друга атрибутов.
Для иллюстрации рассмотрим отношение с ключом «Фамилия»
Фамилия | Группа | Предмет |
Иванов | 3АС | АИС |
Иванов | 3АС | Бух. Учет |
Иванов | 4Бн | Налоги |
Иванов | 4Бн | Финансы |
Петров | 5Ф | Физика |
Между преподавателем и группами студентов имеется связь типа «один – ко - многим»(1:М), поскольку преподаватель может читать лекции в одно и более группах, однако каждой группе соответствует один преподаватель:
Фамилия<1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ м>Группа
Между преподавателем и предметом имеется связь типа «многие ко многим» (М:М), поскольку преподаватель может читать один и более предметов, и наоборот один предмет могут читать несколько преподавателей:
|
|
Фамилия<м_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ м>Предмет
В рассмотренном отношении существуют независимые многозначные зависимости. Фамилия →→Группа и Фамилия→→Предмет т.к. значения многозначных атрибутов «группа»и «предмет» никак не связаны между собой и возможно изменение их значений в любой строке отношения.