Spec-Zone.ru › MariaDB

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

Эта статья продолжает Нормализация баз данных: 1-я нормальная форма.

После преобразования в первую нормальную форму была достигнута следующая структура таблицы:

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

Находится ли эта таблица во второй нормальной форме?

Таблица находится во второй нормальной форме, если:

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

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

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

Таблица местоположения завода без частичных зависимостей

Таблица местоположения завода
Код завода
Код местоположения

Таблица, полученная из полей, зависящих от кода завода

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

Таблица, полученная из полей, зависящих от кода местоположения

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

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

Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержание не проходит предварительного просмотра 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-2nd-normal-form/

Spec-Zone.ru

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