Нормальная форма

Нормальная форма

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

Процесс преобразования отношений базы данных (БД) к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных.[1] Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации. Как отмечает К. Дейт,[2] общее назначение процесса нормализации заключается в следующем:

  • исключение некоторых типов избыточности;
  • устранение некоторых аномалий обновления;
  • разработка проекта базы данных, который является достаточно «качественным» представлением реального мира, интуитивно понятен и может служить хорошей основой для последующего расширения;
  • упрощение процедуры применения необходимых ограничений целостности.

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

Содержание

Роль нормализации в проектировании реляционных баз данных

При том, что идеи нормализации весьма полезны для проектирования баз данных, они отнюдь не являются универсальным или исчерпывающим средством повышения качества проекта БД. Это связано с тем, что существует слишком большое разнообразие возможных ошибок и недостатков в структуре БД, которые нормализацией не устраняются. Несмотря на эти рассуждения, теория нормализации является очень ценным достижением реляционной теории и практики, поскольку она даёт научно строгие и обоснованные критерии качества проекта БД и формальные методы для усовершенствования этого качества. Этим теория нормализации резко выделяется на фоне чисто эмпирических подходов к проектированию,[3] которые предлагаются в других моделях данных. Более того, можно утверждать, что во всей сфере информационных технологий практически отсутствуют методы оценки и улучшения проектных решений, сопоставимые с теорией нормализации реляционных баз данных по уровню формальной строгости.

Нормализацию иногда упрекают на том основании, что «это просто здравый смысл», а любой компетентный профессионал и сам «естественным образом» спроектирует полностью нормализованную БД без необходимости применять теорию зависимостей.[4] Однако, как указывает К. Дейт, нормализация в точности и является теми принципами здравого смысла, которыми руководствуется в своём сознании зрелый проектировщик, то есть принципы нормализации — это формализованный здравый смысл. Между тем, идентифицировать и формализовать принципы здравого смысла — весьма трудная задача, и успех в её решении является существенным достижением.[4]

Нормальные формы

В создании и развитии теории нормализации принимали участие многие учёные. Однако первые три нормальные формы и концепцию функциональной зависимости предложил Э. Кодд.[4]

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

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

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

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

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

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

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

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

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

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

Переменная отношения находится в четвёртой нормальной форме, если она находится в нормальной форме Бойса — Кодда и не содержит нетривиальных многозначных зависимостей.

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

Переменная отношения находится в пятой нормальной форме (иначе — в проекционно-соединительной нормальной форме) тогда и только тогда, когда каждая нетривиальная зависимость соединения в ней определяется потенциальным ключом (ключами) этого отношения.

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

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

Введена К. Дейтом в его книге,[2] как обобщение пятой нормальной формы для темпоральной базы данных.

Примечания

  1. В одних случая нормализация увеличивает производительность, в других — уменьшает; объём же базы данных при нормализации как правило уменьшается.
  2. 1 2 Дейт К. Дж. Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: Вильямс, 2005. — 1328 с. — ISBN 5-8459-0788-8 (рус.) 0-321-19784-4 (англ.)
  3. В виде различных советов, наблюдений и рекомендаций.
  4. 1 2 3 C. J. Date = Date on Database: Writings 2000–2006. — Apress, 2006. — 566 с. — ISBN 978-1-59059-746-0 (англ.), 1-59059-746-X (англ.)

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Полезное


Смотреть что такое "Нормальная форма" в других словарях:

  • нормальная форма — канонический вид — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия Синонимы канонический вид EN normal form …   Справочник технического переводчика

  • НОРМАЛЬНАЯ ФОРМА — 1) Н. ф. матрицы A матрица Nзаранее определенного специального вида, получаемая из Ас помощью преобразований определенного типа. В зависимости от рассматриваемого типа преобразований, от области K, к к рой принадлежат коэффициенты А , от вида Аи …   Математическая энциклопедия

  • нормальная форма — norminė forma statusas T sritis automatika atitikmenys: angl. normal form vok. Normalform, f rus. нормальная форма, f pranc. forme normale, f …   Automatikos terminų žodynas

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

  • Нормальная форма Бойса — Кодда — (англ. Boyce Codd normal form; сокращённо BCNF)  одна из возможных нормальных форм отношения в реляционной модели данных. Иногда нормальную форму Бойса Кодда называют усиленной третьей нормальной формой, поскольку она во всех отношениях… …   Википедия

  • Нормальная форма Бойса — Кодда (англ. Boyce Codd normal form; сокращённо BCNF)  одна из возможных нормальных форм отношения в реляционной модели данных. Иногда нормальную форму Бойса Кодда называют усиленной третьей нормальной формой, поскольку она во всех… …   Википедия

  • Нормальная форма Чибрарио — нормальная форма дифференциального уравнения, не разрешённого относительно производной, в окрестности простейшей особой точки. Название предложено В. И. Арнольдом в честь известного итальянского математика Марии Чибрарио, установившей эту… …   Википедия

  • Нормальная форма Пуанкаре — Дюлака — Связать? В теории динамических систем, нормальная форма Пуанкаре Дюлака (англ.)  формальная норм …   Википедия

  • Нормальная форма Пуанкаре-Дюлака — Нормальная форма Пуанкаре Дюлака …   Википедия

  • нормальная форма Бэкуса — Стандартный способ формального определения грамматики, элементов и атрибутов языка программирования, например XML. [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN Backus normal formBNF …   Справочник технического переводчика


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

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