Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Замыкание множества функциональных зависимостейСодержание книги
Поиск на нашем сайте
Пусть R - универсальная схема отношения, а F - исходное множество функциональных зависимостей на этой схеме. Замыканием F называется всё множество функциональных зависимостей, которое логически следует из F - обозначается как F + Функциональная зависимость логически следует из F, если её можно вывести (получить) с помощью аксиом Армстронга. Аксиомы Армстронга Или правила вывода функциональной зависимости. Существуют различные интерпретации аксиом, но все эквивалентны. Потому приведём только один вариант. Аксиомы Армстронга являются надёжными и полными. Надёжность - если ФЗ выводится с помощью аксиом Армстронга, то она справедлива во всех экземплярах отношения, где справедливы исходные ФЗ F Полнота - если имеет место какая-либо ФЗ, то она обязательно может быть выведена с помощью аксиом Армстронга. Рефлексивность Если Y ⊆ X ⊆ R то X → Y. Тривиальная аксиома. Дополнение Если X → Y и Z ⊆ R (Z может быть пустым), тогда X ⋃ Z → Y ⋃ Z или XZ → YZ Транзитивность Если X → Y, а Y → Z, то X → Z Пример построения множества ФЗ Пусть задана УСО (универсальная схема отношения) R =(A, B, C) и зависимости F =(A → B, B → C)
Всё, замыкание (F +) построено. Все перечисленные зависимости образуют замыкание. Лемма Справедливы следующие правила. Для их доказательства необходимо пополнить ФЗ так, чтобы можно было использовать аксиомы. Правило объединения Если X → Y и X → Z, то X → YZ Доказательство:
Правило декомпозиции Если X → Y, а Z ⊆ Y, то X → Z Доказательство:
Правило псевдотранзитивности Если X → Y и WY → Z, то WX → Z Доказательство:
Замыкание множества атрибутов Замыкание F + может включать в себя очень большое количество ФЗ. Например: F =(X → A 1, X → A 2... X → A n) X → Y ⊆ F + Y ⊆(A 1, A 2... A n) и таких подмножеств может быть 2 n Поэтому "в лоб" замыкание F + никто не строит. Но необходимо найти какой-то метод, который достаточно просто позволял бы выяснять, принадлежит ли произвольная ФЗ X → Y к F + Для этого применяется замыкание множества атрибутов. Пусть R - универсальная схема отношения, а X - некоторое подмножество атрибутов. Тогда замыканием множества атрибутов X + называется совокупность атрибутов A i 1, A i 2... A ik таких, что X → A i 1, X → A i 2... X → A ik Алгоритм построения Алгоритм является итерационной процедурой.
Пример построения Пусть R =(A, B, C, D, E, G) F =(AB → C, C → A, BC → D, ACD → B, D → EG, BE → C, CG → BD, CE → AG) X = BD Надо построить X +: 1) i =0, X +0= BD 2)
Получили, что X +4= X +3, а значит X += X +3= BDEGCA Это означает, что имеют место следующие ФЗ: BD → B, BD → D, BD → E, BD → G, BD → C, BD → A, и все они ⊆ F + Короче, чтобы проверить X → Y ⊆ F +, необходимо построить X +
Лекция №3 - Хорошая схема БД - Соединение без потерь Пусть F и G - два множества ФЗ. G называется покрытием F, если имеет место равенство G += F + Существуют различные виды покрытий. Но мы рассмотрим только один - условно-неизбыточное покрытие. Алгоритм построения условно-неизбыточного покрытия 1) если в множестве ФЗ F встречаются ФЗ с одинаковой левой частью X, то следует объединить эти ФЗ в одну ФЗ. Это следует из леммы объединения. Получившееся множество ФЗ обозначим G; 2) для каждой ФЗ X → Y из G заменить её на X → X +− X; После выполнения 1) и 2) получаем замыкание G += F + Доказательство 1) Докажем, что если ФЗ X → Y ∈ F (из этого следует, что Y ⊆ X + (1) по определению замыкания множества аттрибутов), то эта ФЗ принадежит G + По построению G имеет место ФЗ: X → X +− X (2) Пополним эту ФЗ: X →(X +− X)⋃ X, получится, что X → X + (3) Теперь по первой аксиоме Армстронга из (1) имеем X +→ Y (4) Значит, X → Y ∈ G +, по третьей аксиоме Армстронга, исходя из (3) и (4). 2) Докажем обратное, что если X → Y ∈ G, то X → Y ∈ F + По построению G имеем: Y = X +− X (5) Для F имеем: X → X + (по определению) (6) X +→ X +− X (1 аксиома Армстронга, так как X +− X ⊆ X +) (7) X → X +− X = Y (3 аксимома Армстронга из (6)и (7), и по равенству (5)) В итоге получили X → Y ∈ F +. Теорема доказана. Пример УСО: R =(A, B, C) Множество ФЗ: F =(A → B, B → A, C → A, A → C, B → C) 1) G =(A → BC, B → AC, C → A) 2) A += ABC, A +− A = BC B += BAC, B +− B = AC C += CAB, C +− C = AB
Свойства "хорошей" схемы БД "Хорошая", но не оптимальная. Должна обладать следующими свойствами:
Соединение без потерь Чтобы схема БД обладала свойством соединения без потерь, необходимо, чтобы хотя бы одна из таблиц содержала ключ универсальной схемы отношений. Пусть ρ =(R 1... R n) - схема БД. Она будет обладать свойством соединения без потерь, если для любого экземпляра отношения r из R справедливо равенство: r =Π R 1(r)⋈Π R 2(r)⋈...⋈Π R n (r), где Π R i (r) - это проекция экземпляра отношения r на множество атрибутов R i Пример БД, не обладающей свойством соединения без потерь R =(A, B, C) ρ =(AB, BC)=(R 1, R 2) F =(A → B) Достаточно привести пример экземпляра r, для которого равенство не выполняется:
Полученное соединение не будет равняться r:
Этот пример показывает, что при неправильном построении БД запросы могут выдавать неправильный результат. Пример БД, обладающей свойством соединения без потерь R =(A, B, C) ρ =(AB, AC)=(R 1, R 2) F =(A → B) Возьмём тот же экземпляр:
Полученное соединение будет равняться r:
Но это не доказательство, а только один пример, просто чтобы показать, в чём разница.
|
||||
|
Последнее изменение этой страницы: 2021-04-12; просмотров: 297; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.41 (0.007 с.) |