Первая нормальная форма (1НФ). Приведение таблицы к первой нормальной форме. Примеры
В данной теме описывается процесс приведения произвольных (хаотических) таблиц баз данных к первой нормальной форме. Перед изучением темы рекомендуется ознакомиться со следующей темой:
Содержание
- 1. Первая нормальная форма 1НФ. Условия использования
- 2. Пример приведения таблицы к первой нормальной форме (1НФ). Учет проданных автомобилей
- 3. Пример приведения к 1НФ. Данные о переписи
- 4. Пример приведения к 1НФ. Учет книг в библиотеке
- 5. Пример приведения к 1НФ. Таблица учета учебного процесса
- Связанные темы
Поиск на других ресурсах:
1. Первая нормальная форма 1НФ. Условия использования
Хаотически созданные таблицы данных не всегда соответствуют первой нормальной форме (1НФ). Как известно, приведение таблицы к первой нормальной форме является необходимым условием нормализации. Более подробно о необходимости применения нормализации в базе данных описывается здесь.
Таблица считается приведенной к первой нормальной форме (1НФ) если выполняются следующие условия:
- все значения таблицы являются атомарными (неделимыми). Это означает, что ячейки таблицы должны содержать одиночные значения и все записи в отдельном столбце таблицы (атрибуте) должны иметь один и тот же тип,
- в качестве значений атрибута таблицы не допускаются группы или массивы повторяющихся данных.
⇑
2. Пример приведения таблицы к первой нормальной форме (1НФ). Учет проданных автомобилей
Задано базу данных учета легковых автомобилей, которая описывается таблицей Автомобили. Структура таблицы следующая
В таблицу внесены следующие данные
Согласно определению первой нормальной формы (1НФ) все атрибуты (столбцы, поля) таблицы должны быть атомарными (неделимыми).
В нашем случае таблицу следует разбить на атомарные (неделимые части).
Атрибут Номер можно разбить на три неделимые части со следующими именами:
- Серия1;
- Номер;
- Серия2.
Атрибут Автомобиль включает в себя марку и модель автомобиля. Поэтому, целесообразно разбить этот атрибут на два поля:
- Марка — непосредственно марка автомобиля (Mersedes-Benz, Toyota, Subaru и т.д.);
- Модель — модель автомобиля (G-400, Sequoia, Avalon, Forester и т.д).
Так же атрибут Характеристики включает несколько частей, которые могут быть неделимыми:
- Коробка — вид коробки передач (механическая, автомат, типтроник и другие);
- Топливо — вид топлива (бензин, дизель, электричество и т.д.)
- Объем — объем двигателя в литрах.
После внесенных изменений, структура таблицы следующая
Данные в измененной таблице могут быть представлены следующим образом.
Вышеприведенная таблица приведена к первой нормальной форме 1НФ. Несмотря на увеличение количества столбцов, такая таблица уже может быть приведена ко второй нормальной форме 2НФ.
⇑
3. Пример приведения к 1НФ. Данные о переписи
Задана произвольная таблица, содержащая информацию о гражданине. Таблица используется при переписи населения. Необходимо привести эту таблицу к 1 НФ.
Структура таблицы следующая.
В таблице атрибуты Гражданин, Номер и Адрес содержат наборы (массивы) данных. Если не реализовать разделение этих данных на атомы (неделимые элементы), то при вводе данных могут быть их искажения. Эти искажения будут проявляться в том, что одни и те же данные, введенные некорректно, для базы данных будут восприниматься как разные данные.
Пример искажения данных. В поле (атрибуте) Гражданин один и тот же человек может быть введен по разному (Иванов И.И., Иванов Иван Иванович, Иванов И., И.И. Иванов). Для базы данных это разные люди. То же касается и других атрибутов таблицы.
Поэтому, чтобы привести таблицу к первой нормальной форме нужно разбить на атомарные части следующие атрибуты (поля) таблицы
- атрибут Гражданин разбивается на 3 атрибута: Фамилия, Имя, Отчество;
- атрибут Номер разбивается на 2 атрибута: Серия, Номер документа;
- атрибут Адрес разбивается на следующие атрибуты: Страна, Вид региона, Название региона, Вид населенного пункта, Название населенного пункта, Название части города, Вид помещения, Номер дома.
В результате внесенных изменений, структура таблицы будет следующей:
Такая таблица считается приведенной к первой нормальной форме 1НФ.
⇑
4. Пример приведения к 1НФ. Учет книг в библиотеке
В примере происходит приведение таблицы к 1НФ, которая отображает данные о книге в библиотеке.
Чтобы привести эту таблицу к первой нормальной форме нужно выделить неделимые (атомарные) элементы.
Анализируя структуру таблицы, на атомарные элементы может быть разбито поле (атрибут) Книга. Сначала происходит разбиение книги на две части:
- Автор — фамилия, имя и отчество автора;
- Название — название книги.
В свою очередь, поле Автор может быть разбито на 3 части:
- Фамилия;
- Имя;
- Отчество.
После выполненных преобразований структура таблицы следующая
Задача решена, таблица приведена к первой нормальной форме (1НФ).
⇑
5. Пример приведения к 1НФ. Таблица учета учебного процесса
Задано базу данных учета учебного процесса в учебном заведении которая представлена одной таблицей. Осуществить приведение таблицы к первой нормальной форме (1НФ).
Структура исходной таблицы следующая.
Чтобы привести таблицу к первой нормальной форме нужно сделать все атрибуты атомарными.
Здесь целесообразно разбить поле (атрибут) Студент на несколько атрибутов:
- Фамилия студента;
- Имя студента;
- Отчество студента.
Также поле Преподаватель нужно разбить на 3 части:
- Фамилия преподавателя;
- Имя преподавателя;
- Отчество преподавателя.
В результате внесенных изменений таблица будет иметь структуру, которая соответствует первой нормальной форме 1НФ.
⇑
Связанные темы
⇑