Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс лекций СБД.doc
Скачиваний:
23
Добавлен:
13.11.2019
Размер:
1.94 Mб
Скачать
    1. Нормальные формы, обоснованные более сложными зависимостями

В

Д

П

У

Физика

Петров

Иванов

Механика

Оптика

Математика

Иванов

Геометрия

Мат. анализ

Рис. 5.5.1. Ненормализованное отношение ДПУ

следующих нормальных формах (4НФ и 5НФ) учитываются не только функциональные, но и многозначные зависимости и зависимости соединения между атрибутами отношения. Для знакомства с ними рассмотрим ненормализованное отношение, показанное на рис. 5.5.1. Каждый кортеж отношения содержит название дисциплины, группу имен преподавателей, и набор учебников. Это значит, что каждый курс может преподаваться любым преподавателем с использованием любых учебников. Преобразуем это отношение в эквивалентное нормализованное. Для представленных данных функциональные зависимости не определены. Поэтому нет формальной основы для декомпозиции этого отношения и нормализованное отношение изображено на рис. 5.5.2.

О

Д

П

У

Физика

Петров

Механика

Физика

Петров

Оптика

Физика

Иванов

Механика

Физика

Иванов

Оптика

Математика

Иванов

Геометрия

Математика

Иванов

Мат. анализ

Рис. 5.5.2. Нормализованное отношение ДПУ

Д

П

Д

У

Физика

Петров

Физика

Механика

Физика

Иванов

Физика

Оптика

Математика

Иванов

Математика

Геометрия

Математика

Мат. анализ

Рис. 5.5.3. Проекции {Д,П} и {Д,У} отношения ДПУ

чевидно, что отношение ДПУ характеризуется значительной избыточностью и приводит к возникновению аномалий обновления, например, при добавлении нового преподавателя надо вводить по кортежу на каждый учебник. Тем не менее, отношение является полностью ключевым и поэтому находится в НФБК. Возникающие проблемы вызваны тем, что преподаватели и учебники полностью независимы друг от друга. Проблема нормализованного отношения ДПУ не возникла бы, если бы первоначально были разделены все независимые повторяющиеся группы. В нашем случае можно было улучшить ситуацию, заменив отношение ДПУ проекциями {Д,П} и {Д,У} (рис. 5.5.3). При этом обе проекции являются полностью ключевыми и находятся в НФБК, а их соединение дает исходную таблицу, то есть, декомпозиция выполнена без потерь. Такая декомпозиция не может быть выполнена на основе функциональных зависимостей, которых нет в этом примере. Ее можно осуществить на основе многозначной зависимости. Многозначные зависимости – это обобщение функциональных зависимостей в том смысле, что каждая функциональная зависимость является многозначной, у которой зависимая часть является одноэлементным множеством.

В отношении ДПУ есть две многозначные зависимости: ДП и ДУ.

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

Вторая многозначная зависимость интерпретируется аналогично.

Пусть А,В,С являются произвольными подмножествами множества атрибутов отношения R. В многозначно зависит от А (АВ) тогда и только тогда, когда множество значений В, соответствующее заданной паре значений (А,С) отношения R, зависит только от А, но не зависит от С.

Очевидно, что многозначная зависимость АВ выполняется только тогда, когда выполняется многозначная зависимость АС. Многозначные зависимости всегда образуют связанные пары: AB||C.

Возвращаясь к проблемам отношения ДПУ, можно сказать, что они связаны с существованием многозначных зависимостей, которые не являются функциональными (именно наличие таких зависимостей требует вставлять два кортежа, когда надо добавить данные еще об одном преподавателе физики). Проекции {Д,П} и {Д,У} не содержат многозначных зависимостей и поэтому являются более желательными. Прежде чем дать определение четвертой нормальной формы, познакомимся с теоремой Фейгина (R. Fagin):

Пусть А,В,С являются множествами атрибутов отношения R{А,В,С}. Отношение R будет равно соединению его проекций {А,В} и {А,С} тогда и только тогда, когда для отношения R выполняются многозначные зависимости АВ и АС.

Отношение R находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда в случае существования многозначной зависимости AB все остальные атрибуты R функционально зависят от A.

Другими словами:

Отношение R находится в 4НФ, если оно находится в НФБК и все многозначные зависимости отношения R фактически являются функциональными зависимостями от потенциальных ключей.

Отношение ДПУ не находится в 4НФ, поскольку содержит многозначную зависимость, не являющуюся функциональной зависимостью. Однако обе проекции {Д,П} и {Д,У} находятся в 4НФ, которая по сравнению с НФБК позволяет создать улучшенную структуру.

Отметим, что концепция независимых проекций Риссанена, основанная на функциональных зависимостях (отношение R{A,B,C}, удовлетворяющее функциональным зависимостям A→B и B→C, следует разбивать на проекции {A,B} и {B,C}, а не {A,B} и {A,C}), применима и к выбору пути декомпозиции, если вместо функциональных зависимостей присутствуют многозначные зависимости A→→B и A→→C. В Этом случае следует провести декомпозицию на отношения {A,B} и {A,C}.

Во всех рассмотренных до этого момента процедурах нормализации производилась декомпозиция одного отношения на два. Иногда это сделать не удается, но возможна декомпозиция на большее число отношений, каждое из которых обладает лучшими свойствами. Такое отношение называется n-декомпозируемым отношением, для которого n>2.

Рассмотрим, например, отношение П-Д-Пр (Поставщики-Детали-Проекты) (рис. 5.5.4). Один и тот же поставщик может поставлять несколько типов деталей для разных проектов. Первичным ключом этого отношения является полная совокупность его атрибутов, отсутствуют функциональные и многозначные зависимости (многозначной зависимости нет, т.к. для П1 набор деталей зависит от проекта). Поэтому отношение находится в 4НФ. Однако в нем могут существовать аномалии (не всегда очевидные), которые можно устранить путем декомпозиции на три отношения (декомпозиция на два отношения невозможно, так как обратная операция не позволяет вернуться к исходному отношению). Причем, степень декомпозиции зависит от кортежей. Например, если в исходном отношении убрать один из первых трех кортежей или добавить кортеж (П2,Д1,Пр2), то его можно разделить на две проекции. Если же в исходном отношении убрать последний кортеж или заменить его кортежем (П2,Д1,Пр2), то его нельзя разделить ни на две, ни на три проекции без нарушения целостности данных. Д екомпозируемость этого отношения может быть фундаментальным и независящим от времени свойством, если добавить дополнительное ограничение.

Утверждение, что ПДПр равно соединению трех проекций ПД, ДПр, ПрП эквивалентно следующему утверждению:

ЕСЛИ пара (П1,Д1) принадлежит отношению ПД

И пара (Д1,Пр1) принадлежит отношению ДПр

И пара (Пр,1П1) принадлежит отношению ПрП,

ТО тройка (П1,Д1,Пр1) принадлежит отношению ПДПр.

Это очевидно, так как тройка П1,Д1,Пр1 находится в соединении проекций ПД, ДПр, ПрП. Обратное утверждение также является истинным всегда.

С другой стороны, справедливо утверждение, что пара (П1,Д1) присутствует в отношении ПД, если тройка (П1,Д1,Пр2) присутствует в отношении ПДПр, пара (П1,Пр1) – в отношении ППр, если (П1,Д2,Пр1) есть в ПДПр, а пара (Д1,Пр1) – в отношении ДПр, если (П2,Д1,Пр1) есть в ПДПр. Тогда, если учесть наше первое утверждение, то в таком отношении должен присутствовать и кортеж (П1,Д1,Пр1)! Значит, чтобы обеспечить корректность отношения ПДПр в любой момент времени, необходимо ввести следующее ограничение:

Если кортежи (П1,Д1,Пр2), (П2,Д1,Пр1) и (П1,Д2,Пр1) принадлежат отношению ПДПр, то и кортеж (П1,Д1,Пр1) также принадлежит этому отношению.

Если это утверждение верно всегда, то есть, для всевозможных дополнительных кортежей отношения ПДПр, то будет получено независящее от времени ограничение на данное отношение, которое называется 3D-ограничением. Поскольку 3D-ограничение удовлетворяется тогда, когда отношение равносильно соединению некоторых его проекций, то такое ограничение называется зависимостью соединения.

Можно обратить внимание на то, что в рассматриваемом нами примере существует некоторая цикличность в данных. Критерием n-декомпозиции отношения для n>2 является некоторое циклическое ограничение. Что означает циклическое ограничение? Пусть в нашем примере последний кортеж означает, что Смитт поставляет гаечные ключи для Манхеттенского проекта. Первые три кортежа несут информацию о том, что Смитт поставляет гаечные ключи, Смитт является поставщиком для Манхеттенского проекта и гаечные ключи используются в Манхеттенском проекте. Но из этих утверждений не следует, что именно Смитт поставляет ключи для данного проекта. Если декомпозировать отношение ПДПр, состоящее из этих трех кортежей, на три проекции, то их соединение не будет равно исходному – появится «лишний» четвертый кортеж (П1,Д1,Пр1), о чем было сказано выше. Чтобы избежать такое несоответствие и вводится дополнительное ограничение, которое может быть легко реализовано декомпозицией отношения. Такая декомпозиция возможна без потерь информации только в случае существования зависимости соединения:

Отношение R(X,Y,...,Z) удовлетворяет зависимости соединения *(X,Y,...,Z) в том и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y, ..., Z.

Рассмотрим два примера аномалий, которые существуют в отношении, на которое наложено 3D-ограничение.

1

П

Д

Пр

П1

Д1

Пр2

П1

Д2

Пр1

Рис. 5.6.5.

. Если в отношение, показанное на рис. 5.6.5, вставить кортеж (П2,Д1,Пр1), то необходимо вставить и кортеж (П1,Д1,Пр1). Но если вставить кортеж (П1,Д1,Пр1), то добавлять кортеж (П2,Д1,Пр1) не обязательно.

2

П

Д

Пр

П1

Д1

Пр2

П1

Д2

Пр1

П2

Д1

Пр1

П1

Д1

Пр1

Рис. 5.6.6.

. В отношении, показанном на рис. 5.6.6, кортеж (П2,Д1,Пр1) можно удалить без проблем. Но если удалять (П1,Д1,Пр1), то необходимо удалить один из оставшихся, чтобы не было некоторой цикличности в данных.

Сейчас теорему Фейгина можно сформулировать в таком виде:

Отношение R(А,В,С) удовлетворяет зависимости соединения *(АВ,АС) тогда и только тогда, когда оно удовлетворяет многозначным зависимостям АВ и АС.

Зависимость соединения является обобщением понятия многозначной зависимости. Более того, это наиболее общая форма зависимости.

Возвращаясь к отношению Поставщики-Детали-Проекты, можно обнаружить, что оно содержит зависимость соединения ПДПр *(ПД, ДПр, ПрП), которая не является ни функциональной, ни многозначной зависимостью и не подразумевается его единственным потенциальным ключом – комбинацией всех атрибутов. Такое отношение рекомендуется декомпозировать на проекции, заданные зависимостью соединения. Такой процесс декомпозиции может повторяться до тех пор, пока все результирующие отношения не будут находиться в пятой нормальной форме (5НФ).

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

Менее строгое определение 5НФ:

Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда, когда в каждой ее полной декомпозиции все проекции содержат возможный ключ. Таблица, не имеющая ни одной полной декомпозиции, также находится в 5НФ.

Сейчас можно сказать, что после 3-декомпозиции отношения ПДПр его проекции ПД, ДПр и ППр находятся в 5 нормальной форме, так как для них вовсе нет зависимости соединения.

Четвертая нормальная форма (4НФ) является частным случаем 5НФ, когда полная декомпозиция должна быть соединением ровно двух проекций. Весьма не просто подобрать реальную таблицу, которая находилась бы в 4НФ, но не была бы в 5НФ.

Для заданного отношения R можно утверждать, что оно находится в 5НФ при условии, что известны все потенциальные ключи и все зависимости соединения. Однако нет алгоритма, позволяющего определять все зависимости соединения. Но такие отношения чрезвычайно редки на практике.

Пятая нормальная форма – это последняя нормальная форма, которую можно получить путем декомпозиции. Ее условия достаточно нетривиальны, но она практически не используется.