Классика баз данных - статьи




Нормальная форма


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

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

Рассмотрим, например, набор отношений, приведенный на рис.3(а). История работы и дети – непростые домены отношения служащий. История зарплаты – непростой домен отношения история работы. На дереве на рис.3(а) показаны именно эти взаимосвязи указанных непростых доменов.

служащий (номер_служащего, имя, дата_рождения, история_работы, дети)

история_работы (дата_приема_на_работу, название, история_зарплаты)

история_зарплаты (дата_назначения_зарплаты,зарплата)

дети (имя_ребенка, год_рождения)

Рисунок 3(a). Ненормализованное множество

служащий' (номер_служащего, имя, дата_рождения)

история_работы' (номер_служащего, дата_приема_на_работу, название)

история_зарплаты' (номер_служащего, дата_приема_на_работу, дата_назначения_зарплаты, зарплата)

дети' (номер_служащего, имя_ребенка, год_рождения)

Рисунок 3(б). Нормализованное множество

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

Результатом нормализации набора отношений, приведенного на рис.3(а), является набор отношений, показанный на рис.3(б).


Содержание  Назад  Вперед