Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МР - Лекция № 4.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
577.54 Кб
Скачать
    1. Декомпозиция без потерь и функциональные зависимости

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

В качестве примера рассмотрим знакомую переменную-отношение поставщиков без атрибута SNAME. Два возможных варианта проведения ее декомпозиции приведены на рис. 4.4: а и б.

S

S#

STATUS

CITY

S3

30

Москва

S5

30

Смоленск

а) SST

S#

STATUS

S3

30

S5

30

SC

S#

CITY

S3

Москва

S5

Смоленск

б) SST

S#

STATUS

S3

30

S5

30

STC

STATUS

CITY

30

Москва

30

Смоленск

Рис. 4.4. Переменная-отношение S и два возможных варианта ее декомпозиции

Можно отметить, что первый вариант является декомпозицией без потерь, поскольку информация, содержащаяся в двух новых переменных-отношениях, соответствует информации в исходной переменной-отношении, т.е. при обратном соединении переменных-отношений SST и SC будет получена исходная переменная-отношение S. Однако второй вариант не является декомпозицией без потерь, так как здесь информация утрачивается, поскольку оба поставщика имеют статус 30, но при этом нельзя сказать, кто и где находится.

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

«Обратимость» означает, что исходная переменная-отношение равна соединению ее проекций. Если оператором декомпозиции в процедуре нормализации является операция проекции, то обратной операцией должна быть операция соединения.

Формально: Пусть R1 и R2 являются проекциями некоторой переменной-отношения R, содержащими все атрибуты переменной-отношения R. Какие условия должны быть соблюдены для того, чтобы при обратном соединении проекций R1 и R2 гарантировать получение исходной переменной-отношения R?

Для ответа на этот вопрос необходимо рассмотреть ФЗ. В нашем примере для переменной-отношения S имелось следующее неприводимое множество ФЗ:

S#  STATUS

S#  CITY

Можно предположить, что переменная-отношение S равна соединению проекций {S#, STATUS} и {S#, CITY}. И это подтверждается теоремой Хита (Heath).

Теорема Хита. Пусть R{A,B,C} является переменной-отношением, где A, B и C – множества атрибутов этой переменной-отношения. Если R удовлетворяет ФЗ A  B, то R равна соединению проекций {A, B} и {A, C}.

Диаграммы ФЗ

Пусть дана переменная-отношение R и пусть к ней применимо некоторое неприводимое множество функциональных зависимостей I. Удобнее всего представить это множество ФЗ в виде диаграммы функциональных зависимостей (диаграммы ФЗ). На рис. 4.5 представлены диаграммы ФЗ для переменных-отношений S, SP и P соответственно.

Рис. 4.5. Диаграмма ФЗ для переменных-отношений S, SP, P

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

ФЗ – это особый вид ограничений целостности, а потому они, несомненно, являются понятием семантическим. Распознавание ФЗ представляет собой часть процесса выяснения смысла тех или иных данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]