Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции к урокам 2007.doc
Скачиваний:
90
Добавлен:
23.12.2018
Размер:
3.44 Mб
Скачать

Типы функциональных зависимостей.

В качестве примера возьмем следующие отношение с составным ключом («Личный номер» и «Название предмета»)

Личный номер

Название

предмета

Кол-во

часов

Фамилия

Должность

Оклад

Кафедра

Телефон

201

Архитектура ЭВМ

36

Фролов

доцент

3800

ЭВМ

4-89

201

Сети

72

Фролов

доцент

3800

ЭВМ

4-89

202

Базы данных

48

Костин

доцент

3800

ЭВМ

4-89

301

Базы данных

48

Бойко

профессор

5200

АСУ

4-89

401

Физика

52

Глазов

ассистент

2700

ТЭФ

4-12

401

Оптика

30

Глазов

ассистент

2700

ТЭФ

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Бн

Финансы

Петров

Физика

Между преподавателем и группами студентов имеется связь типа «один – ко - многим»(1:М), поскольку преподаватель может читать лекции в одно и более группах, однако каждой группе соответствует один преподаватель:

Фамилия<1_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ м>Группа

Между преподавателем и предметом имеется связь типа «многие ко многим» (М:М), поскольку преподаватель может читать один и более предметов, и наоборот один предмет могут читать несколько преподавателей:

Фамилия<м_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ м>Предмет

В рассмотренном отношении существуют независимые многозначные зависимости. Фамилия →→Группа и Фамилия→→Предмет т.к. значения многозначных атрибутов «группа» и «предмет» никак не связаны между собой и возможно изменение их значений в любой строке отношения.