Требования нормальных форм базы данных

Приветствую всех посетителей сайта Info-Comp.ru! В этом материале представлен общий перечень всех требований каждой нормальной формы базы данных.

Требования нормальных форм базы данных

Описание нормальных форм базы данных

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

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

Если Вас интересует более детальное описание нормальных форм с примерами, то вот список статей, которые я упоминал:

Требования нормальных форм базы данных

Ну а сейчас давайте кратко рассмотрим требования всех нормальных форм базы данных.

Ненормализованная форма или нулевая нормальная форма (UNF)

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

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

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

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

  • Таблица должна находиться в первой нормальной форме (1NF);
  • Таблица должна иметь первичный ключ;
  • Все неключевые столбцы таблицы должны зависеть от полного ключа (в случае если он составной)

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

  • Таблица должна находиться во второй нормальной форме (2NF);
  • В таблице должна отсутствовать транзитивная зависимость. Неключевые столбцы не должны зависеть от значений других неключевых столбцов.

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

  • Таблица должна находиться в третьей нормальной форме (3NF);
  • Ключевые атрибуты составного ключа не должны зависеть от неключевых атрибутов.

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

  • Таблица должна находиться в третьей нормальной форме (3NF) или в нормальной форме Бойса-Кодда (BCNF), если первичный ключ составной;
  • В таблицах должны отсутствовать нетривиальные многозначные зависимости.

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

  • Таблица должна находиться в четвертой нормальной форме (4NF);
  • В таблице каждая нетривиальная зависимость соединения должна определяться потенциальным ключом этой таблицы, т.е. таблица не должна содержать зависимости соединения (декомпозиция без потерь).

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

  • Таблица должна находиться в пятой нормальной форме (5NF);
  • Каждое наложенное ограничение на таблицу должно являться логическим следствием ограничений доменов и ограничений ключей.

Ограничение домена – это ограничение, предписывающее использование для определенного атрибута значений только из некоторого заданного домена (набора значений).

Ограничение ключа – это ограничение, утверждающее, что некоторый атрибут или комбинация атрибутов представляет собой потенциальный ключ.

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

  • Таблица должна находиться в пятой нормальной форме (5NF);
  • Таблица должна удовлетворять всем нетривиальным зависимостям соединения (декомпозиция до конца).

Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» это самоучитель по языку SQL для начинающих программистов. В ней язык SQL рассматривается как стандарт, чтобы после прочтения данной книги можно было работать с языком SQL в любой системе управления базами данных.

На сегодня это все, надеюсь, материал был Вам полезен, пока!

Понравилась статья? Поделиться с друзьями:
Заметки IT специалиста
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку «Отправить комментарий», я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.