4. Третья нормальная форма (3NF)
4. Третья нормальная форма (3NF)
Следующей нормальной формой, которую мы подвергнем рассмотрению, является третья нормальная форма (или 3NF). В отличие от первой нормальной формы, так же как и вторая нормальная форма, третья – подразумевает задание вместе с отношением системы функциональных зависимостей. Сформулируем, какими свойствами должно обладать отношение, чтобы оно было приведенным к третьей нормальной форме.
Определение. Базовое отношение находится в третьей нормальной форме относительно заданного множества функциональных зависимостей тогда и только тогда, когда оно находится во второй нормальной форме и каждый неключевой атрибут полностью функционально зависит только от ключей.
Таким образом, требования, предъявляемые третьей нормальной формой, сильнее требований, накладываемых первой и второй нормальной формой, даже вместе взятых. Фактически в третьей нормальной форме каждый неключевой атрибут зависит от ключа, причем от всего ключа целиком и ни от чего другого, кроме как от ключа.
Проиллюстрируем процесс приведения ненормализованного отношения к третьей нормальной форме. Для этого рассмотрим пример: отношение, находящееся не в третьей нормальной форме.
Итак, вариант 1 схемы отношения «Сотрудники»:
Сотрудники (№ табельный, Фамилия, Имя, Отчество, Код должности, Оклад);
Primary key (№ табельный);
Кроме того, над данным отношением «Сотрудники» задана следующая система функциональных зависимостей:
{Код должности} ? {Оклад};
Действительно, как правило, от должности, а следовательно, от ее кода в соответствующей базе данных напрямую зависит размер оклада, т. е. размер заработной платы.
Именно поэтому это отношение «Сотрудники» и не находится в третьей нормальной форме, ведь получается, что неключевой атрибут «Оклад» полностью функционально зависит от атрибута «Код должности», хотя этот атрибут и не является ключевым.
Любопытно, что к третьей нормальной форме любое отношение приводится точно таким же методом, как и к двум формам до этой, а именно, путем декомпозиции.
Проведя декомпозицию отношения «Сотрудники», получим следующую систему новых самостоятельных отношений:
Итак, вариант 2 схемы отношения «Сотрудники»:
Должности (Код должности, Оклад);
Primary key (Код должности);
Сотрудники (№ табельный, Фамилия, Имя, Отчество, Код должности);
Primary key (Код должности);
Foreign key (Код должности) references Должности (Код должности);
Теперь, как мы видим, в отношении «Должности» неключевой атрибут «Оклад» полностью функционально зависит от простого первичного ключа «Код должности» и только от этого ключа.
Заметим, что в отношении «Сотрудники» все четыре неключевых атрибута «Фамилия», «Имя», «Отчество» и «Код должности» полностью функционально зависят от простого первичного ключа «№ табельный». В этом отношении атрибут «Код должности» – внешний ключ, ссылающийся на первичный ключ отношения «Должности».
В данном примере все требования навязаны объявлением простых первичных и внешних ключей, поэтому дальнейшая нормализация не требуется.
Интересно и полезно знать, что на практике обычно ограничиваются приведением баз данных к третьей нормальной форме. При этом, возможно, не навязанными остаются некоторые функциональные зависимости ключевых атрибуты от других атрибутов этого же отношения.
Поддержка таких нестандартных функциональных зависимостей реализуется при помощи уже упоминаемых ранее триггеров (т. е. процедурно, путем написания соответствующего программного кода). Причем триггеры должны оперировать кортежами этого отношения.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
ЧАСТЬ ТРЕТЬЯ Примеры приложений
ЧАСТЬ ТРЕТЬЯ Примеры приложений Чтобы построить теорию, необходимо как следует знать основные феномены изучаемой области. Что касается теории вычислений, то мы не знаем этого предмета настолько, чтобы изложить его на высоком уровне абстракции. Напротив, нам следует
2. Первая нормальная форма (1NF)
2. Первая нормальная форма (1NF) На ранних стадиях проектирования баз данных и разработки схем их управления использовались простые и однозначные атрибуты как наиболее продуктивные и рациональные единицы кода. Тогда применяли наряду с простыми и составные атрибуты, а
3. Вторая нормальная форма (2NF)
3. Вторая нормальная форма (2NF) Более сильные требования накладывает на отношения вторая нормальная форма, или 2NF.Это происходит потому, что определение второй нормальной формы отношений предполагает, в отличие от первой нормальной формы, наличие системы ограничений
5. Нормальная форма Бойса – Кодда (NFBC)
5. Нормальная форма Бойса – Кодда (NFBC) Нормальная форма Бойса – Кодда следует по «сложности» сразу после третьей нормальной формы. Поэтому нормальную форму Бойса – Кодда еще иногда называют просто усиленной третьей нормальной формой (или усиленной 3 NF). Почему же она
Проблема третья – неоднозначность
Проблема третья – неоднозначность Графологи не могут сойтись на определенном наборе признаков почерка. Каждый графолог или каждая школа, так или иначе, формирует свой набор. Интерпретируют они признаки тоже отчасти по-разному. Разные мнения и направления существуют во
9. Форма
9. Форма Признаки слева направо (рис. 189): Рис. 189• форма почерка угловатая;• форма почерка округлая;• форма почерка школьная;• форма почерка с печатными буквами;• форма почерка каллиграфическая;• форма почерка
Часть Третья
Часть Третья Сегодня у нас такое множество программ, что придется скомкать увертюрное культур-повидло до неприличного шматка эмоций. С ужасом обнаружил в Рунете сайт «По-русски о Ричарде Бахе»: «Мы, Дмитрий и Наталья Голубицкие, по мере наших возможностей будем знакомить
Третья фаза: Неавторизованный доступ
Третья фаза: Неавторизованный доступ Возвращаясь в свой офис, я размышляла над тем, как получить доступ к системам компьютерного зала. Оказавшись в офисе, я вошла в систему. Посмотрев на сетевую схему, я попыталась найти систему, в которой бы содержалась пикантная
Глава третья
Глава третья Получив положительный ответ, за ужином я объявил о принятом решении. Мы с Костей шустро собрались и отправились в Кемерово. Дорога не близкая: сначала пешком, после на лошадях до охотничьего домика, где нас ждал «Патриот». В охотничьем домике было пусто,
АНАЛИЗЫ: Третья Азия
АНАЛИЗЫ: Третья Азия Автор: Леонид Левкович-МаслюкГлавной темой IBM’овской конференции Lotusphere 2008 (Орландо, Флорида, 21–24 января) было сотрудничество: как его сформатировать и запрограммировать?"Азия-3"Lotusphere - не только ежегодная (уже пятнадцатая) мегаконференция, но еще и
Третья пошла! Присматриваемся к DDR3
Третья пошла! Присматриваемся к DDR3 Автор: Васечкин,ВалерийНовый тип памяти существует уже без малого год, если не считать долгую стадию разработки. Сначала в виде первых демонстрационных модулей, затем - как имиджевый аксессуар топовых материнских плат. Срок для