Spec-Zone.ru › MariaDB

Нормализация баз данных: 1-я нормальная форма

Эта статья следует за Обзором нормализации баз данных.

Изначально структура данных была такой:

  • Код местоположения
  • Название местоположения
  • Номера заводов (1-n, что означает много значений этого поля)
  • Названия заводов
  • Категории почв
  • Описание почв

Это полностью ненормализованная структура — другими словами, она находится в нулевой нормальной форме. Поэтому, чтобы начать процесс нормализации, нужно перейти от нулевой нормальной формы к 1-й нормальной форме.

Таблицы находятся в 1-й нормальной форме, если соблюдаются следующие правила:

  • Нет повторяющихся групп.
  • Все ключевые атрибуты определены.
  • Все атрибуты зависят от первичного ключа.

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

Хотя принцип атомарности не всегда рассматривается как часть определения 1-й нормальной формы, он обычно применяется на этом этапе. Это означает, что все столбцы должны содержать свои наименьшие части или быть неделимыми. Типичный пример — когда кто-то создает поле имя вместо полей имя и фамилия. Обычно они об этом сожалеют позже.

В приведенном примере с заводами пока нет ключей и есть повторяющиеся группы. Чтобы привести его к 1-й нормальной форме, вам нужно определить первичный ключ и изменить структуру так, чтобы не было повторяющихся групп; другими словами, каждая строка/пересечение столбцов содержит одно и только одно значение. Без этого вы не можете поместить данные в обычную двумерную таблицу, которую требуют большинство баз данных. Вы определяете код местоположения и код завода как первичный ключ вместе (ни один из них по отдельности не может однозначно идентифицировать запись), и заменяете повторяющиеся группы атрибутом с единственным значением. После этого вы получаете структуру, показанную в таблице ниже (первичный ключ выделен курсивом):

Таблица местоположения заводов
Код местоположения
Название местоположения
Код завода
Название завода
Категория почв
Описание почв

Теперь эта таблица находится в 1-й нормальной форме. Процесс перехода к 2-й нормальной форме продолжается в следующей статье.

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не предварительно проверяется компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержании, не обязательно отражают взгляды MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/database-normalization-1st-normal-form/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API