Первая нормальная форма

Нормализация отношений

Требование нормализации отношений направлено на обеспечение такой их структуры, которая исключает некорректное обновление значений некоторых атрибутов и ошибки в выполнении определенных операций выборки.

Отношение удовлетворяет первой нормальной форме (1НФ), если все его атрибуты атомарны (неделимы), т.е среди атрибутов нет составных или множественных значений.

Например, приведенное на рисунке 1 отношение студент не удовлетворяет первой нормальной форме, т.к имеет атрибут место рождения, состоящий из атрибутов республика, область, город (село), а также атрибут иностранный язык (которым владеет студент) с множественными значениями для некоторых студентов.

СТУДЕНТ

Код студента Ф.И.О. Место рождения Иностранный язык
Республика Область Город (село)
           

Рисунок 1 Отношение, не удовлетворяющее первой нормальной форме

 

Когда говорится о невозможности иметь составной атрибут (например, место рождения) имеется в виду, что невозможно одновременно иметь (обращаться к ним) атрибуты, республика, область, город и те же самые значения именовать как место рождения. Необходимо принять либо первый (детальные атрибуты), либо второй вариант. Если все же необходимо кроме место рождения иметь возможность обращаться к атрибуту город, то необходимо ввести дополнительный атрибут город, где родился.

Более значительная специфика связана с атрибутом с множественными значениями.

Соблюдая требования одного размера атрибута во всех кортежах, мы должны бы были представить исходное отношение либо в виде рисунка 2 либо в виде рисунка 3.

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

Код студента Ф.И.О. № группы Пол Дата рождения Иностранный язык
- -          
Гончар Е.Г ПО-91 М 29.01.1970 немецкий, английский
Ермолова А.Г. ПО-91 Ж 19.09.1985 немецкий, французский, польский
Курник П.В. ПО-81 М 28.02.1975 английский
- -          
Авдеев И.Г. ПО-91 М 12.09.1986 не владеет

Рисунок 2 – Размещение множественных значений атрибутов в одном кортеже

 

Код студента Ф.И.О. № группы Пол Дата рождения Иностранный язык
- -          
Гончар Е.Г ПО-91 М 29.01.1970 немецкий
Гончар Е.Г ПО-91 М 29.01.1970 английский
Ермолова А.Г. ПО-91 Ж 19.09.1985 французский
Ермолова А.Г. ПО-91 Ж 19.09.1985 немецкий
Ермолова А.Г. ПО-91 Ж 19.09.1985 польский
Курник П.В. ПО-81 М 28.02.1975 английский
- -          
Авдеев И.Г. ПО-91 М 12.09.1986 не владеет

Рисунок 3 Организация хранения атрибутов с множественными значениями в виде типичной для реляционной модели однородной структуры.

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

Реляционная модель требует нормализации (приведения к 1НФ) путем разбиения исходного отношения на два следующим образом: из исходного отношения СТУДЕНТ исключается атрибут с множественным значением и получается новое отношение СТУДЕНТ 1, а исключенный атрибут вместе с ключом исходного отношения образует новое отношение СТУДЕНТ 2 (рисунок 4) причем оба атрибута являются ключевым).

СТУДЕНТ 1

Код студента Ф.И.О. Дата рождения

 

СТУДЕНТ 2

Код студента Иностранный язык

 

Рисунок 4 – Результат нормализации отношения СТУДЕНТ.