Отношение находится в первой нормальной форме (1НФ) тогда и только тогда, когда оно содержит только скалярные значения атрибутов и ни один из ключевых атрибутов не имеет значения NULL. Ключевым является атрибут, входящий в любой из потенциальных ключей.
Относительно NULL нужно пояснить, что это специальное значение, показывающее, что значение атрибута не определено. Пусть, например, в отношении «Студенты» есть атрибут «Оценка за экзамен». Если оценка какого-то студента за какой-то экзамен неизвестна, то соответствующему атрибуту кортежа будет установлено значение NULL. Важно не путать NULL с числом 0.
Только отношения в 1НФ подходят под введенное в начале рассмотрения реляционной модели определение отношения. В табл. 5.2 приведен пример так называемой группированной таблицы, нарушающей требования 1НФ.
В примере (табл. 5.2) значения атрибутов «Предмет» и «Оценка» не являются атомарными. Соответственно, эта структура не является отношением в 1НФ.
Таблица 5.2
Пример группированной таблицы STUD.
StudlD | ФИО | Группа | Предмет | Оценка |
| Иванов И.И. | | Математика. | |
| | | Физика. | |
| Петров П.П. | | Математика. | |
| | | Физика. | |
| Сидоров С.С. | | Базы данных. | |
Чтобы привести табл. 5.2 к требованиям 1НФ, надо выполнить преобразования, результат которых представлен в табл. 5.3. Обратите внимание, что в получившемся отношении составной первичный ключ {StudID, Предмет}. Хотя данное преобразование и улучшило структуру отношения, оно все равно содержит избыточную информацию — повторяющиеся фамилии студентов и номера их групп. Кроме того, данному отношению свойственны аномалии модификации. В частности, нельзя внести информацию о студенте, не указав хотя бы один предмет (аномалия вставки) и невозможно удалить информацию обо всех сданных студентом учебных дисциплинах, не удалив информацию о нем самом (аномалия удаления). Ответ на вопрос, как улучшить структуру базы данных, дается в определениях старших нормальных форм.
Таблица 5.3
Отношение STUD
Stitdin. | ФИО. | Группа. | Предмет. | Оценка. |
| Иванов И.И. | | Математика. | |
| Иванов И.И. | | Физика. | |
| Петров П.П. | | Математика. | |
| Петров П.П. | | Физика. | |
| Сидоров С.С. | | Базы данных. | |