Создание баз данных преследует две основные цели [2, 10, 17]:
– понизить избыточность хранимых данных;
– повысить их надежность.
Любое априорное знание о различного рода ограничениях, накладываемых на совокупности данных, может принести большую пользу для достижения указанных целей.
Один из способов формализации этих знаний – установление зависимостей между элементами данных. Известно два основных типа таких зависимостей:
1) функциональные зависимости;
2) многозначные зависимости.
Функциональная зависимость является обобщением понятия ключа.
В табл. 2.7 представлено отношение График (ПИЛОТ, РЕЙС, ДАТА, ВРЕМЯ-ВЫЛЕТА). Это отношение показывает, какой пилот участвует в данном рейсе в данный день и каково время вылета самолета. Не любое сочетание значений атрибутов ПИЛОТ, РЕЙС, ДАТА и ВРЕМЯ-ВЫЛЕТА допустимо в таком расписании.
Таблица 2.7
| График | ПИЛОТ | РЕЙС | ДАТА | ВРЕМЯ-ВЫЛЕТА | |||||
| Мовчан | 83 | 9 августа | 10:15 | ||||||
| Мовчан | 116 | 10 августа | 13:25 | ||||||
| Синицын | 281 | 8 августа | 05:50 | ||||||
| Синицын | 301 | 12 августа | 18:35 | ||||||
| Синицын | 83 | 11 августа | 10:15 | ||||||
| Федотов | 83 | 13 августа | 10:15 | ||||||
| Федотов | 116 | 12 августа | 13:25 | ||||||
| Вишневский | 281 | 9 августа | 05:50 | ||||||
| Вишневский | 281 | 13 августа | 05:50 | ||||||
| Вишневский | 412 | 15 августа | 13:25 |
На табл. 2.7 накладываются следующие ограничения.
1. Для каждого рейса назначается только одно время вылета.
2. Для данного пилота, даты и времени вылета возможен только один рейс.
3. Для данного рейса и даты назначается только один пилот.
Эти ограничения являются примерами F-зависимостей (F-зависимость – функциональная зависимость между данными).
F-зависимость имеет место тогда, когда значения кортежа на одном множестве атрибутов единственным образом определяют эти значения на другом множестве атрибутов.
Указанные выше ограничения можно сформулировать следующим образом.














