
- •Резниченко Валерий Анатольевич Организация баз данных и знаний
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201
- •Лекция 8. Теория нормализации воскресенье 7 Июль, 201

Резниченко Валерий Анатольевич Организация баз данных и знаний
Лекция 8. Теория нормализации отношений реляционной модели
Национальный авиационный университет Факультет компьютерных наук
Кафедра инженерии программного обеспечения
воскресенье 7 Июль, 20 |
1 |
19 |
|

Лекция 8. Теория нормализации воскресенье 7 Июль, 201
9
СОДЕРЖАНИЕ
В чем суть теории нормализации РМ
Плохие проекты БД
Функциональные зависимости
Многозначные зависимости
Зависимости по соединению
Нормальные формы
Проектирование схемы реляционной модели данных
ФКН НАУ |
2 |

Лекция 8. Теория нормализации воскресенье 7 Июль, 201
9
В чем суть теории нормализации
Теория нормализации схем отношений реляционной модели данных – это теория, устанавливающая:
каким образом исходная схема отношений может быть преобразована в другую результирующую схему, которая
эквивалентна в некотором смысле исходной и
в каком-то смысле лучше ее.
Таким образом эта теория должна ответить на следующие вопросы:
какие существуют критерии эквивалентности схем отношений;
какие существуют критерии оценки качества схем отношений;
какие существуют механизмы эквивалентных преобразо- ваний схем отношений, дающие более качественные схемы.
ФКН НАУ |
3 |

Лекция 8. Теория нормализации |
|
воскресенье 7 Июль, 201 |
|||||||
|
|
|
Плохие проекты9 БД (1) |
|
|||||
|
|
|
|
|
|
|
|
||
Сведения о |
|
|
|
|
|
|
Сведения о 9 покупках |
||
покупателях |
|
|
|
|
|
|
|
|
|
НП |
ИМЯ |
ГОРОД … НТ1 |
ДАТА |
К- |
|
ДАТА |
К- |
ДАТА |
|
1 |
В НТ2 |
2 |
В … НТ9 |
9 К-ВО9 |
|||||
|
|
|
|
|
О1 |
|
|
О2 |
|
1 |
Иванов |
Киев |
1 |
21.01 |
20 |
2 |
23.01 |
17 |
|
2 |
Петров Одесса |
1 |
26.10 |
25 |
|
|
|
|
|
3 |
Попов |
Киев |
2 |
29.01 |
20 |
|
|
|
|
Установлен предел в 9 покупок, а что если их больше?
Если покупок меньше 9, то следует устанавливать значения NULL для остальных покупок! Что делать если необходимо удалить покупку в середине списка?
Как поступать в том случае, когда следует упорядочивать покупки одного покупателя.
Как должно выглядеть условие поиска покупателей, купивших
товар с номером 2?:
(НТ1 = 2) OR (НТ2 = 2) OR (НТ3 = 2) ... OR (НТ9 = 2)
ФКН НАУ |
4 |

Лекция 8. Теория нормализации |
воскресенье 7 Июль, 201 |
Плохие проекты9 БД (2)
ПОКУПАТЕЛИ-ПОКУПКИ НП |
ИМЯ |
ГОРОД … |
НТ |
ДАТА К-ВО |
|
1 |
Иванов |
Киев |
1 |
21.01 |
20 |
1 |
Иванов |
Киев |
2 |
23.01 |
17 |
2 |
Петров Одесса |
1 |
26.10 |
25 |
|
3 |
Попов |
Киев |
2 |
29.01 |
20 |
Аномалии вставки. Нельзя вставить одни данные в связи с тем, что не определены другие данные.
Аномалии обновления. Может возникнуть потеря целостности. в связи с избыточностью данных и их частичным обновлением.
Аномалии удаления. При удалении одних данных можно потерять другие данные.
Причина! Такая ситуация возможна, когда в одном отношении хранится информация о нескольких сущностях
ФКН НАУ |
5 |

Лекция 8. Теория нормализации воскресенье 7 Июль, 201
9
Нормализация
Нормализация – это пошаговый обратимый процесс эквивалентного преобразования одной схемы отношений в другую, которая обладает улучшенными характеристиками по сравнению с
предыдущей. Каждый из таких этапов преобразования называется
нормальной формой.
Виды нежелательных свойств отношений и нормальные формы, которые их устраняют:
Составные (неатомарные) данные |
- 1NF |
Неполная (частичная) функциональная зависимость |
- 2NF |
Транзитивная функциональная зависимость |
- 3NF |
Многозначная зависимость |
- 4NF |
Зависимость по соединению |
- 5NF |
ФКН НАУ |
6 |

|
Лекция 8. Теория нормализации |
воскресенье 7 Июль, 201 |
|||||||||||
|
|
|
|
|
9 |
|
|
|
|
|
|
|
|
|
Сложные домены и |
|
|
|
|
|
|
|
|||||
|
первая нормальная форма (1NF) |
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
СЛУЖАЩ НС |
ФАМИЛИ |
|
|
ДЕТИ |
|||||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
ИЙ |
|
Я |
|
ИМЯ ГОД |
|
|
|||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
1 |
Иванов |
Анна 1987 |
|
|
||||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
Петр 1979 |
|
|||||||
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
Юлия 1989 |
|
||||
|
|
|
|
|
2 |
Петров |
Анна 1991 |
|
|||||
Отношение находится в первой |
|
|
|
||||||||||
|
нормальной форме (1NF), если |
|
|
3 |
Попов |
Иван 1994 |
|
|
|||||
|
все его атрибуты построены на |
|
|
|
|
Егор 1991 |
|
||||||
|
атомарных (простых) доменах, |
|
|
|
|
|
|
|
|
|
|
|
|
|
и, следовательно, значения в |
|
|
СЛУ- НС |
ФАМИЛИ |
ДЕТИ |
НС ИМЯ |
ГОД |
|||||
|
ячейках таблицы являются |
|
|
|
Я |
||||||||
|
|
||||||||||||
|
простыми. |
|
|
ЖА- 1 |
Иванов |
|
1 |
Анна 1987 |
|||||
|
Отношение называется |
|
|
ЩИЙ 2 |
Петров |
|
1 |
Петр 1979 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нормализованным, если оно |
|
|
|
|
|
|
|
|
Юли |
|||
|
находится в 1NF |
|
|
3 |
Попов |
|
2 |
я 1989 |
|||||
|
|
|
|
|
|
|
|
2 |
Анна 1991 |
||||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
||||||
|
ФКН НАУ |
|
|
|
|
|
|
2 |
Иван 1994 7 |

R.A R.B r1 R r2 R (r1 [A] r2 [A] r1 [B] r2 [B]) |
|
Лекция 8. Теория нормализации |
воскресенье 7 Июль, 201 |
9
Функциональная зависимость
Пусть задано отношение R, которое содержит наборы атрибутов A и B. В отношении R B функционально зависит от A и А
функционально определяет В, тогда и только тогда, когда каждое значение проекции R[А] в любой момент времени связано точно с одним значением проекции R[В]. Эта ФЗ обозначается следующим
образом: R.А R.В. (или .А В). Набор атрибутов А называют детерминантом для набора атрибутов В.
Формальное определение функциональной зависимости (FD):
R.A R.B r1 R r2 R(r1 [A] r2 [A] r1 [B] r2 [B])
Наличие функциональной зависимости является свойством схемы, а не того или иного экземпляра отношения, и отражает семантику моделируемой предметной области.
ФКН НАУ |
8 |

Лекция 8. Теория нормализации |
воскресенье 7 Июль, 201 |
Ключи |
9 |
Набор К атрибутов отношения R называется суперключом
отношения R, если все атрибуты R функционально зависит от К.
Набор К атрибутов отношения R называется возможным ключом отношения R, если верно, что:
все атрибуты отношения R функционально зависит от К;
ни один атрибут из набора К не может быть удален без нарушения свойства (а).
Формальное определение возможного ключа. Пусть М – полный
набор атрибутов отношения R Подмножество атрибутов К отношения R является возможным ключом, если
А М R.K R.A
К' K B M R.K' R.B
Утверждение: Любое отношение имеет возможный ключ.
ФКН НАУ |
9 |

|
|
Лекция 8. Теория нормализации |
воскресенье 7 Июль, 201 |
|
|
|
|
|
9 |
|
|
Свойства функциональных зависимостей |
||
|
|
|
1)Транзитивность : |
|
|
|
|
если A B и B C, то A C. |
|
|
Свойства |
2) Проективность: |
|
|
|
если B A, то A B |
|
||
|
1), 2), 3) |
|
||
|
3) Аддитивность (объединение): |
|
||
|
составляют |
|
||
|
систему |
если A B и A C, то A (B,C) |
|
|
|
4)Рефлексивность: |
|
||
|
аксиом |
|
||
|
A A. |
|
||
|
Армстронга |
|
||
5)Псевдотранзитивность: |
|
|||
|
|
|
|
|
|
|
|
если А В и (В,С) D, то (A,C) D |
|
|
|
|
6) Продолжение: |
|
|
|
|
если А В, то (А, С) В |
|
|
|
|
для любого атрибута С. |
|
|
|
|
7) Пополнение: |
|
|
|
|
если А В, то (А, С) (В, С) |
|
|
|
|
для любого атрибута С. |
|
|
|
|
8)Декомпозиция: |
|
|
|
ФКН НАУ |
если А В и С В, то А С |
10 |
|
|
|