Spec-Zone.ru › MariaDB

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

Эта статья продолжает статью о 4-й нормальной форме.

Существуют нормальные формы, выходящие за рамки 4-й, которые в основном представляют академический интерес, так как проблемы, которые они решают, редко возникают на практике. Эта серия не будет подробно рассматривать их, но для тех, кто заинтересован, следующий пример даст представление.

Пример с представителями продаж

Представитель продаж Компания Продукт
Felicia Powers Exclusive Книги
Afzal Ignesund Wordsworth Журналы
Felicia Powers Exclusive Журналы

Обычно вы храните эти данные в одной таблице, так как вам нужны все три записи, чтобы увидеть, какие комбинации допустимы. Afzal Ignesund продаёт журналы для Wordsworth, но необязательно книги. Felicia Powers случайно продаёт как книги, так и журналы для Exclusive. Однако давайте добавим ещё одно условие. Если представитель продаж продаёт определённый продукт, и он продаёт его для определённой компании, то он должен продавать этот продукт для этой компании.

Давайте рассмотрим больший набор данных, соответствующий этому условию:

Рассмотрение большего набора данных

Представитель продаж Компания Продукт
Felicia Powers Exclusive Книги
Felicia Powers Exclusive Журналы
Afzal Ignesund Wordsworth Книги
Felicia Powers Wordsworth Книги
Felicia Powers Wordsworth Журналы

Теперь, с этой дополнительной зависимостью, вы можете нормализовать таблицу выше на три отдельные таблицы без потери фактов, как показано ниже:

Создание таблицы с представителем продаж и продуктом

Представитель продаж Продукт
Felicia Powers Книги
Felicia Powers Журналы
Afzal Ignesund Книги

Создание таблицы с представителем продаж и компанией

Представитель продаж Компания
Felicia Powers Exclusive
Felicia Powers Wordsworth
Afzal Ignesund Wordsworth

Создание таблицы с компанией и продуктом

Компания Продукт
Exclusive Книги
Exclusive Журналы
Wordsworth Книги
Wordsworth Журналы

В основном, таблица находится в 5-й нормальной форме, если её нельзя разбить на более мелкие таблицы с различными ключами (большинство таблиц, очевидно, могут быть разбиты на более мелкие таблицы с тем же ключом!).

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

Для тех, кто заинтересован в дальнейшем изучении этой академической и чрезвычайно теоретической темы, я рекомендую приобрести копию «Введение в системы баз данных» (An Introduction to Database Systems) К. Дж. Дейта (на момент написания 8-е издание) или «Реляционная теория для компьютерных профессионалов» (Relational Theory for Computer Professionals) того же автора.

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

Spec-Zone.ru

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