Нормализация БД

Нормализация БД

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

Содержание

Нормализация баз данных

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

Происхождение и назначение нормальных форм

Понятие нормальной формы было введено Эдгаром Коддом при создании реляционной модели БД. Основное назначение нормальных форм — приведение структуры базы данных к виду, обеспечивающему минимальную избыточность. Устранение избыточности производится за счёт декомпозиции отношений (таблиц) таким образом, чтобы в каждом отношении хранились только первичные факты (то есть факты, не выводимые из других хранимых фактов). Таким образом, нормализация не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение объёма БД. Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в БД информации.

Типы нормальных форм

Нормализация может применяться к таблице, которая представляет собой правильное отношение.

Первая нормальная форма (1NF)

Основная статья: Первая нормальная форма

Таблица находится в первой нормальной форме, если каждый её атрибут атомарен. Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение. Таким образом, не существует 1NF таблицы, в полях которых могут храниться списки значений. Для приведения таблицы к 1NF обычно требуется разбить таблицу на несколько отдельных таблиц.

Замечание: в реляционной модели отношение всегда находится в 1 (или более высокой) нормальной форме в том смысле, что иные отношения не рассматриваются в реляционной модели. То есть само определение понятия отношение заведомо подразумевает наличие 1NF.

Вторая нормальная форма (2NF)

Основная статья: Вторая нормальная форма

Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа. Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного составного ключа, но при этом не находится в функциональной зависимости от какой-либо из входящих в него атрибутов(частей). Или другими словами: в 2NF нет неключевых атрибутов, зависящих от части составного ключа (+ выполняются условия 1NF).

Третья нормальная форма (3NF)

Основная статья: Третья нормальная форма

Таблица находится в третьей нормальной форме (3NF), если она находится во второй нормальной форме 2NF и при этом любой ее неключевой атрибут зависит только от первичного ключа (Primary key, PK) (иначе говоря, один факт хранится в одном месте).

Таким образом, отношение находится в 3NF тогда и только тогда, когда оно находится во 2NF и отсутствуют транзитивные зависимости неключевых атрибутов от ключевых. Транзитивной зависимостью неключевых атрибутов от ключевых называется следующая: A → B и B → C, где A - набор ключевых атрибутов (ключ), B и С - различные множества неключевых атрибутов.

При решении практических задач в большинстве случаев третья нормальная форма является достаточной. Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.

Нормальная форма Бойса — Кодда (BCNF)

Это модификация третьей нормальной формы (в некоторых источниках именно 3NF называется формой Бойса — Кодда).

Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, ещё по крайней мере один возможный ключ. Все зависимые от первичного ключа атрибуты должны быть потенциальными ключами отношения. Если это условие не выполняется, для них создаётся отдельное отношение. Чтобы сущность соответствовала BCNF, она должна находиться в третьей нормальной форме. Любая сущность с единственным возможным ключом, соответствующая требованиям третьей нормальной формы, автоматически находится в BCNF.

Четвёртая нормальная форма (4NF)

Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y. То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.

Пятая нормальная форма (5NF)

Основная статья: Пятая нормальная форма

Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной. Пятая нормальная форма в большей степени является теоретическим исследованием и практически не применяется при реальном проектировании баз данных. Это связано со сложностью определения самого наличия зависимостей «проекции — соединения», поскольку утверждение о наличии такой зависимости должно быть сделано для всех возможных состояний БД.

Доменно-ключевая нормальная форма (DKNF)

Отношение в ДКНФ не имеет аномалий модификации. Другими словами, что бы ни менялось — ничего не потеряется, если соблюдены все ограничения относительно ключей и доменов. Формулировка слишком общая, но суть ее заключается в том, что если выполнять некоторые правила, то при любых действиях с таблицей ее целостность не пострадает и вся необходимая информация сохранится. Если рассматривать на примере, то правила действуют примерно так: нельзя просто удалить категорию из таблицы категорий, если с этой категорией связаны, например, продукты из таблицы продуктов. Прежде чем удалять категорию, необходимо выполнить предварительные действия в таблице продуктов (например, поле отвечающее за id категории этого товара нужно сделать

Шестая нормальная форма (6NF)

Основная статья: Шестая нормальная форма

Таблица находится в 6NF, если она находится в 5NF и удовлетворяет требованию отсутствия нетривиальных зависимостей. Зачастую 6NF отождествляют с DKNF.

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Нормализация БД" в других словарях:

  • Нормализация — У этого термина существуют и другие значения, см. Нормализация (значения). Нормализация (в звукозаписи)  это процесс выравнивания частотных характеристик при студийной звукозаписи на магнитный носитель. Коррекция необходима, поскольку… …   Википедия

  • нормализация — стандартизация; упорядочение, утрясание, улаживание, налаживание Словарь русских синонимов. нормализация см. налаживание Словарь синонимов русского языка. Практический справочник. М.: Русский язык. З. Е. Алекса …   Словарь синонимов

  • НОРМАЛИЗАЦИЯ — (франц. normalisation упорядочение от normal правильный, положенный), вид термической обработки стали, заключающийся в нагреве (выше верхней критической точки), выдержке и охлаждении на воздухе. Цель придание металлу однородной мелкозернистой… …   Большой Энциклопедический словарь

  • Нормализация — определение доходов и расходов, характерных для нормально действующего бизнеса; исключает единовременные доходы и расходы, превышающие среднеотраслевые значения …   Словарь терминов антикризисного управления

  • НОРМАЛИЗАЦИЯ — НОРМАЛИЗАЦИЯ, нормализации, мн. нет, жен. (книжн.). Действие по гл. нормализовать. Толковый словарь Ушакова. Д.Н. Ушаков. 1935 1940 …   Толковый словарь Ушакова

  • нормализация — НОРМАЛИЗОВАТЬ, зую, зуешь; ованный; сов. и несов., что. Подчинить ( нять) норме. Н. орфографию. Н. отношения. Толковый словарь Ожегова. С.И. Ожегов, Н.Ю. Шведова. 1949 1992 …   Толковый словарь Ожегова

  • НОРМАЛИЗАЦИЯ — (от лат. norma упорядоченный, правильный, урегулированный) англ. normalization; нем. Normalisierung. 1. Установление нормы, образца. 2. Приведение в нормальное состояние, в соответствие с принятой нормой; урегулирование. 3. В статистике… …   Энциклопедия социологии

  • нормализация — и, ж. normalisation f. 1. Упорядочение, приведение в норму. Ож. 1936. Беру любой газетный лист и читаю: в целях нормализации партстроительства комячейка призывает к интенсификации партработы. 1922. Горнфельд Новые словечки 4. Торможение процессов …   Исторический словарь галлицизмов русского языка

  • нормализация — 1. Установление нормы, образца. 2. Урегулирование, приведение к норме, нормальному состоянию. 3. То же, что стандартизация. Словарь практического психолога. М.: АСТ, Харвест. С. Ю. Головин. 1998 …   Большая психологическая энциклопедия

  • нормализация — Метод группирования данных, позволяющий не хранить повторяющиеся группы данных и избежать их избыточности. [http://www.morepc.ru/dict/] Тематики информационные технологии в целом EN normalisation …   Справочник технического переводчика

  • НОРМАЛИЗАЦИЯ — вид термической обработки стали, заключающийся в нагревании до закалочных температур с последующим охлаждением на воздухе. Н. приводит к получению мелкозернистой стали с однородной структурой, повышению прочности, пластичности и ударной вязкости …   Большая политехническая энциклопедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»