4.1.4. Вторая и третья нормальные формы. Нормальная форма Бойса- Кодда. При разработке БД и информационных
систем важно не просто обеспечить возможность хранения и обработки
определенных данных, а обеспечить максимальную эффективность этого
процесса. В рамках реляционной модели удалось создать теорию
нормализации, помогающую в решении этой наиважнейшей задачей. Под
нормализацией понимают дробление некоторых отношений в БД с целью
повышения эффективности хранения данных и их обработки. Каждый новый
уровень нормальной формы требует соблюдения некоторых дополнительных
условий. Определение отношения в первой нормальной форме дано в 4.1. Приведем пример. Пусть имеется таблица ПОСТАВКИ с
составным первичным ключом (Номер поставщика, номер партии товара),
а также атрибутами «сведения о поставщике» и «цена». Здесь атрибут
«цена» зависит от всего первичного ключа, а атрибут «сведения о
поставщике» только от его части - атрибута «ном ер поставки».
Действительно, сведения о поставщике однозначно идентифицируются по
его номеру. Выполним теперь расщепление отношения поставки следующим образом:
|
Например, заменяем
|
Как видим для перехода к второй нормальной форме
достаточно простого расщепления отношения. При этом в одной из
таблиц количество атрибутов в первичном ключе уменьшается. |
Выполним расщепление следующим образом
Очевидно, что приведение к третьей нормальной форме также, как и
ко второй, приводит к избавлению от аномального дублирования
данных. |
Таким образом, мы видим, что нарушается условие 3НФ. Добиваемся выполнения условий и приходим к практически тому же расщеплению. Таким образом, добавление нового искусственного
первичного ключа не отменяет расщепления таблицы при дальнейшей
нормализации. |
Предположим, что по названию курса можно однозначно определить
ФИО преподавателя (за каждым курсом закреплено по одному
преподавателю), в тоже время таблица находится в 3-й нормальной
форме. |
Пример.
|