|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4.5 Третья нормальная формаНормализация: третья нормальная форма, устранение зависимостей между неключевыми атрибутами Формальное определение: Схема отношения находится в третьей нормальной форме относительно множества функциональных зависимостей F, если она находится в первой нормальной форме и ни один из непервичных атрибутов в R не является транзитивно зависимым от ключа для R. Переводя на человеческий язык: чтобы привести отношение к третьей нормальной форме, необходимо устранить функциональные зависимости между неключевыми атрибутами отношения. То есть данные, хранимые в таблице, должны зависеть только от ключа. В нашем случае присутствует функциональная зависимость между атрибутами "Ф.И.О", "Должность" и "Телефон". Чтобы от нее избавиться, можно разбить нашу таблицу на две. Первая таблица будет хранить данные, относящиеся к непосредственно к самому предприятию:
Вторая таблица будет хранить факты, относящиеся к конкретному лицу, исполняющему некоторые обязанности на данном предприятии:
В результате (вместе с таблицей для кода города) мы получили нормализованную версию нашей базы данных. На практике приводить таблицы к первой и второй нормальной форме приходится не так уж часто - обычно приходится приводить только к третьей. При этом нужно быть очень внимательным, поскольку функциональные зависимости не всегда бросаются в глаза.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||