Процесс нормализации и другие нормальные формы — различия между версиями
 (→Доменно-ключевая нормальная форма)  | 
				 (→Иерархия нормальных форм)  | 
				||
| Строка 1: | Строка 1: | ||
=== Иерархия нормальных форм ===  | === Иерархия нормальных форм ===  | ||
| − | *[[Нормальные_формы:_первая_и_вторая#Первая_нормальная_форма|1НФ]]  | + | *[[Нормальные_формы:_первая_и_вторая#Первая_нормальная_форма|1НФ]] - необходимо проверить отношение на наличие повторяющихся групп атрибутов и не атомарных атрибутов  | 
| − | *[[Нормальные_формы:_первая_и_вторая#Вторая_нормальная_форма|2НФ]]  | + | *[[Нормальные_формы:_первая_и_вторая#Вторая_нормальная_форма|2НФ]] - находим все функциональные зависимости, у которых левая часть является подключом и декомпозируем по ним   | 
*[[Нормальные формы:_третья_и_Бойса-Кодда#Третья_нормальная_форма|3 НФ]]  | *[[Нормальные формы:_третья_и_Бойса-Кодда#Третья_нормальная_форма|3 НФ]]  | ||
| − | *[[Нормальные формы:_третья_и_Бойса-Кодда#Третья_нормальная_форма|НФБК]]  | + | *[[Нормальные формы:_третья_и_Бойса-Кодда#Третья_нормальная_форма|НФБК]] - если все еще есть функциональные зависимости, у которых в левой части не надключ. При этом могут пропасть некоторые фунциональные зависимости. Лучшая нормальная форма, которую можем получить на базе ФЗ  | 
| − | *[[Многозначные_зависимости_и_четвертая_нормальная_форма|4НФ]]  | + | *[[Многозначные_зависимости_и_четвертая_нормальная_форма|4НФ]]- находим множественные зависимости. При наличии нетривиальных МЗ декомпозируем. Лучшая нормальная форма для декомпозиции на два отношения  | 
| − | *[[Зависимости_соединения_и_пятая_нормальная_форма#Пятая_нормальная_форма_(Проекционно-соединительная)| 5НФ]]  | + | *[[Зависимости_соединения_и_пятая_нормальная_форма#Пятая_нормальная_форма_(Проекционно-соединительная)| 5НФ]]- находим зависимости соединения. Если находим, то снова декомпозируем. Лучшая нормальная форма для декомпозиции  | 
| + | |||
=== Теоремы Дейта-Фейгина ===  | === Теоремы Дейта-Фейгина ===  | ||
Версия 16:22, 22 декабря 2021
Содержание
Иерархия нормальных форм
- 1НФ - необходимо проверить отношение на наличие повторяющихся групп атрибутов и не атомарных атрибутов
 - 2НФ - находим все функциональные зависимости, у которых левая часть является подключом и декомпозируем по ним
 - 3 НФ
 - НФБК - если все еще есть функциональные зависимости, у которых в левой части не надключ. При этом могут пропасть некоторые фунциональные зависимости. Лучшая нормальная форма, которую можем получить на базе ФЗ
 - 4НФ- находим множественные зависимости. При наличии нетривиальных МЗ декомпозируем. Лучшая нормальная форма для декомпозиции на два отношения
 - 5НФ- находим зависимости соединения. Если находим, то снова декомпозируем. Лучшая нормальная форма для декомпозиции
 
Теоремы Дейта-Фейгина
| Теорема: | 
Теорема Дейта-Фейгина 1. Если отношение находится в 3НФ и все ключи простые, то отношение находится в 5НФ.  | 
| Теорема: | 
Теорема Дейта-Фейгина 2. Если отношение находится в НФБК и существует простой ключ, то отношение находится в 4НФ.  | 
Процесс нормализации
- 1НФ
 - НФБК. Если приведение к НФБК разрушает полезные нам функциональные зависимости, то останавливаемся на 3НФ.
 - 4 НФ
 - 5 НФ, если находим нетривиальные зависимости соединения
 
Обычно при грамотном построении модели сущность-связь полученное отношение будет находиться как минимум в 3НФ.
Доменно-ключевая нормальная форма
| Определение: | 
| В доменно-ключевой нормальной форме все ограничения являются следствием ограничения доменов и ключей. Где ограничение домена – тип атрибута, ограничение ключа – множество атрибутов, являющихся ключом. | 
Формально, ДКНФ - это та форма, к которой хотим в итоге привести отношение, так как база данных умеет эффективно проверять ограничения ключей, а также ограничения доменов - что мы не можем записать значения несоответствующего типа атрибута.
| Теорема: | 
Доменно-ключевая нормальная форма является более строгой, чем пятая нормальная форма. (Фейгин)  | 
| Утверждение: | 
ДКНФ не достижима инкрементально.  | 
С одной стороны, именно эта нормальная форма используется на практике, так как нас интересует именно ограничение доменов и ключей, но мы пользуемся тем, что ситуации, когда отношение находится в 5НФ и не находится в ДКНФ, вырожденные, хотя и существуют в теории.