Третья нормальная форма (3NF)

Основные критерии:

§ Таблица находится во второй нормальной форме.

§ Любой её не ключевой атрибут функционально зависит только от первичного ключа.

Проще говоря, второе правило требует выносить все не ключевые поля, содержимое которых может относиться к нескольким записям таблицы в отдельные таблицы.
Например, есть у нас таблица:

Имя шпиона Государство
Джеймс Бонд Великобритания
Ким Филби СССР
Штирлиц СССР

В этой таблице ключом является имя шпиона. А не ключевым полем – государство, на которое он работает. Вполне логично предположить, что в этой таблице государства могут быть одинаковыми для нескольких записей. И для того, чтобы эта таблица находилась в третей нормальной форме, не обходимо ее разделить на две:

ID Государство
  Великобритания
  СССР
Имя шпиона Государство
Джеймс Бонд  
Ким Филби  
Штирлиц  

Благодаря этому правилу, при удалении какого-то государства, имена шпионов не будут утеряны

Недостатки метода нормальных форм

Хотя наиболее удачные базы данных всегда в той или иной степени нормализованы, у нормализованной базы данных есть один существенный недостаток, связанный со снижением ее производительности. Чтобы понять, почему это происходит, необходимо знать, что при выполнении базой данных запросов или транзакций существенную роль начинают играть такие факторы, как использование центрального процессора и памяти, а также система ввода/вывода. Короче говоря, для обработки транзакций и запросов в случае нормализованной базы данных к центральному процессору, памяти и системе ввода/вывода предъявляются существенно большие требования, чем когда эта база данных ненормализована. Ведь для получения требуемой информации или обработки существующих данных нормализованная база данных должна сначала найти все необходимые таблицы, а затем объединить содержащуюся в них информацию. Более подробно о производительности баз данных мы поговорим в гл. 18 «Управление пользователями базы данных».

Пример проектирования БД методом нормальных форм (12-15 вопросы).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: