Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь 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; просмотров: 238; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.227.250 (0.006 с.) |