Skip to content

Первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ). Преимущества 2НФ перед 1НФ. Преимущества 3НФ перед 2НФ. Определение нормальной формы Бойса-Кодда (БКНФ). Отличие 3НФ от БКНФ.

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

Таблица соответствует реляционной модели данных и соблюдает следующие реляционные принципы:

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

Декомпозиция — это процесс разбиения одного сложного отношения на несколько простых с сохранением смысла.

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

Таблица находится в первой нормальной форме и соблюдает следующие реляционные принципы:

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

Ключ — это столбец или набор столбцов таблицы по которым можно гарантированно идентифицировать каждую строку таблицы.

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

Таблица находится во второй нормальной форме и в ней отсутствуют транзитивные зависимости.

Транзитивная зависимость — это зависимость одних неключевых столбцов от других неключевых столбцов.

Транзитивная функциональная зависимость выражается следующим образом: А → В и В → С. То есть атрибут С транзитивно зависит от атрибута А, если атрибут С зависит от атрибута В, а атрибут В зависит от атрибута А.

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

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

Требования нормальной формы Бойса-Кодда актуальны только для таблиц с составными ключами.