КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Неприводимое множество зависимостей.
Название лекции: Замыкание множества атрибутов. Лекция №12
План: 1. Определение суперключа. 2. Алгоритм построения замыкания множества атрибутов Кi. 3. Приложение (следствие) алгоритма построения замыкания Ki+ для множества атрибутов Ki. 4. Алгоритм проверки, следует ли Ф.З. X ® Y из множества S, т.о. проверки принадлежности X ® Y множеству S+. 5. Неприводимое множество зависимостей. 6. Потенциальные ключи и функциональные зависимости.
1. Определение суперключа. Суперключом отношения R называется множество атрибутов отношения R, которое содержит как подмножество хотя бы один потенциальный ключ (т.е. ключ, который обладает свойствами: 1 – уникальности, 2 – не избыточности). Суперключ обладает свойством уникальности, но является избыточным. Пусть дано переменная отношения R с множеством атрибутов A. Допустим, что для некоторого подмножества K множества атрибутов A (KÌA), выполняется ФЗ K→A. По определения ФЗ это означает, что если два кортежа отношения R совпадают по значениям атрибутов из множества K, то эти два кортежа будут совпадать и по значениям атрибутов A, т.е. по множеству всех атрибутов. Но в этом случае (два кортежа совпадают по K) эти два кортежа просто совпадают, что не возможно, т.к. в отношении никакие два кортежа не могут совпадать. Следовательно, никакие два кортежа не могут совпадать по значению атрибутов из множества K. При условии, что K→A в этом случае K обладает свойством уникальности и значит, что K– это ключ. Суперключи – это такие подмножества Кi (KiÌA) множества атрибутов отношения R, обладающее свойством уникальности и избыточности. Это значит, что у Кi есть непустое подмножество, не совпадающее с Кi (например, KÌКi), обладающее свойством уникальности, т.е. K→A. Пусть известно некоторое множество S функциональных зависимостей отношения R. Требуется найти потенциальные ключи этого отношения. Если построить множество всех ключей (каждый из элементов этого множества содержит потенциальный ключ) и исключить из этого множества суперключи (т.е.ключи, обладающие свойством избыточности), то мы получим множество потенциальных ключей. Чтобы установить является ли множество атрибутов Кi ключом необходимо выяснить являются ли функционально зависимыми все атрибуты отношения R от Ki, т.е. если для отношения R, с множеством атрибутов А, множеством ФЗ S и множеством Ki Ì A удается найти множество Кi+ Í А такое, что все элементы Кi+ функционально зависят от Кi и при этом Кi+ = А, то Кi является ключом. Если при этом ключ не обладает избыточностью, то это потенциальный ключ. Множество всех элементов из A, функционально зависимых от Ki Ì A, называется замыканием множества Ki для отношения R и множества функциональных зависимостей S и обозначается Ki+ Ì A. Если для Ki построили Ki+, то выполняется ФЗ Ki→Ki+.
2. Алгоритм построения замыкания множества атрибутов Кi. Дано: отношение R с множеством атрибутов A и множеством ФЗ S={X1→Y1,X2→Y2,...,Xm→Ym}. Кроме того, пусть дано подмножество атрибутов Ki Ì A. Построим Ki+, замыкание множества ФЗ Ki. Т.е. требуется построить множество всех атрибутов из A, которые функционально зависят от Ki (т.е. Ki→Ki+). Алгоритм построения такого множества является рекуррентным. В качестве начального приближения Ki+ выберем само множество Ki. Это возможно, т.к. имеет место ФЗ Кi → Кi и, следовательно, Ki Ì Ki+. Итак:
Ki+ = Ki Цикл_пока истина j = 0, f = ложь Цикл_пока j < m j + + Если (Xj Ì Ki+ ) Ù ($ y½y Î Yj Ù y Ï Ki+) Ki+ = Ki+ È Yj f = истинна Всё_если Всё_цикл Если не (f) то Выход из цикла Всё_если Всё_цикл
Пример: Дано: отношение R, А – множество атрибутов, А = {a, b, c, d, e, f}, S = {{a} ® {b, c}, {e} ® {c, f}, {b} ® {e}, {c, d} ® {e, f}} Найти: {a, b}+ для {a, b}
1) {a, b}+ = {a, b} 2) Бесконечный цикл 3) Цикл по элементам множества S а) {a} ® {b, c} {a} Ì {a,b}+ => {a, b}+ = {a, b} È {b, c} = {a, b, c} б) {e} ® {c, f} {e} Ë {a, b}+ => {a, b}+ = {a, b, c} в) {b} ® {e} {b} Ì {a,b}+ {a, b}+ = {a, b, c} È {e} = {a, b, c, e} г) {c, d} ® {e, f} {c, d} Ë {a, b}+ => {a, b}+ = {a, b, c, e} 4) а) {a, b}+ = {a, b, c, e} б) {e} ® {c, f} {e} Ì {a, b}+ => {a, b}+ ={a, b, c, e} È {c, f}={a, b, c, e, f} Далее {a, b}+ не изменится и т. о. {a, b}+ = {a, b, c, e, f}. Мы построили такое множество {a, b}+, которое зависит от {a, b}, т.е. {a, b} ® {a, b, c, e, f}. Множество {a, b}+ ¹ A и {a, b} не является ключом и, т.о. не является ни потенциальным ключом, ни суперключом. 3. Приложение (следствие из) алгоритма построения замыкания Ki+ для множества атрибутов Ki. Пусть дано: 1) Отношение R с множеством атрибутов A 2) Множество ФЗ S для R и S={X1→Y1,X2→Y2,...,Xm→Ym}. 3) Некоторая ФЗ X ® Y такая, что X ® Y Ï S. Проверить: {X ® Y} Ì S+. Т.е. необходимо проверить: следует ли X ® Y из S или нет. Решение: 1) Построим для {R, S, X} замыкание X+ для множества атрибутов X. 2) Каждый элемент (атрибут) множества X+ функционально зависим от X, т.е. X®X+. Следовательно, любое подмножество X+ функционально зависимо от X. И, если Y Ì X+, то X ® Y следует из S и, тогда, {X ® Y} Ì S+ º истина. Если Y Ë X+, то функциональная зависимость X ® Y не следует из S и {X ® Y} Ë S+.
4. Алгоритм проверки, следует ли Ф.З. X®Y из множества S, т.е. проверки принадлежности X ® Y множеству S+. 1) Для R, S построить X+ 2) Если Y Ì X+ то {X ® Y} Ì S+ иначе {X ® Y} Ë S+ все - если. Пример: Дано: A = { a, b, c, d, e, f } S = {{ a } ® { b, c }, { b } ® { e }, { c, d } ® { e, f } Найти: истинность высказывания ({ a, d } ® { f } Î S+ ) Решение: обозначим x = { a, d } и найдем X+ 0) X+ = { a, d } 1) X+ = { a, b, c, d } 2) X+ = { a, b, c, d, e } 3) X+ = { a, b, c, d, e, f } Следовательно, в ФЗ {a,d}®{f} зависима часть {f}Ì{a, d}+, т.о. {{a, d}®{f}}ÌS+
5. Неприводимое множество зависимостей. Пусть S1 и S2 два множества зависимостей отношения R. Если S1+ Ì S2+, то говорят, что S2 является покрытием S1. Это означает, что, если выполняются накладываемые на отношение ограничения S2, то будут выполняться и ограничения S1. Если S1 покрытие S2, а S2 является покрытием S1, т.е. S1+ = S2+, то S1 и S2 называют эквивалентными множествами ФЗ. Это означает, что, если выполняются ограничения S1, то выполняются ограничения S2, и наоборот. Пусть дано отношение R с множеством ФЗ S. Практически важной является задача построения множества ФЗ S1, эквивалентного S и при этом имеющего принципиально более простую структуру. Для эквивалентных множеств ФЗ S и S1 отношения R будем говорить, что S1 проще, чем S, если при модификации R СУБД может проверить ФЗ S1 быстрее, чем проверить S. В теории реляционных баз данных принято выбирать так называемые неприводимые множества ФЗ. Множество ФЗ называется неприводимым тогда и только тогда, когда: 1) Правая (зависимая) часть каждой ФЗ множества S содержит только один атрибут. 2) В левой части каждой ФЗ множества S не может быть опущен ни один атрибут без изменения замыкания S+. 3) Ни одна ФЗ в S не может быть опущена из S без изменения S+. Пояснение: по п.2, т.е. нельзя преобразовать (конвертировать) S путем удаления некоторых атрибутов из детерминантов S во множество, эквивалентное S. по п.2, говорят, что множество S в этом случае неприводимое слева. по п.3, нельзя конвертировать S путем удаления каких-либо Ф.З. из S во множество эквивалентное S. Пример: Дано: отношение R с атрибутами A={a, b, c, d}; множество ФЗ: S={ { a } ® { b, c }; { b } ® { c }; { a } ® { b }; { a, b } ® { c }; { a, c } ® { d }} Найти неприводимое множество, эквивалентное S. 1) Определим во всех ФЗ справа только одноэлементное множество атрибутов S1={{ a } ® { b }, { a } ® { c }, { b } ® { c }, { a,b } ® { c }, { a,c } ® { d }}. Напомним, что любое множество содержит только различимые объекты. Множество ФЗ должно содержать только различные функциональные зависимости. Следовательно { a } ® { b } должна встретится только один раз. Мы преобразовали S в S1 , используя правила Амстронга. Следовательно, S и S1 эквивалентные множества (S+=S1+ и замыкание S не изменилось от преобразования его в S1). 2) Ни один атрибут слева не может быть опущен без изменения замыкания множества зависимостей. Рассмотрим последние две зависимости: · в { a,c } ® { d } – в детерминанте атрибут с можно опустить, т.к. (a®c) Ù(ac→d)~(a→ac) Ù(ac→d)~(a→ac) Ù(a→d)~(a→c) Ù(a→d). S1 преобразовали с помощью правил Амстронга в S2={{ a } ® { b }, { a } ® { c }, { b } ® { c }, { a,b } ® { c }, { a } ® { d }}. При этом S1+=S2+. · Зависимость { a,b } ® { c } из S2 может быть исключена, т.к. (a®b)Ù(a→c)~(a→b) Ù(ab→bc)~(ab→b)Ù(ab→c)~ (a→b)Ù(ab→c), следовательно (a→b)Ù(a→c)~(a→b)Ù(ab→c), но ФЗ (a→b) и (a→c) уже входят в S2 и Зависимость {a,b} ® { c } из S2 может быть исключена. Получим S3={{ a } ® { b }, { a } ® { c }, { b } ® { c }, { a } ® { d }}. 3) Ни одна ФЗ не может быть опущена без изменения S+. По третьему правилу Амстронга (транзитивность) ({a} ® {b} Ù {b} ® {c})=>{a} ® {c}, следовательно, из S3 можно опустить {a} ® {c} без изменения замыкания. Окончательно получаем S4={ a→b, b→c, a→d} – неприводимое множество ФЗ для S.
Пример: Дано отношение – расписание занятий с атрибутами: D – день недели (1…5), P – номер урока (1…8), C – номер класса, T – имя учителя, L – название урока. Кортеж (d,p,c,t,l) является элементом этого отношения тогда и только тогда, когда урок l проводится учителем t в классе с в момент времени d,p. Предположим, что каждый урок имеет название, уникальное по отношению ко всем урокам этой недели. Ответить на вопросы: Какие ФЗ выполняются для этого отношения? Какие потенциальные ключи отношения? Решение: L→D,P,C,T D,P,C→T D,P,T→C D,P,C→L
6 Потенциальные ключи и функциональные зависимости. Если Х является потенциальным ключом отношения R (например, первичным ключом), то все атрибуты этого отношения функционально зависят от Х. Если отношение R удовлетворяет функциональной зависимости А®B и А не является потенциальным ключом, то R обладает некоторой избыточностью. Пример: A={<Поставщик>,<Город>,<Товар>,<Количество>} множество атрибутов с потенциальным ключом ={<Поставщик>,<Товар>} Есть ФЗ <Поставщик>®<Город>, то отношение обладает избыточностью, т.к. факт: поставщик из данного города повторяется в нескольких кортежах.
Дата добавления: 2014-01-05; Просмотров: 1437; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |