Информационное обеспечение систем управления

       

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


Схема отношения

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

Схема базы данных R находится в первой нормальной форме, если каждая схема отношения в R

находится в 1НФ.

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

Пример 2.6. Имеется отношение Сотрудники:



Сотрудники

НОМЕР

ФИО

23

Вербов Александр Владимирович

24

Фисенко Александр Сергеевич

25

Фатхи Дмитрий Владимирович

Если понадобится указать только фамилии сотрудников, то указанное отношение не находится в 1НФ, так как требуемые значения являются частью атрибута ФИО. Чтобы отношение в таких условиях находилось в 1НФ, атрибут ФИО должен быть разбит на части, как показано ниже.

Сотрудники

НОМЕР

ФАМИЛИЯ

ИМЯ

ОТЧЕСТВО

23

Вербов

Александр

Владимирович

24

Фисенко

Александр

Сергеевич

25

Фатхи

Дмитрий

Владимирович

Пример 2.7. Отношение Род, представленное ниже, не находится в первой нормальной форме потому, что оно включает величины, являющиеся совокупностью атомарных значений.

Род

ИМЯ

ПОЛ

Иван, Александр, Сергей

мужской

Мария, Ирина

женский

Чтобы отношение Род находилось в 1НФ, оно должно быть представлено следующим образом.

Род

ИМЯ

ПОЛ

Иван

мужской

 
Александр

мужской

 
Сергей

мужской

 
Мария

женский

Ирина

женский

В чем преимущество применения 1НФ? В том, что 1НФ позволяет выражать F-зависимости с той степенью детализации, с какой требует приложение, что невозможно без 1НФ.

Но и 1НФ обладает рядом существенных недостатков [2, 7, 10]. На первых этапах проектирования базы данных, после анализа предметной области и определения состава информации для хранения в БД обычно формируется так называемое универсальное отношение.


Универсальное отношение – одна таблица, находящаяся в 1НФ, в которой может храниться вся информация об интересующей предметной области. Другими словами схему этого отношения образует весь перечень интересующих атрибутов предметной области [5].

При использовании универсального отношения возникают следующие проблемы [5, 10].

1. Избыточность. Данные многих столбцов многократно повторяются. Повторяются и некоторые наборы данных.

2. Аномалии обновления:

а) аномалии добавления;

б) аномалии изменения;

в) аномалии удаления.

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

Рассмотрим отношение График.

График

РЕЙС

ДАТА

ПИЛОТ

ГАЛЕРЕЯ

112

6 июня

Иванов

7

112

7 июня

Петров

7

203

8 июня

Иванов

12

Атрибуты РЕЙС ДАТА являются ключом отношения График, и это отношение должно также удовлетворять F-зависимости РЕЙС
ГАЛЕРЕЯ. Пусть требуется обновить отношение, указав значение ключа и задавая значения всем остальным атрибутам. Однако если выполнить операцию

ИЗМЕНИТЬ (График; 112, 6 июня, ПИЛОТ=Иванов, ГАЛЕРЕЯ=8),

то отношение перестанет удовлетворять F-зависимости РЕЙС
ГАЛЕРЕЯ. Чтобы избежать нарушения F-зависимости, необходимо после каждого выполнения операции обновления просмотреть полученное отношение и везде (во всех кортежах), где появляется указанный в операторе номер рейса, изменить номер галереи на указанный в операторе. А требовалось всего лишь изменить один кортеж. Кроме того, информация о связи между номером рейса и номером галереи дублируется с рассмотренном отношении, что ведет к избыточности информации.

С точки зрения как обновления, так и устранения избыточности лучше представить ту же информацию в виде базы данных из двух отношений Пилот-График и Галерея-График.

Пилот-График

РЕЙС

ДАТА

ПИЛОТ

112

6 июня

Иванов

112

7 июня

Петров

203

8 июня

Иванов

Галерея-График

РЕЙС

ГАЛЕРЕЯ

112

6 июня

112

7 июня

203

8 июня

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


Содержание раздела