Каноническая обложка
обложка Каноническая ибо F (набор функциональных зависимостей от схемы отношений ) — это набор зависимостей такой, что F логически подразумевает все зависимости в , и логически подразумевает все зависимости в F.
Набор имеет два важных свойства:
- Отсутствие функциональной зависимости в содержит посторонний атрибут.
- Каждая левая часть функциональной зависимости в является уникальным. То есть не существует двух зависимостей и в такой, что .
Каноническое покрытие не уникально для данного набора функциональных зависимостей, поэтому одно множество F может иметь несколько покрытий. .
Алгоритм вычисления канонического покрытия
[ редактировать ]- Повторить :
- Используйте правило объединения, чтобы заменить любые зависимости в формы и с ..
- Найдите функциональную зависимость в с посторонним атрибутом и удалите его из
- ... до не меняется
Пример канонической обложки
[ редактировать ]В следующем примере F c является каноническим покрытием F.
Учитывая следующее, мы можем найти каноническое накрытие: R = (A, B, C, G, H, I) F = {A→BC, B→C, A→B, AB→C}
- {A→BC, B→C, A→B, AB→C}
- {А → BC, B → C, AB → C}
- {А → ВС, В → С}
- {А → Б, Б → С}
F c = {A → B, B → C}
Посторонние атрибуты
[ редактировать ]Атрибут является посторонним в функциональной зависимости, если его удаление из этой функциональной зависимости не изменяет закрытие каких-либо атрибутов. [2]
Посторонние определяющие атрибуты
[ редактировать ]Учитывая набор функциональных зависимостей и функциональная зависимость в , атрибут является посторонним в если и любые функциональные зависимости в может подразумеваться под используя аксиомы Армстронга . [2]
Использование альтернативного метода с учетом набора функциональных зависимостей и функциональная зависимость X → A в , атрибут Y является посторонним в X, если , и . [3]
Например:
- Если F = {A → C, AB → C}, B является посторонним в AB → C, потому что A → C можно вывести даже после удаления B. Это верно, потому что, если A функционально определяет C, то AB также функционально определяет C.
- Если F = {A → D, D → C, AB → C}, B является посторонним в AB → C, поскольку из {A → D, D → C, AB → C} логически следует A → C.
Посторонние зависимые атрибуты
[ редактировать ]Учитывая набор функциональных зависимостей и функциональная зависимость в , атрибут является посторонним в если и любые функциональные зависимости в может подразумеваться под используя аксиомы Армстронга . [3]
Зависимый атрибут функциональной зависимости является посторонним, если мы можем удалить его, не изменяя замыкание набора определяющих атрибутов в этой функциональной зависимости. [2]
Например:
- Если F = {A → C, AB → CD}, C является посторонним в AB → CD, поскольку AB → C можно вывести даже после удаления C.
- Если F = {A → BC, B → C}, C является посторонним в A → BC, поскольку A → C можно вывести даже после удаления C.
Ссылки
[ редактировать ]- ^ Зильбершац, Авраам (2011). Концепции системы баз данных (PDF) (Шестое изд.). Нью-Йорк: МакГроу-Хилл. ISBN 978-0073523323 .
- ^ Jump up to: а б с Эльмасри, Рамез (2016). Основы систем баз данных . Шам Навате (Седьмое изд.). Хобокен, Нью-Джерси. ISBN 978-0-13-397077-7 . OCLC 913842106 .
{{cite book}}
: CS1 maint: отсутствует местоположение издателя ( ссылка ) - ^ Jump up to: а б К. Сараванакумар; Асами. «Как найти посторонний атрибут? Пример» . Проверено 14 марта 2023 г.