Первая нормальная форма
Схема отношения
![](image/image042.gif)
![](image/image074.gif)
![](image/image075.gif)
![](image/image042.gif)
Схема базы данных 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 |
![](image/image041.gif)
ИЗМЕНИТЬ (График; 112, 6 июня, ПИЛОТ=Иванов, ГАЛЕРЕЯ=8),
то отношение перестанет удовлетворять F-зависимости РЕЙС
![](image/image041.gif)
С точки зрения как обновления, так и устранения избыточности лучше представить ту же информацию в виде базы данных из двух отношений Пилот-График и Галерея-График.
Пилот-График |
РЕЙС |
ДАТА |
ПИЛОТ |
112 |
6 июня |
Иванов |
|
112 |
7 июня |
Петров |
|
203 |
8 июня |
Иванов |
Галерея-График |
РЕЙС |
ГАЛЕРЕЯ |
112 |
6 июня |
|
112 |
7 июня |
|
203 |
8 июня |