Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Основные определения




Введение

Функциональные зависимости

В этом разделе речь пойдет о концепции функциональных зависимостей, которая лежит в основе концепции нормальных форм.

По сути, функциональная зависимость (ФЗ) является связью типа «многие к одному» между множествами атрибутов внутри данной переменной-отношения. Например, в рассматриваемой ранее базе данных поставщиков и деталей такой зависимостью является зависимость между множествами атрибутов {S#,P#} и {QTY} в переменной-отношении SP. Это означает, что для любого допустимого значения этой переменной-отношения справедливы следующие правила:

§ Для любой заданной пары значений атрибутов S# и P#существует только одно соответствующее им значение атрибута QTY.

§ Многие разные пары значений атрибутов S# и P# могут иметь одно и то же соответствующее им значение атрибута QTY (в общем случае).

Далее мы представим точное формальное определение функциональной зависимости, а также обсудим несколько интересных формальных свойств, которыми они обладают, используемых в основе научного подхода к решению нескольких практических задач.

 

Для демонстрации основных идей раздела будет использоваться видоизмененная переменная-отношение поставок, которая в дополнение будет содержать в дополнение к обычным атрибутам S#, P# и QTY также атрибут CITY, представляющий город соответствующего поставщика. Эту переменную-отношение назовем SCP (рис. 10.1.).

 

SCP
S# CITY P# QTY
S1 Москва P1  
S1 Москва P2  
S2 Тверь P1  
S2 Тверь P2  
S3 Тверь P2  
S4 Москва P2  
S4 Москва P4  
S4 Москва P5  

 

Рис. 10.1. Пример значения переменной-отношения SCP

 

Приведем определение концепции функциональной зависимости:

Пусть R является переменной-отношением, а X и Y – произвольными подмножествами множества атрибутов переменной-отношения R. Тогда Y функционально зависимо от X, что в символическом виде записывается как:

X ® Y

(читается либо как «X функционально определяет Y», либо «X стрелка Y») тогда и только тогда, когда для любого допустимого значения переменной-отношения R каждое значение множества X отношения R связано в точности с одним значением множества Y отношения R. Иначе говоря, для любого допустимого значения переменной-отношения R, если два кортежа переменной-отношения R совпадают по значению X, они также совпадают и по значению Y.

Левая и правая части функциональной зависимости (X и Y соответственно), называют детерминантом и зависимой частью соответственно.

Пример 10.1. Примером функциональной зависимости для переменной-отношения SCP является зависимость S# ® CITY, поскольку в любой момент времени одному поставщику соответствует в точности один город. Следовательно, любые два кортежа переменной-отношения SCP в один и тот же момент и с одним и тем же номером поставщика должны соответствовать одному и тому же городу. Практически это утверждение можно рассматривать как ограничение целостности для переменной-отношения SCP:

CONSTRAINT S#_CITY

COUNT (SCP {S#}) = COUNT (SCP {S#,CITY});

а запись S# ® CITY может рассматриваться как сокращенный способ представления этой формулировки.

Перечислим еще некоторые ФЗ для переменной-отношения SCP:

{S#,P#} ® QTY

{S#,P#} ® CITY

{S#,P#} ® {CITY, QTY}

{S#,P#} ® S#

{S#,P#} ® {S#, P#, CITY, QTY}

{S#} ® CITY

Следует отметить, что если X является потенциальным ключом переменной-отношения R, то все атрибуты Y переменной-отношения R должны обязательно быть функционально зависимы от X.

Если переменная-отношение R удовлетворяет функциональной зависимости A ® B и A не является потенциальным ключом, то R будет характеризоваться некоторой избыточностью. Например, в переменной-отношении SCP наличие ФЗ S# ® CITY приведет к тому, что сведения о месте расположения поставщика в определенном городе повторятся много раз (это хорошо видно на рис. 10.1.).

Если ограничиться всеми ФЗ, выполняющимися для некоторой переменной-отношения, то их число может быть достаточно большим (см. выше список, где представлена их часть для переменной-отношения SCP). В следующих разделах описаны методы сокращения этого множества. Это задача важна, так как мы уже отмечали, что каждая ФЗ является ограничением целостности, а, следовательно, при каждом обновлении данных в базе СУБД вынуждена будет проверять соблюдение их всех. Таким образом, желательно найти для заданного множества ФЗ S такое множество T, которое (в идеальном случае) было бы существенно меньше множества S, и при этом каждая ФЗ из множества S могла бы быть заменена ФЗ из множества T. Если найти такое множество T, то СУБД достаточно было бы контролировать выполнение ФЗ из этого множества, что автоматически подразумевало бы соблюдение всех ФЗ из множества S. Решение этой задачи представляет большой практический интерес.




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 312; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.