 
        
        - •Резниченко Валерий Анатольевич Организация баз данных и знаний
- •Лекция 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 | 
| 
 | 
 | 
 | ||
