Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базы данных.doc
Скачиваний:
114
Добавлен:
16.03.2016
Размер:
5.67 Mб
Скачать

9.3. Зависимости проекции/соединения и пятая нормальная форма

Приведение отношения к 4NF предполагает его декомпозицию без потерь на две проекции (как и в случае 2NF, 3NF и BCNF). Однако бывают (хотя и нечасто) случаи, когда декомпозиция без потерь на две проекции невозможна, но можно произвести декомпозицию без потерь на большее число проекций. Будем называть n-декомпозируемымотношением отношение, которое может быть декомпозировано без потерь наnпроекций. До сих пор мы имели дело с 2-декомпозируемыми отношениями.

9.3.1. N-декомпозируемые отношения

Начнем с еще одного определения.

В переменной отношения Rс атрибутами (возможно, составными)AиBMVDABназываетсятривиальной, если либоAB, либоA UNION Bсовпадает с заголовком отношенияR.

Тривиальная MVD всегда удовлетворяется. При ABона вырождается в тривиальную FD. В случаеA UNION B = HRтребования многозначной зависимости соблюдаются очевидным образом.

Для примера n-декомпозируемого отношения приn > 2рассмотрим пятый вариант переменной отношенияСЛУЖ_ПРО_ЗАДАН, в которой имеется единственно возможный ключ{СЛУ_НОМ, ПРО_НОМ, СЛУ_ЗАДАН}и отсутствуют нетривиальные MVD. Пример значения переменной отношения приведен нарис. 9.3.

Как показано на рис. 9.3, результат естественного соединения проекцийСЛУЖ_ПРО_НОМиПРО_НОМ_ЗАДАНпочти совпадает с телом исходного отношенияСЛУЖ_ПРО_ЗАДАН, но в нем присутствует один лишний кортеж, который исчезнет после выполнения заключительного естественного соединения с проекциейСЛУЖ_ЗАДАНИЕ. Читателям предлагается убедиться, что исходное отношение будет восстановлено при любом порядке естественного соединения трех проекций.

9.3.2. Зависимость проекции/соединения

Утверждение о том, что значение отношения СЛУЖ_ПРО_ЗАДАНвосстанавливается без потерь путем естественного соединения его проекцийСЛУЖ_ПРО_НОМ,ПРО_НОМ_ЗАДАНиСЛУЖ_ЗАДАНИЕэквивалентно следующему утверждению (BСПЗ,BСПН,BПНЗиBСЗобозначают тела значений переменных отношенийСЛУЖ_ПРО_ЗАДАН,СЛУЖ_ПРО_НОМ,ПРО_НОМ_ЗАДАНиСЛУЖ_ЗАДАНИЕсоответственно):

IF ({сн, пн} BСПНAND {пн, сз}BСПЗAND {сн, сз}BСЗ)

THEN {сн, пн, сз} BСПЗ

Чтобы возможность восстановления без потерь отношения СЛУЖ_ПРО_ЗАДАНпутем естественного соединения его проекцийСЛУЖ_ПРО_НОМ,ПРО_НОМ_ЗАДАНиСЛУЖ_ЗАДАНИЕсуществовала при любом допустимом значении переменной отношенияСЛУЖ_ПРО_ЗАДАН, должно поддерживаться следующее ограничение:

IF ({сн1, пн1, сз2}BСПЗAND {сн2, пн1, сз1}BСПЗ

AND {сн1, пн2, сз1}BСПЗ)

THEN {сн1, пн1, сз1}BСПЗ

Это обычное ограничение реального мира, которое для отношения СЛУЖ_ПРО_ЗАДАНможет быть сформулировано на естественном языке следующим образом:

Если служащий с номеромснучаствует в проектепн,и в проектепнвыполняется заданиесз,и служащий с номеромснвыполняет заданиесз,то служащий с номеромснвыполняет заданиесзв проекте пн.

В общем виде такое ограничение называется зависимостью проекции/соединения. Вот формальное определение.

Пусть задана переменная отношения R, иA, B, …, Zявляются произвольными подмножествами заголовкаR(составными, перекрывающимися атрибутами). В переменной отношенияRудовлетворяетсязависимость проекции/соединения (Project-Join Dependency – PJD)*( A, B, …, Z)тогда и только тогда, когда любое допустимое значениеrпеременной отношенияRможно получить путем естественного соединения проекций этого значения на атрибутыA, B, …, Z.