Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5. Основы проектирования.doc
Скачиваний:
6
Добавлен:
25.11.2018
Размер:
208.38 Кб
Скачать

5.2.2. Зависимости между полями реляционной таблицы

Классический метод исключения аномалий – уже знакомый нам метод нормальных форм. Этот метод основан на одном из фундаментальных понятий в теории баз данных – понятии зависимости между полями таблиц.

Различают три вида зависимостей:

  • функциональная зависимость,

  • транзитивная зависимость,

  • многозначная зависимость.

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

Поле (или группа полей) В функционально зависит от поля (или группы полей) А, если каждому значению А соответствует в точности одно значение В. Математически функциональная зависимость В от А обозначается записью АВ (А определяет В или В функционально зависит от А).

Это означает, что во всех записях с одинаковым значением поля А поле В будет иметь также одно и то же значение. Например, в таблице Преподаватели (рис. 5.4) можно выделить ряд функциональных зависимостей: ФИОКафедра, ФИОДолжность, ФИОРазряд и др.

ФИО

Должность

Разряд

Кафедра

Дисциплина

Группа

Вид занятий

Былина М.С.

доцент

11

ЛС

СУБД

МТ-81

Лекции

Дюбов А.С.

ст. преп

10

ЛС

СУБД

МТ-81

Лабораторные работы

Былина М.С.

доцент

11

ЛС

ФООНС

МТ-81

Лекции

Сергеев А.Н.

доцент

11

ЛС

ФООНС

МТ-81

Лабораторные работы

Патрик О.Г.

профессор

12

ЛС

ФООНС

М-92в

Лекции

Матюхин А.Ю.

доцент

11

МСП

МТС

МТ-92

Лекции

Кожин В.С.

доцент

11

МСП

МТС

МТ-92

Курсовой проект

Рис. 5.4. Таблица ПРЕПОДАВАТЕЛИ

Разновидностями функциональной зависимости являются:

  • функциональная взаимозависимость возникает, когда между полями А и В существует однозначной соответствие. В таблице Преподаватели функциональной взаимозависимостью связаны поля Должность и Разряд.

  • частичной функциональной зависимостью называют зависимость неключевого атрибута от части составного ключа. В таблице Преподаватели первичный ключ состоит из полей ФИО, Дисциплина и Группа. Поле Должность находится в функциональной зависимости от поля ФИО, являющегося частью составного ключа. Значит поле Должность находится в частичной функциональной зависимости от первичного ключа.

  • полной функциональной зависимостью называют зависимость неключевого атрибута от всех полей составного ключа. В таблице Преподаватели поле Вид занятий находится в полной функциональной зависимости от первичного ключа.

Поле С транзитивно зависит от поля А (существует транзитивная зависимость), если для полей А, В, С выполняются условия АВ и ВС, но обратная зависимость отсутствует. В таблице на рис. 5.4 транзитивной зависимостью связаны поля: ФИОДолжностьРазряд.

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

В моем примере один преподаватель может преподавать несколько дисциплин, а каждая дисциплина может преподаваться несколькими преподавателями, то есть между полями ФИО и Дисциплина имеется многозначная зависимость.

Два или более полей называются взаимно независимыми, если ни одно из этих полей не является функционально зависимым от других пулей.

Выявление зависимостей между полями в таблице необходимо для применения метода нормальных форм. Зависимости выявляются обычно путем внимательного анализа значений полей.

В теории баз данных сформулированы аксиомы выявления новых функциональных зависимостей из уже выявленных. Пусть A, B и C являются (в общем случае, составными) полями некоторой таблицы R. Множества значений полей A, B и C могут иметь непустое пересечение (для краткости будем обозначать через AB A UNION B):

  1. если BA, то AB (рефлексивность);

  2. если AB, то ACBC (пополнение);

  3. если AB и BC, то AC (транзитивность).

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

По практическим соображениям к этим трем аксиомам добавляют еще 5 аксиом, которые непосредственно следуют из этих трех:

  1. AA (самодетерминированность);

  2. если ABC, то AB и AC (декомпозиция);

  3. если AB и AC, то ABC (объединение);

  4. если AB и CD, то ACBD (композиция);

  5. если ABC и BD, то ABCD (накопление).