•  пятая  нормальная  форма,  или  нормальная  форма  проекции-
соединения (5NF или PJ/NF).  
Основные свойства нормальных форм:  
•  каждая следующая нормальная форма в некотором смысле лучше 
предыдущей;  
•  при  переходе  к  следующей  нормальной  форме  свойства  преды-
дущих нормальных свойств сохраняются. 
На практике обычно доводят  базу  данных до  третьей  нормальной 
формы. Подробный анализ положительных и отрицательных сторон нор-
мализации содержится в следующей лекции. 
Рассмотрим подробнее каждый из этапов нормализации. 
 
Требования первой нормальной формы - 1NF 
 
Отношение находится в 1NF, если оно удовлетворяет двум условиям: 
1.  Значения всех его атрибутов атомарны; 
2.  Отсутствуют повторяющиеся группы атрибутов. 
Первое из условий выполняется для любого отношения автоматиче-
ски, поскольку оно следует из свойств отношений. Здесь требуется только 
уточнить понятие атомарности для текстовых атрибутов. Например, такие 
атрибуты,  как  ФИО  или  адрес_сотрудника,  можно  считать  атомарными 
только в тех случаях, когда все запросы к базе данных требуют извлече-
ния этих атрибутов целиком, без вычленения отдельных составляющих. 
В подавляющем большинстве случаев ФИО хранится в виде трех от-
дельных атрибутов-атомов, адрес также разбивается на несколько состав-
ляющих, каждая из которых в рамках бизнес-правил предметной области 
является  неделимым  атомом.  В  рамках  данной  лекции  будем  считать 
ФИО атомарным атрибутом. 
Второе  условие  требует  отдельного  пояснения.  Повторяющейся 
группой называют подмножество атрибутов отношения, определенных на 
одном  и  том  же  домене  и  имеющих  одинаковую  семантику. Например, 
рассмотрим отношение  
Доходы_сотрудников 
(код, ФИО, доход_за_январь, за_февраль,…,за_декабрь) 
Здесь явно видна повторяющаяся группа из 12 атрибутов, каждый из 
которых хранит доходы сотрудников за различные месяцы. Такая таблица 
удобна для формирования отчетов и справок о доходах, она не содержит 
нежелательных  ФЗ,  однако  многие  операции  реляционной  алгебры  не 
рассчитаны на  такую структуру, поэтому  многие запросы  будут сложно 
реализовать. В данном случае устранить повторяющуюся группу неслож-
но,  поскольку  каждый  из  месяцев  имеет  известный  порядковый  номер. 
Изменим схему отношения: 
Доходы_сотрудников (код, ФИО, номер месяца, доход)