Вторая нормальная форма ( 2NF ), в нормализации базы данных , является нормальной формой . Отношение находится во второй нормальной форме, если оно удовлетворяет следующим двум требованиям:
Проще говоря, отношение (или таблица) находится во 2НФ, если:
Он находится в 1NF и имеет единственный атрибут — уникальный идентификатор (UID) (в этом случае каждый неключевой атрибут зависит от всего UID), или
Он находится в 1NF и имеет уникальный идентификатор с несколькими атрибутами, а каждый обычный атрибут (не являющийся частью UID) зависит от всех атрибутов в многоатрибутном UID, а не только от одного атрибута (или части) UID.
Если какие-либо регулярные (непервичные) атрибуты предсказуемы (зависимы) от другого (непервичного) атрибута, то это рассматривается в третьей нормальной форме .
История
Вторая нормальная форма была первоначально определена Э. Ф. Коддом в 1971 году. [1]
Разложение 1НФ во 2НФ
Чтобы сделать отношение 1NF отношением 2NF, удалите функционально зависимые атрибуты в частичных зависимостях отношения первой нормальной формы и поместите эти зависимые от частичной зависимости атрибуты в отношение, где их соответствующие атрибуты-определители являются целым потенциальным ключом.
Пример
Следующее соотношение не удовлетворяет 2НФ, потому что:
Существует многоатрибутный уникальный идентификатор/ключ-кандидат: «Производитель» и «Модель».
{Страна-производитель} функционально зависит (предсказуема) от {Производителя}.
{Производитель} — это собственное подмножество ключа-кандидата {Производитель, Модель}.
{Страна-производитель} не является частью потенциального ключа, поэтому это неосновной атрибут. (Предполагается, что два производителя в одной стране могут производить зубную щетку с одинаковым названием модели, поэтому {Страна-производитель, Модель} не является потенциальным ключом, даже если в текущей таблице эта пара однозначно идентифицирует строки.)
Другими словами, поскольку {Страна-производитель} является неосновным атрибутом, функционально зависящим от надлежащего подмножества потенциального ключа, отношение нарушает 2NF.
Модели электрических зубных щеток
Производитель
Модель
Страна производитель
Форте
X-Прайм
Италия
Форте
Ультрачистый
Италия
Дент-о-Фреш
EZbrush
США
Мастер кисти
СуперЩетка
США
Кобаяши
СТ-60
Япония
Хох
Зубной мастер
Германия
Хох
X-Прайм
Германия
Чтобы дизайн соответствовал 2NF, необходимо иметь два отношения. Для создания этих отношений:
Удалить функционально зависимые атрибуты в частичных зависимостях первой нормальной формы отношения. В этом примере {Страна производителя} является функционально зависимым атрибутом, который будет удален.
Поместите эти частично зависимые от зависимости атрибуты (например, {Страна производителя}) в отношение, где их соответствующие определяющие атрибуты являются потенциальным ключом (например, {Производитель}).
Как видно ниже, {Страна-производитель} удалена из исходной таблицы:
Модели электрических зубных щеток
Производитель
Модель
Форте
X-Прайм
Форте
Ультрачистый
Дент-о-Фреш
EZbrush
Мастер кисти
СуперЩетка
Кобаяши
СТ-60
Хох
Зубной мастер
Хох
X-Прайм
Как показано ниже, частичная зависимость помещается в новое отношение, в котором зависимость может существовать, не будучи частичной зависимостью:
Производители электрических зубных щеток
Производитель
Страна производитель
Форте
Италия
Дент-о-Фреш
США
Мастер кисти
США
Кобаяши
Япония
Хох
Германия
Теперь может возникнуть необходимость добавить числовой идентификатор к каждой строке таблицы «Модели электрических зубных щеток», чтобы гарантировать, что она останется в 1NF, или оставить таблицу как есть, что позволит использовать каждую уникальную комбинацию значений в каждой строке в качестве первичного ключа, тем самым позволяя использовать столбцы {Производитель, Модель} в этой таблице в качестве потенциального ключа таблицы.
^ Кодд, Э. Ф. «Дальнейшая нормализация реляционной модели базы данных». (Представлено на симпозиуме по компьютерным наукам Courant Computer Science Symposia Series 6, «Системы баз данных», Нью-Йорк, 24–25 мая 1971 г.) Отчет об исследованиях IBM RJ909 (31 августа 1971 г.). Переиздано в Randall J. Rustin (ред.), Системы баз данных: симпозиумы по компьютерным наукам Courant Computer Science Symposia Series 6. Prentice-Hall, 1972 г.
Дальнейшее чтение
Советы Литта: Нормализация
Дейт, К.Дж .; Лоренцос, Н.; Дарвен, Х. (2002). Временные данные и реляционная модель (1-е изд.). Морган Кауфманн. ISBN1-55860-855-9. Архивировано из оригинала 2012-12-09 . Получено 2006-08-16 .
Кент, В. (1983). «Простое руководство по пяти нормальным формам в теории реляционных баз данных». Сообщения ACM . 26 (2): 120– 125. doi : 10.1145/358024.358054 .
Внешние ссылки
Основы нормализации баз данных Майка Чаппла (About.com)
Введение в нормализацию баз данных Майка Хиллера.
Учебник по первым 3 нормальным формам от Фреда Коулсона
Описание основ нормализации базы данных от Microsoft