Избыточные функциональные зависимости. Правила вывода
Если зависимость заключает информацию, которая может быть получена из других зависимостей, то такую зависимость называют избыточной зависимостью.
Правила вывода применяются к списку функциональных зависимостей с целью избавиться от избыточных зависимостей.
Набор функциональных зависимостей, получаемый из исходного набора функциональных зависимостей удалением всех избыточных функциональных зависимостей с помощью правила вывода называется минимальным покрытием.
Избыточные функциональные зависимости следует удалять из набора по одной, каждый раз заново анализируя полученный набор функциональных зависимостей на присутствие в нем избыточных зависимостей.
Транзитивная зависимость является избыточной (рис. 6.6).
Рис. 6.6 Правило 1.
Транзитивные зависимости можно удалять, но только по одной (рис. 6.7):
Рис. 6.7 Удаление транзитивных зависимостей.
Первоначальные функциональные зависимости: A→B, A→C, A→D, C→D, B→C , B→D. Находим транзитивную зависимость, например: А→D, и удаляем её. Затем снова анализируем ситуацию, и находим следующую избыточную функциональную зависимость (например: А→С), удаляем её и так далее до тех пор, пока все транзитивные зависимости не будут удалены. В итоге получим
R1 (C,D) C→D
R2 (B,C) B→C
R3 (A,B) A→B
Рис. 6.8 Отношения с удаленными транзитивными зависимостями.
а) Если существует А→ В, то зависимость A,Z→B – корректная, но избыточная.
б) Если существует А→В, то зависимость A,Z→B,Z – корректная, но избыточная.
a)
б)
Рис. 6.9 Правило 2.
Объединение функциональных зависимостей.
Если А→В и А→С, то А→В,С
a)
б)
Рис. 6.10 Правило 3: объединение функциональных зависимостей.