Приступим к разговору о нормальных формах. Первое, что обсудим – первая нормальная форма(1NF), определение первой нормальной формы и то, как привести базу данных к первой нормальной форме. То есть, как нормализовать отношения до первой нормальной формы.
Действуем по схеме: сначала я пишу определение нормальной формы, затем перевожу это определение на русский язык и наконец, мы разбираем реальный пример, на котором будет показано, как реализовать ту или иную нормальную форму.
Первая нормальная форма(1NF). Таблица находится в перовой нормальной форме только тогда, когда в любом допустимом значении отношения каждый его кортеж содержит только одно значение для каждого из атрибутов. Есть более короткое определение: таблица находится в первой нормальной форме, когда каждый ее атрибут атомарен.
Самое главное правило первой нормальной формы – атомарность.
Атрибуты – это столбцы таблицы базы данных, а кортежи – это строки таблицы, вы можете встретить термин значение. Помните пример из предыдущей публикации? У нас была таблица, в которой был список преподавателей и списокпредметов, которые они ведут.
Таблица, которая находится в первой нормальной форме.
Эта таблица находится в первой нормальной форме(1NF), поскольку в ней находятся две записи, касающиеся преподавателя Иванова. То есть, таблица избыточна, зато она в первой нормальной форме.
Таблица не была бы в первой нормальной форме, если бы мы написали в столбце предметы для преподавателя Иванова: мат. ан., дискретная математика. Тогда таблица не была бы в первой нормальной форме – это было бы нарушение атомарности. Атомарность – это самое главное правило первой нормальной формы.
Мы знаем, что Гоголь написал «Ревизор» и «Мертвые души», как это записать в таблицу, чтобы она находилась в первой нормальной форме? Да очень просто – создаем отдельную запись для «Ревизора» и отдельную для «Мертвых душ», но тем самым мы дублируем Гоголя Н.В. и намеренно создаем избыточность данных в базе данных. Избавиться от избыточности данных нам поможет вторая нормальная форма.