Базы данных. Первая нормальная форма (1НФ). Приведение таблицы к первой нормальной форме. Примеры

Первая нормальная форма (1НФ). Приведение таблицы к первой нормальной форме. Примеры

В данной теме описывается процесс приведения произвольных (хаотических) таблиц баз данных к первой нормальной форме. Перед изучением темы рекомендуется ознакомиться со следующей темой:

 


Содержание


Поиск на других ресурсах:




1. Первая нормальная форма 1НФ. Условия использования

Хаотически созданные таблицы данных не всегда соответствуют первой нормальной форме (1НФ). Как известно, приведение таблицы к первой нормальной форме является необходимым условием нормализации. Более подробно о необходимости применения нормализации в базе данных описывается здесь.

Таблица считается приведенной к первой нормальной форме (1НФ) если выполняются следующие условия:

  • все значения таблицы являются атомарными (неделимыми). Это означает, что ячейки таблицы должны содержать одиночные значения и все записи в отдельном столбце таблицы (атрибуте) должны иметь один и тот же тип,
  • в качестве значений атрибута таблицы не допускаются группы или массивы повторяющихся данных.

 

2. Пример приведения таблицы к первой нормальной форме (1НФ). Учет проданных автомобилей

Задано базу данных учета легковых автомобилей, которая описывается таблицей Автомобили. Структура таблицы следующая

Таблица учета легковых автомобилей

В таблицу внесены следующие данные

Учет легковых автомобилей. Таблица

Согласно определению первой нормальной формы (1НФ) все атрибуты (столбцы, поля) таблицы должны быть атомарными (неделимыми).

В нашем случае таблицу следует разбить на атомарные (неделимые части).

Атрибут Номер можно разбить на три неделимые части со следующими именами:

  • Серия1;
  • Номер;
  • Серия2.

Атрибут Автомобиль включает в себя марку и модель автомобиля. Поэтому, целесообразно разбить этот атрибут на два поля:

  • Марка — непосредственно марка автомобиля (Mersedes-Benz, Toyota, Subaru и т.д.);
  • Модель — модель автомобиля (G-400, Sequoia, Avalon, Forester и т.д).

Так же атрибут Характеристики включает несколько частей, которые могут быть неделимыми:

  • Коробка — вид коробки передач (механическая, автомат, типтроник и другие);
  • Топливо — вид топлива (бензин, дизель, электричество и т.д.)
  • Объем — объем двигателя в литрах.

После внесенных изменений, структура таблицы следующая

Первая нормальная форма 1НФ. Таблица учета автомобилей

Данные в измененной таблице могут быть представлены следующим образом.

Первая нормальная форма 1НФ. Таблица учета автомобилей

Вышеприведенная таблица приведена к первой нормальной форме 1НФ. Несмотря на увеличение количества столбцов, такая таблица уже может быть приведена ко второй нормальной форме 2НФ.

 

3. Пример приведения к 1НФ. Данные о переписи

Задана произвольная таблица, содержащая информацию о гражданине. Таблица используется при переписи населения. Необходимо привести эту таблицу к 1 НФ.

Структура таблицы следующая.

Данные о переписи населения. Таблица

В таблице атрибуты Гражданин, Номер и Адрес содержат наборы (массивы) данных. Если не реализовать разделение этих данных на атомы (неделимые элементы), то при вводе данных могут быть их искажения. Эти искажения будут проявляться в том, что одни и те же данные, введенные некорректно, для базы данных будут восприниматься как разные данные.

Пример искажения данных. В поле (атрибуте) Гражданин один и тот же человек может быть введен по разному (Иванов И.И., Иванов Иван Иванович, Иванов И., И.И. Иванов). Для базы данных это разные люди. То же касается и других атрибутов таблицы.

Поэтому, чтобы привести таблицу к первой нормальной форме нужно разбить на атомарные части следующие атрибуты (поля) таблицы

  • атрибут Гражданин разбивается на 3 атрибута: Фамилия, Имя, Отчество;
  • атрибут Номер разбивается на 2 атрибута: Серия, Номер документа;
  • атрибут Адрес разбивается на следующие атрибуты: Страна, Вид региона, Название региона, Вид населенного пункта, Название населенного пункта, Название части города, Вид помещения, Номер дома.

В результате внесенных изменений, структура таблицы будет следующей:

Первая нормальная форма 1НФ. Приведение таблицы

Такая таблица считается приведенной к первой нормальной форме 1НФ.

 

4. Пример приведения к 1НФ. Учет книг в библиотеке

В примере происходит приведение таблицы к 1НФ, которая отображает данные о книге в библиотеке.

Базы данных. Данные о книгах в библиотеке. Таблица

Чтобы привести эту таблицу к первой нормальной форме нужно выделить неделимые (атомарные) элементы.

Анализируя структуру таблицы, на атомарные элементы может быть разбито поле (атрибут) Книга. Сначала происходит разбиение книги на две части:

  • Автор — фамилия, имя и отчество автора;
  • Название — название книги.

В свою очередь, поле Автор может быть разбито на 3 части:

  • Фамилия;
  • Имя;
  • Отчество.

После выполненных преобразований структура таблицы следующая

Базы данных. Первая нормальная форма 1НФ. Таблица учета книг

Задача решена, таблица приведена к первой нормальной форме (1НФ).

 

5. Пример приведения к 1НФ. Таблица учета учебного процесса

Задано базу данных учета учебного процесса в учебном заведении которая представлена одной таблицей. Осуществить приведение таблицы к первой нормальной форме (1НФ).

Структура исходной таблицы следующая.

Базы данных. Ненормализованная таблица учета учебного процесса

Чтобы привести таблицу к первой нормальной форме нужно сделать все атрибуты атомарными.

Здесь целесообразно разбить поле (атрибут) Студент на несколько атрибутов:

  • Фамилия студента;
  • Имя студента;
  • Отчество студента.

Также поле Преподаватель нужно разбить на 3 части:

  • Фамилия преподавателя;
  • Имя преподавателя;
  • Отчество преподавателя.

В результате внесенных изменений таблица будет иметь структуру, которая соответствует первой нормальной форме 1НФ.

Базы данных. Приведение таблицы к первой нормальной форме 1НФ

 


Связанные темы