Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
197251_0AD1F_lekcii_po_discipline_informacionno...doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
5.04 Mб
Скачать

Лекция 8. Нормализация бд. Часть1 Понятие функциональной зависимости[2]

Создание баз данных преследует две основные цели [4, 14, 24]:

  • понизить избыточность хранимых данных;

  • повысить их надежность.

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

Один из способов формализации этих знаний – установление зависимостей между элементами данных. Известно два основных типа таких зависимостей:

1) функциональные зависимости;

2) многозначные зависимости.

Функциональная зависимость является обобщением понятия ключа.

В табл. 8.1 представлено отношение График (ПИЛОТ, РЕЙС, ДАТА, ВРЕМЯ-ВЫЛЕТА). Это отношение показывает, какой пилот участвует в данном рейсе в данный день и каково время вылета самолета. Не любое сочетание значений атрибутов ПИЛОТ, РЕЙС, ДАТА и ВРЕМЯ-ВЫЛЕТА допустимо в таком расписании. На табл. 8.1 накладываются следующие ограничения.

1. Для каждого рейса назначается только одно время вылета.

2. Для данного пилота, даты и времени вылета возможен только один рейс.

3. Для данного рейса и даты назначается только один пилот.

Эти ограничения являются примерами F-зависимостей (F-зависимость – функциональная зависимость между данными).

F-зависимость имеет место тогда, когда значения кортежа на одном множестве атрибутов единственным образом определяют эти значения на другом множестве атрибутов.

Таблица 8.1

График

ПИЛОТ

РЕЙС

ДАТА

ВРЕМЯ-ВЫЛЕТА

Мовчан

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

Указанные выше ограничения можно сформулировать следующим образом.

1. ВРЕМЯ функционально зависит от РЕЙСА.

2. РЕЙС функционально зависит от {ПИЛОТ, ДАТА, ВРЕМЯ}.

3. ПИЛОТ функционально зависит от {РЕЙС, ДАТА}.

Порядок в этих последовательностях могут менять и говорить, что РЕЙС, ДАТА функционально определяют ПИЛОТ, или символически:

Пусть rотношение со схемой R, X и Yподмножества R. Отношение r удовлетворяет функциональной зависимости XY, если

(8.1)

В F-зависимости Х → Y подмножество X называется левой частью, а Yправой частью.