КАТЕГОРИИ: Архитектура-(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) |
Многозначные зависимости
Пусть А, В и С являются произвольными подмножествами множества атрибутов отношения R. Говорить, что В многозначно зависит от А (А–››В или А многозначно определяет В), тогда и только тогда, когда множество значений (множество атрибутов) В зависит от множества значений атрибутов А и не зависит от множества значений атрибута С. Рассматриваются зависимости, которые выполняются всегда, а не для данного состояния отношения. Если в отношении R {А, В, С} выполняется многозначная зависимость А–››В, то каждому значению атрибутов А соответствует некоторое множество значений атрибутов В, причем значение атрибутов В не зависит от значения атрибутов С, а зависит только от значений атрибутов А. Таким образом, если зафиксировать значения А получим (a, b1, c1), (a, b2, c2)…(a, bn, cn), но тогда значению а соответствует некоторое множество значений В: {b1, b2… bn}, но а соответственно множество значений С: {с1, с2… сn}, т.е. существует и А–››С. Этот факт имеет место всегда, т.е. многозначные зависимости существуют парами, что регистрируется как: А–››В|С, для примера КУРС–››ПРЕПОДАВАТЕЛЬ|УЧЕБНИК. Заметим, что ФЗ является частным случаем многозначной зависимости (МЗ).
3. Теорема Фейгина. Пусть А, В и С являются множествами атрибутов отношения R{А, В, С}. Отношение R будет равно соединению его проекций {A, B} и {A, C} тогда и только тогда, когда для отношения R выполняется многозначная зависимость А–››В|С. Эта теорема является обобщенной теоремой ХЕЗА. Отношение R находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда если существуют такие подмножества А и В атрибутов отношения R, что выполняется (нетривиальная) многозначная зависимость А–››В, то все атрибуты отношения R также функционально зависимы от атрибута А. В 4НФ могут существовать только нетривиальные зависимости (функциональные или многозначные) вида K→X, где К – потенциальный ключ, Х – любой атрибут. Отношение R находится в 4НФ, если оно находится в НФБК и все многозначные зависимости являются фактически функциональными зависимостями от потенциальных ключей. Отношение R не находится в 4НФ, т.к. содержит многозначную зависимость, не говоря о том, что она должна быть функциональной зависимостью от потенциального ключа. Отношения R1 и R2находятся в 4НФ. Фейгин показал, что 4НФ всегда может быть получена без потери информации. Алгоритм транзитивной зависимости А→В и В→С можно ввести понятие многозначной функциональной зависимости А–››В и В–››С. В этом случае (наличие многозначной транзитивной зависимости) отношение R (A, B, C) следует также разбить на два отношения {А, В} и {В, С}.
4. Зависимости соединений и пятая нормальная форма. Рассмотрим пример: R
Пусть данное отношение является полностью ключевым, не содержит нетривиальных и многозначных зависимостей, т.е. находится в 4НФ. Рассмотрим три проекции этого отношения: R1
R2
R3
Соединим R1 и R2 по атрибуту детали R4
Петров11Соединим R4 и R3 по комбинации атрибутов (проект, поставщик) R5
Отношение R5=R Можно проверить аналогичный результат (появление линейного кортежа) получается, если первоначально соединить другие две проекции и потом появляется исходное отношение, после соединения с третьем. Итак получили свойства отношения R: Отношение R нельзя разбить ни на какие два отношения, которые после соединения будут опять отношения R. Но если разбить R на три отношения, то после их соединения получим исходное отношение R. Такое отношение называется 3-х декомпозируемым отношением. Аналогично можно определить n-декомпозируемые отношения. Для n-декомпозируемого отношения возможна декомпозиция без потери только на n проекций, а на меньшее число проекций декомпозиция невозможна. Свойства 3-х – декомпозируемости рассмотрено на конкретном состоянии отношения (в некоторый момент времени). Это свойство может быть и более фундаментальным и не зависеть от времени. Обозначим RSPJ {S, P, J} RSP {S, P}=ПSPRSPJ RPJ {P, J}=ПPJRSPJ RJS {J, S}=ПJSRSPJ (1) (RSPJ =RSP join RPJ join RJS)~ (2) ~((s1, p1)Î RSP)^ ((p1, j1)Î RPJ)^ ((j1, s1)Î RJS)→((s1, p1, j1)Î RSPJ) – обратное выполняется всегда! (s1, p1)Î RSP) ~(s1, p1, j2)Î RSPJ (p1, j1)Î RPJ)~(s2, p1, j1)Î RSPJ (j1, s1)Î RJS)~ (s1, p2, j1)Î RSPJ (3) ((s1, p1, j2)Î RSPJ)^((s2, p1, j1)Î RSPJ)^((s1, p1, j2)Î RSPJ)→ (s1, p1, j1)Î RSPJ Смысл (3): если s1 связано с p1 (т.е. находится в одном кортеже (вспомнить прямое произведение)), p1 связано с j1, и j1 связано опять с s1, то s1, p1 и j1 должны находится в одном кортеже. Это циклическое ограничение! Отношение будет n-декомпозируемым для n>2 тогда и только тогда, когда оно удовлетворяет некоторому циклическому ограничению. Кратко 3-декомпозируемое ограничение обозначим 3D ограничение. Вернемся к примеру приведенному выше. Пусть: деталь 1 – гаечные ключи, деталь 2 – гайки, тогда 3D ограничение для нашего примера означает: Если Иванов поставляет гаечные ключи и гаечные ключи поставляются по проекту1, и Иванов является поставщиком проекта 1, то Иванов поставляет гаечные ключи по проекту 1. Замечание: Данное утверждение справедливо не для всех отношений, а только для 3-декомпозируемых отношений, т.е. 3D ограничение должно присутствовать в предметной области. Вывод (замечание): 3D ограничение удовлетворяется тогда и только тогда, когда отношение равносильно соединению некоторых его проекций, то такие ограничения называют зависимостью соединений. Зависимость соединения такое же ограничение, как многозначная и функциональная зависимость. Пусть R – отношение A, B, … Z – произвольные подмножества множества атрибутов отношения R. Отношение R удовлетворяет зависимости соединения (записывают *(A, B, … Z)) тогда и только тогда, когда оно равносильно соединению своих проекций с подмножества атрибутами A, B, …Z. Для отношения {S, P, J} обозначим SP={S, P}, PJ={P, J}, SJ={S, J}. Пусть отношение обладает зависимостью. Замечание: пусть дано отношение R:{A, B, C} и есть две Ф.З. А→В и А→С по т. Хеза R можно разбить на два отношения R1:{A, B} и R2:{A, С} R=R1 join R2 Данная декомпозиция определяется (подразумевается) атрибутам(и) А. По определению зависимости соединения такое соединение является ограничением, т.к. R=AB join AC. Для отношения {S, P, J} имеет место зависимость соединения *(SP, PJ, JS), но нельзя указать атрибут(ы), которые определяют разбиение на SP, PJ, JS соединения *(SP, PJ, JS). Аномалии такого отношения: пусть есть состояние:
Добавим кортеж (S2, P1, J1) есть (S1, P1, J2) и (S2, P1, J1) и (S1, P2, J1) тогда должен быть кортеж (S1, P1, J1) т.е. его так же необходимо вставить. Если вставить (S1, P1, J1), то добавить (S2, P1, J1) не нужно.
Если удалить (S2, P1, J1) то побочных эффектов нет. Но если удалить (S1, P1, J1), то необходимо удалить и один из основных 3 х кортежей, чтобы разорвать циклическое ограничение. Для устранения таких аномалий необходимо разбить отношение на проекции, таким образом, чтобы только потенциальные ключи определяли зависимость соединения. {K, X1, X2, …Xn}=>K→X1, K→X2, … K→Xn, где K – потенциальный ключ. Пусть дано отношение {K, X1, X2, …Xn}, где К – потенциальный ключ, X1, X2, …Xn – прочие атрибуты. Очевидно имеет место K→X1, K→X2, … K→Xn (ФЗ) По т. Хеза имеет место *(КX1, КX2, …КXn). Фейгин предложил алгоритм, с помощью которого для заданной зависимости соединения и множества потенциальных ключей проверить, определяется ли данная зависимость соединения данными потенциальными ключами. Но для этого необходимо знать зависимое соединение и множество потенциальных ключей. Обнаружить все зависимости соединения очень сложно. Следовательно, процесс определения находится отношение в 4НФ или 5НФ до конца не определен, но из практики такие отношения очень редкие. 5НФ является последней в том смысле, что оно свободно от аномалий, которые можно устранить с помощью разбиения на проекции. В отношении {S, P, J} есть зависимость соединения *(SP, PJ, JS), но она не определяется потенциальными ключами => необходима декомпозиция. Каждая из проекций Пример: SP может содержать кроме ключа SP другие атрибуты и т.е. может быть подвергнута декомпозиции, но смысла в такой декомпозиции нет, т.к. каждое полученное отношение содержит один и тот же потенциальный ключ (нет ни каких преимуществ).
Дата добавления: 2014-01-05; Просмотров: 905; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |