Первая нормальная форма (1НФ), вторая нормальная форма (2НФ), третья нормальная форма (3НФ). Преимущества 2НФ перед 1НФ. Преимущества 3НФ перед 2НФ. Определение нормальной формы Бойса-Кодда (БКНФ). Отличие 3НФ от БКНФ.
Первая нормальная форма (1NF):
Таблица соответствует реляционной модели данных и соблюдает следующие реляционные принципы:
- В таблице не должно быть дублирующих строк;
- В каждой ячейке таблицы должно хранится атомарное значение;
- В столбце должны храниться данные одного типа;
- Должны отсутствовать массивы и списки в любом виде.
Декомпозиция — это процесс разбиения одного сложного отношения на несколько простых с сохранением смысла.
Вторая нормальная форма (2NF):
Таблица находится в первой нормальной форме и соблюдает следующие реляционные принципы:
- Таблица должна иметь ключ;
- Все неключевые столбцы должны зависеть от полного ключа (в случае, если ключ составной).
Ключ — это столбец или набор столбцов таблицы по которым можно гарантированно идентифицировать каждую строку таблицы.
Третья нормальная форма (3NF):
Таблица находится во второй нормальной форме и в ней отсутствуют транзитивные зависимости.
Транзитивная зависимость — это зависимость одних неключевых столбцов от других неключевых столбцов.
Транзитивная функциональная зависимость выражается следующим образом: А → В и В → С. То есть атрибут С транзитивно зависит от атрибута А, если атрибут С зависит от атрибута В, а атрибут В зависит от атрибута А.
Нормальная форма Бойса-Кодда (BCNF):
Таблица находится в третьей нормальной форме и ключевые атрибуты составного ключа не зависят от неключевых атрибутов.
Требования нормальной формы Бойса-Кодда актуальны только для таблиц с составными ключами.