|
Программирование >> Реляционные базы данных
Другие множества кортежей при других функциональных зависимостях могут быть в BCNF, но не в 4NF. Рмс. 3.41. 4NF влечет BCW, котороя влечет 3NF Нормальные формы можно сравнивать также по гарантиям, которые они обеспечивают для множеств отношений в нормальной форме, получающихся в результате декомпозиции (рис. 3.42). BCNF (а значит, и 4NF) устраняет избыточность II другие аномалии, вызванные функциональными зависимостями, тогда как 4NF устраняет дополнительную избыточность, вызванную нетривиальными многозначными зависимостями, не являюши.мися функциональными зависимостями. Часто, но НС всегда, для устранения такой избыточности достаточно 3NF. Декомпозицию в 3NF всегда можно выбрать для того, чзобы сохранить функциональные зависимости: они внедряются в результирующие отношения (хотя такой алгоритм не обсуждается в данной книге). BCNF не гарантирует сохранения функциональных зависимостей, и ни одна из нормальных форм не гарантирует сохранения многозначных зависимостей, хотя в типичных случаях они сохраняются.
Рие. 3.42. Свойства нормольных форм и их декомпозиции 3.8.7 Упражнения к разделу 3-8 * Ылражнвине 3.8.1. Пусть имеется отношение R(A, В, С) с многозначной зависимостью А - В. Известно, что в текущий экземпляр R входят кортежи (а, d с,), (о, ft с,) II (п. 6;, cj). Какие еще кортежи должны входить в й? * Упражнение 3.8.2. Предположим, пго есть отношение, в котором нужно записать ммя человека, номер его страхового полиса и дату рождения, имя, номер страхового полиса м дату рождения его ребенка, а также серийный номер и марку его машины. Точнее говоря, это отношение имеет кортежи {п, S, 6, СП, CS, сЬ, as, от) 1. л - имя человека с номером страхового полиса .!. 2. А -дата рождения человека л. 3. сп - имя одного из детей п. 4. с.$ - номер страхового полиса сл. 5 с/> -дата рождения сп. 6. а.!-серийный номер автомобиля, принадлежащего л. 7. am - марка автомобиля с серийным номером as. Для этого отношения: a) укажите функциональные и многозначные зависимости, которые можно считать истинными; b) проведите декомпозицию в 4NF. Упрожнение 3.8.3. Для каждой из следующих схем и зависимостей: *а) R{A, В, С, D) с многозначными зависимостями А -уу 8 w А С; b) R(A, В. С, D) с многозначными зависимостями /} В и В -н- CD; c) /?(/}, В, С, D) с многозначными зависимостями АВ С и функциональной зависимостью B-v D; d) R{A, В, С, Д £) с многозначными зависимостями А В, АВ -у* С и функциональными зависимостями А-- D н АВ--> Е выполните следующее: О найдите все нарушения 4NF; ) разложите отношения на множества отношений, находящихся в 4NF. I Упрожнение 3.8.4. В упражнении 2.3.2 обсуждались четыре различных допущения об огношении Births. Для каждого из них укажите многозначные зависимости (отличающиеся от функциональных), которые могут быть истинными в результирующем отношении. Упрожнение 3.8.5. Обоснуйте неформально, почему ни один из пяти атрибутов в примере 3 43 функционально не определяется четырьмя остальными ! Упрожиснис 3.8.6. С помощью определения многозначной зависимости покажите, почему верно правило лопсднительности. ! Упрожнение 3.8.7. Докажите следующие правила для многозначных зависи-чюстей: *а) Правило объединения. Если X, Ук Z- множества атрибугов, Х- Y и А- M-Z то X->{YZ). Ь) Правило пересечения. Если X, Y и Z- множества атрибутов. Л -м- У и X->Z. то X-(,YrZ). 3-9 Пример схемы БД Рассмотрев проблемы, которые могуг возникнуть при построении отношений непосредственно из ODL или E/R-проектов, н методы устранения аномалий, примем единственную схему реляционной БД, которую будем использовать в примерах следующей части книги, посвященной программированию БД пользователем. Схема БД составлена из примеров о фипьмах, кинозвездах и студия.х. В ней используются нормализованные отношения, аналошчные тем, которые были построены в предыдущих разделах. Однако здесь есть также атрибуты и одно отношение. MovieExec, которые не встречались в предыдущих примерах. Цель таких из.мснений - обеспечить возможность изучения различных типов данных н разных способов представления информации в примерах 4 - 8 глав. Схема БД приведена на рис. 3.43. В схеме пять отношенн,!. Афибуты каждого отношения приведены вместе с предполагаемой областью каждого атрибута. Ключевые атрибуты отношения здесь написаны прописными буквами, при ссьшках на них в тексте они будут набраны строчными буквами, как и прежде. Например, все три атрибута составляют ключ озношения Starsln. Отношение Movie имеет шесть атрибутов; title и year, как и прежде, составляют ключ для Movie. Атрибут title - строка, а year - целое число В схему внесены следующие новшества: Введено понятие номера сертификата для производителей фильмов - пре-зцаентов студий и продюсеров. Сертификат - это уникальное целое число, которое находится во внешнем ведении, например рсгистрагуры или профсоюза. Номера сертификатов используются в качестве к-июча для производителей фильмов, хотя кинозвезды не всегда имеют сертификаты и в качестве ключа для них по-прежнему используется name. Такое решение вряд ли возможно в действительности, поскольку иногда у двух звезд бывает одно и то же имя, но мы избрали такой путь, чтобы показать различные варианты выбора. c) npaeiuo разности. Если X. Ун 7-множества атрибутов. Х- У и X-Z, то d) Тривиальные .многозначные пекледоватеяьности. Еслн К с .А, то ) истинно для любого отиошения. с) Другой источник тривиальных многозначных последовательностей. Еслн Л-- )-это вес атрибуты отношения Л, то Х- У верно в Л. О Удапение атрибутов, входящих в левую и правую часть. Если верно X-t У, то верно и Д->* ()- X). I Упрожнение 3.8.8. Приведите примеры противоположных отношений, показывающие, что следующие правила для многозначных зависимостей не верны; *а) Если /4 -н ВС, то АВ. b) Если А-¥* В, то А-> Б. c) Если АВ-* С, то /4- С ! Упражнение 3.8.9. При преобразовании из ODL в отношения часто возникают многозначные зависимости. Сформулируйте приншшы извлечения многозначных зависимостей из многозначных атрибугов и связей при применении стратегии построения схем отношений, описанной в разделах 3,2.2 и 3.2.5.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |