WikiSort.ru - Программирование

ПОИСК ПО САЙТУ | о проекте

Вторая нормальная форма (англ. Second normal form; сокращённо 2NF) — одна из возможных нормальных форм отношения в реляционной базе данных.

Определение

Переменная отношения находится во второй нормальной форме тогда и только тогда, когда она находится в первой нормальной форме и каждый неключевой атрибут неприводимо зависит от (каждого) её потенциального ключа[1].

Неприводимость означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, от которого можно также вывести данную функциональную зависимость[1]. Для неприводимой функциональной зависимости часто используется эквивалентное понятие «полная функциональная зависимость»[1].

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

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

Пример

Пример приведения отношения ко второй нормальной форме

Пусть в следующем отношении первичный ключ образует пара атрибутов {Филиал компании, Должность}:

R
Филиал компании Должность Зарплата Наличие компьютера
Филиал в Томске Уборщик 20000 Нет
Филиал в Москве Программист 40000 Есть
Филиал в Томске Программист 25000 Есть

Допустим, что зарплата зависит от филиала и должности, а наличие компьютера зависит только от должности.

Существует функциональная зависимость ДолжностьНаличие компьютера, в которой левая часть (детерминант) является лишь частью первичного ключа, что нарушает условие второй нормальной формы.

Для приведения к 2NF исходное отношение следует декомпозировать на два отношения:

R1
Филиал компании Должность Зарплата
Филиал в Томске Уборщик 20000
Филиал в Томске Программист 25000
Филиал в Москве Программист 40000
R2
Должность Наличие компьютера
Уборщик Нет
Программист Есть

См. также

Примечания

Литература

На русском языке

Переводная

На английском языке

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии