Является ли этот пример пятой нормальной формой?
Я как бы изучаю различия между всеми нормальными формами, пока не наткнулся на следующее: от простого руководства до пяти нормальных форм в теории реляционных баз данных.
Мы не будем пытаться подробно описать пятую нормальную форму, а проиллюстрируем центральную концепцию на широко используемом примере, а именно на агентах, компаниях и продуктах. Если агенты представляют компании, компании производят продукты, а агенты продают продукты, то мы можем захотеть вести учет того, какой агент продает какой продукт для какой компании. Эта информация может храниться в одном типе записи с тремя полями:
-----------------------------
| AGENT | COMPANY | PRODUCT |
|-------+---------+---------|
| Smith | Ford | car |
| Smith | GM | truck |
-----------------------------
Эта форма необходима в общем случае. Например, хотя агент Смит продает автомобили производства Ford и грузовики производства GM, он не продает автомобили Ford или автомобили GM. Таким образом, нам нужна комбинация из трех полей, чтобы узнать, какие комбинации являются действительными, а какие - нет.
По сути, эта таблица в 4NF, потому что она в 3NF (все атрибуты зависят от ключа-кандидата, а в данном случае все 3), и таблица не подразумевает многозначных зависимостей. Но есть ли эта таблица в 5NF также, несмотря на то, что она не разлагается (из-за того, что она не может быть разложена дальше из-за потери информации)?
1 ответ
Это в 5NF.
Ваши фразы "он не разлагается" и "он не может быть разложен дальше" не означают одно и то же. Вы должны внимательно прочитать параграфы и примеры, которые следуют за вашей цитатой в статье Кента Бека.