Процесс разбиения отношения с целью уменьшения вероятности возникновения аномалий называется декомпозицией.
Ключевым для осуществления декомпозиции является понятие функциональных зависимостей между атрибутами в рассматриваемом отношении.
Функциональная зависимость (ФЗ) определяется следующим образом:
Если даны два атрибута А и В, то говорят, что В функционально зависит от А, если для каждого значения А существует ровно одно связанное с ним значение В (в любой момент времени). А и В могут быть составными, т.е. они могут представлять собой не единичные атрибуты, а группы, состоящие из двух и более атрибутов.
С практической точки зрения смысл данного определения состоит в том, что если В функционально зависит от А, то каждый из кортежей, имеющих одно и то же значение А, должен иметь также одно и то же значение В. Значение А и В могут изменяться время от времени, но при этом они должны изменяться так, чтобы каждое уникальное значение А имело только одно значение В, связанное с ним. ФЗ описываются с помощью нескольких различных способов, два из которых изображены на рис.9.
А -> В - математическая форма записи
- диаграмма или графическая форма записи
Рис.9. Два возможных способа записи того, что атрибут В функционально зависит от атрибута А.
При графической форме атрибуты могут помещаться в прямоугольник, круг, овал и т.д.
В конкретной ситуации ФЗ определяется путем детализации свойств всех атрибутов в отношении и заключения о том, как атрибуты соотносятся между собой. ФЗ не могут быть доказаны путем простого просмотра отдельного экземпляра отношения и нахождения двух атрибутов, имеющих те же значения в более чем одном кортеже. Это может служить ключом к тому, в каком направлении следует вести поиск ФЗ, но не доказательством. ФЗ необходимо получить исходя из базовых свойств самих атрибутов.
В качестве примера вновь обратимся к атрибутам в отношении УСПЕВАЕМОСТЬ (рис.7). И, в частности, к подробному объяснению того, как эти атрибуты связаны между собой. После изучения описаний атрибутов могут быть выведены ФЗ, приведенные на рис.10.
Сном -> Сфам
Сном -> Кном
Кном -> Тном
Тном -> Кном
Сном -> Тном
Сном, Дисциплина, Семестр -> Оценка
а)

б)
Рис.10. Различные способы представления ФЗ, существующих между атрибутами отношения УСПЕВАЕМОСТЬ
Соображение, приведшие к ФЗ, изображенным на рис.10 в деталях обсуждаются ниже.
1. Номера студентов являются уникальными. Каждому студенту назначается номер Сном, причем все номера различны. Таким образом, если известны Сном, то с ним связана только одна фамилия Сфам: Сном -> Сфам. Обратное не является верным, поскольку несколько студентов могут иметь одинаковые фамилии.
2. Каждый студент прикреплен к одной комнате общежития, но в одной комнате может проживать более чем один студент. Таким образом, Сном -> Кном является верным, а Кном -> Сном - нет.
3. Поскольку в каждой комнате только один телефон и каждый телефон, в свою очередь, имеет уникальный номер, получаем Кном -> Тном и Тном -> Кном. Данная ситуация обычно обозначается в виде Кном <--> Тном, и говорят, что Сном и Тном взаимозависимы.
4. Поскольку в каждой комнате только один телефон и этот телефон имеет уникальный номер, следовательно только один телефонный номер может быть связан с данным студентом, или иначе Сном -> Тном.
5. Последняя ФЗ представляет собой пример сложного набора атрибутов, входящих в ФЗ. Зависимость Сном, Дисциплина, Семестр -> Оценка означает, что оценка однозначно определяется только в том случае, если известен Сном студента, изучающего данную Дисциплину в данном семестре. (Необходимо помнить, что студент может пересдать данную дисциплину и получить при этом другую оценку).






