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