Из раздела «Введение в системы баз данных»:
Рассмотрим таблицу {поставщик, деталь, проект}, означающую, что указанный поставщик поставляет указанную деталь в указанный проект.
ЕслиСуществует ограничение на то, что для всех поставщиков sx, всех частей py и всех проектов jz:
- , если поставщик sx поставляет часть py, И
- поставщик sx поставляет проект jz, И
- part py используется в проекте jz,
, тогда из этого следует, что поставщик sx поставляет часть py в проект jz.
Предполагается, что такое ограничениепо сути, тогда для одной таблицы с тремя столбцами будет 4NF, но не для 5NF.
Аномалии обновления для дизайна с тремя столбцами следующие:
Предположим, таблицаимеет две строки (s1, p1, j2) и (s1, p2, j1).Если мы вставим строку (s2, p1, j1) без вставки (s1, p1, j1), то ограничение будет нарушено.
Предположим, что в таблице четыре строки (s1, p1, j2), (s1, p2, j1), (s2, p1, j1) и (s1, p1, j1).Если мы удалим строку (s1, p1, j1), не удаляя также одну из трех других, то ограничение снова будет нарушено.