Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по курсу ИСиТ.docx
Скачиваний:
6
Добавлен:
07.02.2024
Размер:
1.07 Mб
Скачать

Определение фз

Атрибут (группа атрибутов) Y отношения r(R) функционально зависит от атрибута (группы атрибутов) X этого же отношения, если в любой момент времени каждому значению атрибута X соответствует не более одного значения атрибута Y.

Изображение ФЗ: XY

Отсутствие ФЗ: XY

Пример:

r

A

B

C

a1

b2

c3

a2

b3

c3

a1

b4

c3

a2

b5

c3

Определить ключ отношения. Ключом k отношения r(R), k  R является в том случае, если:

  1. k  R

  2. k’  k, k’  R

AA BB CC

A B BA CA

A C BC CB

ABA ACA BCA

ABB ACB BCB

ABC ACC BCC

ABCA ABCB ABCC

{B, AB, BC, ABC} – однозначность

{B} – отсутствие избыточности. Поэтому ключом отношения является атрибут B.

Итак, отношение находится в 1НФ, если оно состоит из простых атрибутов и в нем выделен ключ отношения.

Лекция №7 Нормализация отношений (продолжение)

Полная функциональная зависимость между X и Y: в отношении r(R), X и Y  R

  1. XY

  2. X’  X, X’  Y

Атрибут (группа атрибутов) Y отношения r(R) функционально полно зависит от атрибута (группы атрибутов) X того же отношения, если Y функционально зависит от X, но не зависит от любого подмножества X (X’).

Определение 2НФ:

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

Пример:

Деят.Пр. (про-ст, программа, #про-ста, #про-мы, кол_час)

A1 A2 A3 A4 A5

A1, A2, A3, A4 – первичные атрибуты, входящие в возможные ключи.

A5 - непервичный атрибут.

k1 = {A1, A2}

k1A5

A1A5

k2 = {A1, A4}

k2A5

A2A5

k3 = {A3, A4}

k3A5

A3A5

k4 = {A3, A2}

k4A5

A4A5

возможные ключи

Aikj

AiA5

Это отношение не соответствует 2НФ.

Пример2:

ПС (ШП, ШД, имя_пост, свед_о_пост, цена)

A1 A2 A3 A4 A5

k={ A1, A2}

1) kA3 2) A1  k

k A4 A1A3

k A5 A1A4

нет полной функциональной зависимости

ПС

ШП

ШД

Имя_пост

Св_о_п

Цена

П1

Д1

Ф

П

10

П1

Д2

Ф

П

15

П1

Д3

Ф

П

20

П2

Д1

Щ

К

25

П2

Д2

Щ

К

30

Приводим ко 2НФ:

ПОСТ (ШП, имя_пост, св_о_п)

ПИ (ШП, ШД, цена)

ПОСТ

ШП

Имя_пост

Св_о_п

П1

Ф

П

П2

Щ

К

ПИ

ШП

ШД

Цена

П1

Д1

10

П1

Д2

15

П1

Д3

20

П2

Д1

25

П2

Д2

30

С вязь ПИ Связь ПИ Объект П Объект ПОСТ

ПС

Недостатки отношения, которое не находится во 2НФ:

  1. Не можем иметь сведений о поставщике, если поставщик не начал еще поставлять деталей (аномалия добавления);

  2. Если поставщик прекратил поставку деталей, то исчезнут данные и о нем (аномалия удаления);

  3. Избыточность данных о поставщике, если он поставляет несколько деталей;

  4. При коррекции данных об одном поставщике нужно изменять все записи с этим поставщиком, что может привести к появлению противоречивости данных (аномалия обновления).

Можно утверждать, что для любого отношения, которое не находится во 2НФ, существует 2НФ.

Теорема Хита: Отношение r, которое определено на атрибутах A, B, C и в котором имеется ФЗ: AB, может быть представлено в виде двух отношений: r1(A, B)=AB(r) и r2(A,C)=AC(r). Причем, эта декомпозиция осуществляется без потерь, т.е.:

r(A, B, C)= r1(A, B)  r2(A,C).

Теорема Хита доказывает существование 2НФ любого отношения и дает алгоритм приведения ко 2НФ.

Алгоритм приведения ко 2НФ:

Дано: r(R), k  R, где k – атрибуты возможного ключа.

Если отношение не находится во 2НФ, то это означает, что:

  1.  A  k

  2.  B  R \ k

  3. A  B

Применим теорему Хита:

r(R) = AB(r)R\B(r)

здесь нет k здесь нет B

A B C

Пример: ПС (ШП, ШД, имя_пост, св_о_п, цена)

k A B

r1(A, B) = AB(ПС) = ПОСТ (ШП, имя_пост, св_о_п)

r2(R\B)=R\B(ПС) = ПИ (ШП, ШД, Цена)

k C

3НФ

Введем понятие транзитивной зависимости в отношении. Пусть в отношении r(R) атрибуты A  R и C  R, а также  такой B  R, для которого выполнены следующие условия:

  1. B A

  2. C  B

  3. A  B

  4. B  C

  5. B  A

тогда ФЗ A  C называется транзитивной зависимостью.

Определение 3НФ: отношение r задано в 3НФ, если оно находится во 2НФ и каждый непервичный атрибут нетранзитивно зависит от каждого возможного ключа.

Пример: Служ (#служ, имя, ЗП, #проекта, дата_оконч)

A B C

Отношение Служ. не находится в 3НФ.

Алгоритм приведения к 3НФ базируется на теореме Хита.

Дано: r(R), A, B, C  R. Нужно разорвать несмежные атрибуты A и C, т.е. выделить связь B  C.

В соответствии с теоремой Хита исходное отношение r(R) необходимо представить в виде двух проекций:

r1(B, C) = BC(r), здесь нет A

r2(R\C)=R\C(r), здесь нет C,

п ричем r = r1  r2 по атрибуту B. B C

Таким образом: r1 = ПРОЕКТ (#проекта, дата_оконч)

r2= СЛУЖ (#служ, имя, ЗП, #проекта) – 3НФ

A B

Пример:

Служ

#служ

Имя

ЗП

#проекта

Дата_оконч

100

A

300

30

1.12.95

101

B

400

30

1.12.95

102

C

400

30

1.12.95

103

D

500

25

1.12.95

104

E

400

25

1.12.95

r1

#проекта

Дата_оконч

30

1.12.95

25

1.12.95

r2

#служ

Имя

ЗП

#проекта

100

A

300

30

101

B

400

30

102

C

400

30

103

D

500

25

104

E

400

25

Недостатки отношения, которое не находится в 3НФ:

  1. Аномалия добавления: нельзя добавить данные о проекте, если служащие еще не набраны для данного проекта.

  2. Аномалия удаления: если служащие уволены с данного проекта, то исчезнут данные о проекте.

  3. Аномалия обновления: данные об одном проекте обновляются столько раз, сколько служащих работает по этому проекту, что может вызвать противоречивость данных.

4НФ

4НФ связана с понятием многозначной зависимости в отношениях.

Дано: r(R), X, Y  R, Z = R \ (X, Y). Обозначение:  - многозначная зависимость.

Определение:

X  Y, если при наличии кортежей t1 = <x1, y1, z1> и t2 = <x1, y2, z2> имеются кортежи t3 = <x1, y2, z1> и t4 = <x1, y1, z2> для x  dom(X), входящего в отношение.

Пример: Задано отношение в 3НФ:

Курс_лекций

Курс

Лектор

Учебник

Физика

Иванов

«Механика»

Физика

Иванов

«Оптика»

Физика

Петров

«Механика»

Физика

Петров

«Оптика»

Необходимо добавить новый учебник:

Физика

Иванов

«Кв.механ.»

Физика

Петров

«Кв.механ.»

В данном случае имеется многозначная зависимость:

Физика  Иванов, Петров и Физика  «Механика», «Оптика», «Квант.механика»

r = XY (r)  XZ (r)

Лектор

Курс

Лектор

Физика

Иванов

Физика

Петров

Учебник

Курс

Учебник

Физика

«Механика»

Физика

«Оптика»

Физика

«Кв.механ.»

4НФ – это нормализованное отношение, находящееся в 3НФ и имеющее одну многозначная зависимость (МЗ) X  Y и функциональную зависимость всех непервичных атрибутов от атрибута X (обычно 4НФ – это бинарное отношение). 4НФ связана с устранением МЗ в отношении путем получения тривиальных многозначных зависимостей: XY и XZ.

5НФ – получается путем устранения зависимости по соединению (ФЗ – это частный случай МЗ, а МЗ – это частный случай зависимости по соединению).

Общая характеристика шагов нормализации:

Ненорм. Отношение

1 шаг: устранение составных атрибутов и выделение ключа

1НФ

2 шаг: устранение неполной ФЗ (Теорема Хита)

2НФ

3 шаг: устранение транзитивных зависимостей

3НФ

4 шаг: устранение МЗ

4НФ

5 шаг: устранение зависимостей по соединению

5НФ

Нормализация отношений используется в рамках реляционного подхода к построению концептуальной модели предметной области (КМ ПО).

Соседние файлы в предмете Информатика