КАТЕГОРИИ: Архитектура-(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) |
Корректность процедуры нормализации - декомпозиция без потерь. Теорема Хеза 2 страница
Рассмотрим следующий пример. Пусть требуется учитывать данные об абитуриентах, поступающих в ВУЗ. При анализе предметной области были выделены следующие требования:
Предположим, что нам требуется хранить данные о том, какие предметы должен сдавать каждый абитуриент. Попытаемся хранить данные в одном отношении "Абитуриенты-Факультеты-Предметы":
Таблица 7 Отношение "Абитуриенты-Факультеты-Предметы" В данный момент в отношении хранится информация о том, что абитуриент Иванов поступает на два факультета (математически и физический), а абитуриент Петров - только на математический. Кроме того, можно сделать вывод, что на математическом факультете нужно сдавать математику и информатику, а на физическом - математику и физику. Кажется, что в отношении имеется аномалия обновления, связанная с тем, что дублируются фамилии абитуриентов, наименования факультетов и наименования предметов. Однако эта аномалия легко устраняется стандартным способом - вынесением всех наименований в отдельные отношения, оставляя в исходном отношении только соответствующие номера:
Таблица 8 Модифицированное отношение "Абитуриенты-Факультеты-Предметы"
Таблица 9 Отношение "Абитуриенты"
Таблица 10 Отношение "Факультеты"
Таблица 11 Отношение "Предметы" Теперь каждое наименование встречается только в одном месте. И все-таки как в исходном, так и в модифицированном отношении имеются аномалии обновления, возникающие при попытке вставить или удалить кортежи. Аномалия вставки. При попытке добавить в отношение "Абитуриенты-Факультеты-Предметы" новый кортеж, например (Сидоров, Математический, Математика), мы обязаны добавить также и кортеж (Сидоров, Математический, Информатика), т.к. все абитуриенты математического факультета обязаны иметь один и тот же список сдаваемых предметов. Соответственно, при попытке вставить в модифицированное отношении кортеж (3, 1, 1), мы обязаны вставить в него также и кортеж (3, 1, 2). Аномалия удаления. При попытке удалить кортеж (Иванов, Математический, Математика), мы обязаны удалить также и кортеж (Иванов, Математический, Информатика) по той же самой причине. Таким образом, вставка и удаление кортежей не может быть выполнена независимо от других кортежей отношения. Кроме того, если мы удалим кортеж (Иванов, Физический, Математика), а вместе с ним и кортеж (Иванов, Физический, Физика), то будет потеряна информация о предметах, которые должны сдаваться на физическом факультете. Декомпозиция отношения "Абитуриенты-Факультеты-Предметы" для устранения указанных аномалий не может быть выполнена на основе функциональных зависимостей, т.к. это отношение не содержит никаких функциональных зависимостей. Это отношение является полностью ключевым, т.е. ключом отношения является все множество атрибутов. Но ясно, что какая-то взаимосвязь между атрибутами имеется. Эта взаимосвязь описывается понятием многозначной зависимости. Определение 2. Пусть Тогда атрибуты (множества атрибутов) Замечание. Меняя местами кортежи В отношении "Абитуриенты-Факультеты-Предметы" имеется многозначная зависимость Факультет Словами это можно выразить так - для каждого факультета (для каждого значения из Замечание. Если в отношении Действительно, действуя формально в соответствии с определением многозначной зависимости, предположим, что в отношении Таким образом, понятие многозначной зависимости является обобщением понятия функциональной зависимости. Определение 3. Многозначная зависимость В отношении "Абитуриенты-Факультеты-Предметы" имеется именно нетривиальная многозначная зависимость Факультет Теорема (Фейджина). Пусть Декомпозиция отношения Замечание. Если зависимость Доказательство теоремы. Необходимость. Пусть декомпозиция отношения Предположим, что отношение Достаточность. Пусть имеется многозначная зависимость Как и в доказательстве теоремы Хеза, нужно доказать, что Включение Докажем включение Определение 4. Отношение Отношение "Абитуриенты-Факультеты-Предметы" находится в НФБК, но не в 4НФ. Согласно теореме Фейджина, это отношение можно без потерь декомпозировать на отношения:
Таблица 12 Отношение "Факультеты-Абитуриенты"
Таблица 13 Отношение "Факультеты-Предметы" В полученных отношениях устранены аномалии вставки и удаления, характерные для отношения "Абитуриенты-Факультеты-Предметы". Заметим, что полученные отношения остались полностью ключевыми, и в них по-прежнему нет функциональных зависимостей. Отношения с нетривиальными многозначными зависимостями возникают, как правило, в результате естественного соединения двух отношений по общему полю, которое не является ключевым ни в одном из отношений. Фактически это приводит к попытке хранить в одном отношении информацию о двух независимых сущностях. В качестве еще одного примера можно привести ситуацию, когда сотрудник может иметь много работ и много детей. Хранение информации о работах и детях в одном отношении приводит к возникновению нетривиальной многозначной зависимости Работник 5НФ (Пятая Нормальная Форма) Функциональные и многозначные зависимости позволяют произвести декомпозицию исходного отношения без потерь на две проекции. Можно, однако, привести примеры отношений, которые нельзя декомпозировать без потерь ни на какие две проекции. Пример 3. Рассмотрим следующее отношение
Таблица 14 Отношение R Всевозможные проекции отношения
Таблица 15 Проекция R1=R[X,Y]
Таблица 16 Проекция R2=R[X,Z]
Таблица 17 Проекция R3=R[Y,Z] Как легко заметить, отношение
Таблица 18 R1 JOIN R2 Серым цветом выделен лишний кортеж, отсутствующий в отношении Однако отношение
Это говорит о том, что между атрибутами этого отношения также имеется некоторая зависимость, но эта зависимость не является ни функциональной, ни многозначной зависимостью. Определение 5. Пусть
тогда и только тогда, когда оно равносильно соединению всех своих проекций с подмножествами атрибутов
Можно предположить, что отношение
Утверждать, что это именно так мы пока не можем, т.к. определение зависимости соединения должно выполняться для любого состояния отношения Покажем, что зависимость соединения является обобщением понятия многозначной зависимости. Действительно, согласно теореме Фейджина, отношение Теорема Фейджина (другая формулировка). Отношение Т.к. теорема Фейджина является взаимно обратной, то ее можно взять в качестве определения многозначной зависимости. Таким образом, многозначная зависимость является частным случаем зависимости соединения, т.е., если в отношении имеется многозначная зависимость, то имеется и зависимость соединения. Обратное, конечно, неверно. Определение 6. Зависимость соединения
Для удобства работы сформулируем это определение так же и в отрицательной форме: Определение 7. Зависимость соединения
Определение 8. Отношение Определения 5НФ может стать более понятным, если сформулировать его в отрицательной форме: Определение 9. Отношение Возвращаясь к примеру 3, становится понятно, что не зная ничего о том, какие потенциальные ключи имеются в отношении и как взаимосвязаны атрибуты, нельзя делать выводы о том, находится ли данное отношение в 5НФ (как, впрочем, и в других нормальных формах). По данному конкретному примеру можно только предположить, что отношение в примере 3 не находится в 5НФ. Предположим, что анализ предметной области позволил выявить следующие зависимости атрибутов в отношении (i) Отношение (ii) Имеется следующая зависимость (довольно странная, с практической точки зрения): если в отношении Утверждение. Докажем, что при наличии ограничений (i) и (ii), отношение находится в 4НФ, но не в 5НФ. Доказательство. Покажем, что отношение
Дата добавления: 2014-12-08; Просмотров: 509; Нарушение авторских прав?; Мы поможем в написании вашей работы! |