Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
71
Добавлен:
10.05.2015
Размер:
728.06 Кб
Скачать

3.7.1. Алгоритм satisfies.

Пусть задано отношение График(Пилот, Рейс, Дата, Время вылета)

Пилот

Рейс

Дата

Время вылета

1

1

2

2

2

3

3

4

4

4

83

116

281

301

83

83

116

281

281

412

9Августа

10 Августа

8 Августа

12 Августа

11 Августа

12 Августа

13 Августа

9 Августа

13 Августа

15 Августа

10:15

13:25

5:50

18:35

10:15

10:15

13:25

5:50

5:50

13:25

Куминг-1

Кларк-2

Чин-3

Коул-4

Для этого отношения иметься следующая семантика:

F={Рейс → Время вылета,

Пилот, Дата, Время вылета → Рейс,

Рейс, Дата → Пилот}

Имея это множество Fмы можем задаться вопросом о том, а существует ли зависимость, например, такого типа: Время вылета → Рейс или другие, более сложные зависимости.

Ответ на этот вопрос можно получить используя следующий алгоритм:

Пусть задано отношение RиF- зависимостьx→y.

1.Пересортируем отношение Rпоx- столбцам так, чтобы собрать кортежи с равнымиx- значениями вместе.

2.Если каждая совокупность кортежей с равными x-значениями имеет так же равныеy-значения, то существует зависимостьx→y. В противном случае нет.

Этот алгоритм можно применить к множеству Fфункциональных зависимостей, заданных семантикой отношения, а также к предполагаемым зависимостям.

Проверим зависимость: Рейс → Время вылета.

XY

Пилот

Рейс

Дата

Время вылета

1

2

3

9Августа

11 Августа

13 Августа

=

1

3

10 Августа

12 Августа

=

2

4

4

8 Августа

9 Августа

13 Августа

=

2

301

12 Августа

18:35

4

412

15 Августа

13:25

Вторая часть алгоритма выполняется, значит x→y.

Проверим зависимость: Время вылета → Рейс.

Пилот

Рейс

Дата

Время вылета

2

4

4

281

281

281

8Августа

9 Августа

13 Августа

5:50

5:50

5:50

1

2

3

83

83

83

9 Августа

11 Августа

13 Августа

10:15

10:15

10:15

1

3

4

10 Августа

12 Августа

15 Августа

13:25

13:25

13:25

2

301

12 Августа

18:35

Для времени 13:25 второе условие алгоритма не выполняется, следовательно зависимость Время вылета → Рейс не существует.

С помощью приведенного алгоритма можно получить полное множество функциональных зависимостей F+, соответствующих заданному отношению и его семантике, т.е.F≤F+

Пример получения F+ изF.

Дано: R(A,B,C) иF= {AB→C,C→B}

Множество F+будет состоять из следующих элементов:

F+= {A→AB→BC→C

AB→AAB→BAC→C

AC→ABC→BBC→C

ABC→AABC→BABC→C

AB→ABAC→ACBC→BCABC→ABC

ABC→ABABC→ACABC→BC

1ABC→C2C→BAC→B

AB→ACC→BCAC→AB}

AB→BC

AB→ABC

3.7.2. Правила вывода функциональных зависимостей.

Пусть U– универсально множество атрибутов, т.е. полный набор атрибутов отношенияR.

А1,…..,An– атрибуты отношенияR, тогда:U={A1,A2,…,An} схема отношенияR{A1,A2,A3,….,An}.

Задано множество функциональных зависимостей F={F1,F2,F3,…,Fk}.

Соседние файлы в папке Лекции по Базам данных - версия 9.01.10