Введение в системы управления базами данных


Теперь каждое наименование встречается только



Пример 11

Номер
Предмета Предмет
1 Математика
2 Информатика
3 Физика

Таблица 11 Отношение "Предметы"

Теперь каждое наименование встречается только в одном месте.

И все-таки как в исходном, так и в модифицированном отношении имеются аномалии обновления, возникающие при попытке вставить или удалить кортежи.

Аномалия вставки. При попытке добавить в отношение "Абитуриенты-Факультеты-Предметы" новый кортеж, например (Сидоров, Математический, Математика), мы обязаны добавить также и кортеж (Сидоров, Математический, Информатика), т.к. все абитуриенты математического факультета обязаны иметь один и тот же список сдаваемых предметов. Соответственно, при попытке вставить в модифицированное отношении кортеж (3, 1, 1), мы обязаны вставить в него также и кортеж (3, 1, 2).

Аномалия удаления. При попытке удалить кортеж (Иванов, Математический, Математика), мы обязаны удалить также и кортеж (Иванов, Математический, Информатика) по той же самой причине.

Таким образом, вставка и удаление кортежей не может быть выполнена независимо от других кортежей отношения.

Кроме того, если мы удалим кортеж (Иванов, Физический, Математика), а вместе с ним и кортеж (Иванов, Физический, Физика), то будет потеряна информация о предметах, которые должны сдаваться на физическом факультете.

Декомпозиция отношения "Абитуриенты-Факультеты-Предметы" для устранения указанных аномалий не может быть выполнена на основе функциональных зависимостей, т.к. это отношение не содержит никаких функциональных зависимостей. Это отношение является полностью ключевым, т.е. ключом отношения является все множество атрибутов. Но ясно, что какая-то взаимосвязь между атрибутами имеется. Эта взаимосвязь описывается понятием многозначной зависимости.

Определение 2. Пусть

Теперь каждое наименование встречается только
- отношение, и
Теперь каждое наименование встречается только
,
Теперь каждое наименование встречается только
,
Теперь каждое наименование встречается только
- некоторые из его атрибутов (или непересекающиеся множества атрибутов).

Тогда атрибуты (множества атрибутов)

Теперь каждое наименование встречается только
и
Теперь каждое наименование встречается только
многозначно зависят от
Теперь каждое наименование встречается только
(обозначается
Теперь каждое наименование встречается только
), тогда и только тогда, когда из того, что в отношении
Теперь каждое наименование встречается только
содержатся кортежи
Теперь каждое наименование встречается только
и
Теперь каждое наименование встречается только
следует, что в отношении
Теперь каждое наименование встречается только
содержится также и кортеж к
Теперь каждое наименование встречается только
.

Замечание. Меняя местами кортежи

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

В отношении "Абитуриенты-Факультеты-Предметы" имеется многозначная зависимость Факультет

Теперь каждое наименование встречается только
Абитуриент|Предмет.

Словами это можно выразить так - для каждого факультета (для каждого значения из

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

Замечание. Если в отношении

Теперь каждое наименование встречается только
имеется не менее трех атрибутов
Теперь каждое наименование встречается только
,
Теперь каждое наименование встречается только
,
Теперь каждое наименование встречается только
и есть функциональная зависимость
Теперь каждое наименование встречается только
, то есть и многозначная зависимость
Теперь каждое наименование встречается только
.

Действительно, действуя формально в соответствии с определением многозначной зависимости, предположим, что в отношении

Теперь каждое наименование встречается только
содержатся кортежи
Теперь каждое наименование встречается только
и
Теперь каждое наименование встречается только
. В силу функциональной зависимости
Теперь каждое наименование встречается только
отсюда следует, что
Теперь каждое наименование встречается только
. Но тогда кортеж
Теперь каждое наименование встречается только
в точности совпадает с кортежем
Теперь каждое наименование встречается только
и, следовательно, содержится в отношении
Теперь каждое наименование встречается только
. Таким образом, имеется многозначная зависимость
Теперь каждое наименование встречается только
.

Таким образом, понятие многозначной зависимости является обобщением понятия функциональной зависимости.

Определение 3. Многозначная зависимость

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

В отношении "Абитуриенты-Факультеты-Предметы" имеется именно нетривиальная многозначная зависимость Факультет

Теперь каждое наименование встречается только
Абитуриент|Предмет. В силу нетривиальности этой зависимости мы не можем воспользоваться теоремой Хеза для декомпозиции отношения. Однако Фейджином Р. [52] доказана следующая теорема:

Теорема (Фейджина). Пусть

Теперь каждое наименование встречается только
,
Теперь каждое наименование встречается только
,
Теперь каждое наименование встречается только
- непересекающиеся множества атрибутов отношения
Теперь каждое наименование встречается только
.

Декомпозиция отношения

Теперь каждое наименование встречается только
на проекции
Теперь каждое наименование встречается только
и
Теперь каждое наименование встречается только
будет декомпозицией без потерь тогда и только тогда, когда имеется многозначная зависимость
Теперь каждое наименование встречается только
.

Замечание. Если зависимость

Теперь каждое наименование встречается только
является тривиальной, т.е. существует одна из функциональных зависимостей
Теперь каждое наименование встречается только
или
Теперь каждое наименование встречается только
, то получаем теорему Хеза.

Доказательство теоремы.

Необходимость. Пусть декомпозиция отношения

Теперь каждое наименование встречается только
на проекции
Теперь каждое наименование встречается только
и
Теперь каждое наименование встречается только
является декомпозицией без потерь. Докажем что
Теперь каждое наименование встречается только
.

Предположим, что отношение

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

Достаточность. Пусть имеется многозначная зависимость

Теперь каждое наименование встречается только
. Докажем, что декомпозиция отношения
Теперь каждое наименование встречается только
на проекции
Теперь каждое наименование встречается только
и
Теперь каждое наименование встречается только
является декомпозицией без потерь.

Как и в доказательстве теоремы Хеза, нужно доказать, что

Теперь каждое наименование встречается только
для любого состояния отношения
Теперь каждое наименование встречается только
.

Включение

Теперь каждое наименование встречается только
доказывается как в теореме Хеза. Такое включение выполняется всегда для любой декомпозиции отношения
Теперь каждое наименование встречается только
.

Докажем включение

Теперь каждое наименование встречается только
. Пусть кортеж
Теперь каждое наименование встречается только
. Это означает, что в проекции
Теперь каждое наименование встречается только
содержится кортеж
Теперь каждое наименование встречается только
, а в проекции
Теперь каждое наименование встречается только
содержится кортеж
Теперь каждое наименование встречается только
. По определению проекции, найдется такое значение
Теперь каждое наименование встречается только
атрибута
Теперь каждое наименование встречается только
, что отношение
Теперь каждое наименование встречается только
содержит кортеж
Теперь каждое наименование встречается только
. Аналогично, найдется такое значение
Теперь каждое наименование встречается только
атрибута
Теперь каждое наименование встречается только
, что отношение
Теперь каждое наименование встречается только
содержит кортеж
Теперь каждое наименование встречается только
. Тогда по определению многозначной зависимости кортеж
Теперь каждое наименование встречается только
. Включение доказано. Достаточность доказана. Теорема доказана.

Определение 4. Отношение

Теперь каждое наименование встречается только
находится в четвертой нормальной форме (4НФ) тогда и только тогда, когда отношение находится в НФБК и не содержит нетривиальных многозначных зависимостей.

Отношение "Абитуриенты-Факультеты-Предметы" находится в НФБК, но не в 4НФ. Согласно теореме Фейджина, это отношение можно без потерь декомпозировать на отношения:

Содержание раздела