Я изучаю концепции базы данных, и есть 3 концепции, которые я не понимаю: каноническая оболочка, посторонний атрибут и закрытие. Я читал определение канонического покрытия, но не понимаю, как оно связано с 3NF и BCNF. Определение канонического покрытия, по-видимому, состоит в том, что нет никаких посторонних атрибутов, а посторонние атрибуты — это атрибуты, которые не изменяют закрытие набора функциональных зависимостей, а закрытие — это набор всех функциональных зависимостей, подразумеваемых F, набором функциональных зависимостей. .
Но все это немного нечетко и хотелось бы знать и интуитивное определение, и как посчитать
- Каноническая обложка
- Закрытие
- Посторонний атрибут
Функциональная зависимость, кажется, я понимаю - это похоже на то, что было бы PK в таблице, если бы у нас были эти атрибуты в таблице.
Существует довольно обширный ответ на уточнение базы данных - минимальное покрытие F (посторонние атрибуты), но мне было трудно читать все определения набора и алгебру, и я предпочел бы определения на простом английском языке.
Например, имея схему U={A,B,C,D,E,F,G} и функциональные зависимости
AB → C
B → E
CF → D
C → A
B → F
CE → F
CD → B
B → C
Рассчитываются ли замыкания A+,B+,C+,D+,E+,F+ таким образом?
A+ = A
B+ = BCDEF
C+ = A
D+ = D
E+ = E
F+ = F
Если я не ошибаюсь, то BCDEFG — это суперключ («целый ключ») в 1NF/2NF, но является ли он минимальным (3NF)?
Что еще нужно сделать, чтобы нормализовать этот пример к 1НФ, 2НФ и 3НФ с помощью замыканий и канонических покрытий? Является ли каноническая обложка такой же, как минимальная обложка?