Является ли этот пример пятой нормальной формой?

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

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

-----------------------------
| AGENT | COMPANY | PRODUCT |
|-------+---------+---------|
| Smith | Ford    | car     | 
| Smith | GM      | truck   | 
-----------------------------

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

По сути, эта таблица в 4NF, потому что она в 3NF (все атрибуты зависят от ключа-кандидата, а в данном случае все 3), и таблица не подразумевает многозначных зависимостей. Но есть ли эта таблица в 5NF также, несмотря на то, что она не разлагается (из-за того, что она не может быть разложена дальше из-за потери информации)?

1 ответ

Решение

Это в 5NF.

Ваши фразы "он не разлагается" и "он не может быть разложен дальше" не означают одно и то же. Вы должны внимательно прочитать параграфы и примеры, которые следуют за вашей цитатой в статье Кента Бека.

Другие вопросы по тегам