КАТЕГОРИИ: Архитектура-(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) |
Нормальная форма Бойса-Кодда
Определение (надключа). Множество атрибутов, содержащее первичный ключ отношения, называется надключом. Определение (BCNF). Отношение R находится в BCNF тогда и только тогда, если при наличии в отношении R нетривиальной зависимости x1,…,xn ® y, множество атрибутов {x1,…,xn} является надключом отношения R. Детерминантом будем называть атрибут или группу атрибутов, от которой полностью функционально зависит другой атрибут. Например, если имеется зависимость x1,…,xn ® y, то множество атрибутов {x1,…,xn} называется детерминантом. Для проверки принадлежности отношения к BCNF необходимо найти все его детерминанты и убедиться в том, что они являются надключами. Соотношение между 3NF и BCNF. Нормальная форма Бойса-Кодда является усиленной 3-й нормальной формой. Причиной того, что отношение в 3NF не удовлетворяет требованиям BCNF, является наличие нескольких потенциально первичных ключей в отношении. Схема приведения отношения к BCNF Рассмотрим отношение R(x1, x2, y). Пусть x1 – первичный ключ, существуют функциональные зависимости x1 ® x2, x1 ® y, а также – зависимости x2 ® x1 и x2 ® y. a) Предположим, что в отношении отсутствуют повторяющиеся группы атрибутов и, следовательно, отношение R находится в 1NF. a) Поскольку первичный ключ не является составным, зависимости x1 ® x2, x1 ® y являются полными функциональными зависимостями и, следовательно, отношение R находится в 2NF. b) Поскольку существует зависимость x2 ® x1, зависимости x1 ® x2 и x1 ® y не являются транзитивными. Следовательно, отношение R находится в 3NF. c) Однако отношение R не удовлетворяет требованию BCNF. Существует, например, зависимость x2 ® x1, однако x2 не является надключом. Декомпозиция отношения R. L1={x1, y}, L2={x1, x2} – подмножества атрибутов. , причем Утверждение. Любое отношение с двумя атрибутами R(x,y) удовлетворяет требованиям BCNF. Предположим, что в отношении не существует повторяющихся групп записей, и отношение удовлетворяет требованию целостности сущностей (все кортежи уникальны), т.е. рассматривается отношение в 1NF. Пусть в отношении R не существует зависимостей x ® y и y ® x или существуют одновременно обе зависимости x ® y и y ® x. В качестве первичного ключа выберем пару атрибутов {x,y}. Если в качестве первичного ключа выбрать, например, атрибут x (при наличии обеих зависимостей), то будут выполнены требования 2NF, 3NF, и не выполнены требования BCNF. Если в качестве первичного ключа выбрать пару {x,y}, то поскольку неключевых атрибутов нет, выполняются требования 2NF, 3NF, BCNF. Пусть в отношении R существует зависимость x ® y и не существует обратной y ® x (или наоборот). В качестве первичного ключа выберем атрибут {x}. Выполняются требования 2NF, поскольку первичный ключ не составной, x ® y является полной, других зависимостей нет. Выполняются требования 3NF, поскольку в отношении два атрибута, и транзитивных зависимостей нет. Выполняются требования BCNF, поскольку имеется единственная зависимость x ® y, и атрибут x является надключом. Выводы Метод декомпозиции (нормализации) отношения, основанный на анализе существующих зависимостей между атрибутами, позволяет разбить исходную подсхему отношения на две и более подсхем со следующими свойствами: a) Каждая подсхема отношения удовлетворяет требованиям BCNF, и имеет меньшую степень избыточности информации по сравнению с исходной подсхемой; b) Исходное отношение может быть восстановлено полностью и без избыточности путем естественного соединения полученных подсхем. Упражнение 4. Привести «свой» пример отношения R(x1, x2, y) с функциональными зависимостями, рассмотренными при описании схемы приведения отношения к BCNF. В отношении должно быть не менее 6 кортежей. Выполнить декомпозицию отношения на отношения R1 и R2 и проверить условие . Упражнение 5. Сотрудники некоторой компании проводят собеседования с клиентами. Информация, относящаяся к этим собеседованиям, приведена в отношении clientInterview. Сотрудникам компании, проводящим собеседования с клиентами, в этот день предоставляется специальное помещение. Однако в течение рабочего дня это помещение может использоваться несколькими разными сотрудниками. С клиентом проводится только одно собеседование в день, но он может участвовать в нескольких собеседованиях в разные дни.
Покажите, что отношение clientInterview не удовлетворяет требованиям BCNF? Найдите зависимость между атрибутами отношения, детерминант которой не является надключом. Выполните декомпозицию отношения. И проверьте возможность восстановления исходного отношения посредством естественного соединения полученных отношений.
Дата добавления: 2014-01-20; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |