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