Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Некоторые модификации алгоритма проектирования Избыточные функциональные зависимости

Алгоритм проектирования БД не свободен от некоторых внутренних проблем. Одна проблема заключается в том, что процесс декомпозиции может осложниться в результате присутствия избыточных ФЗ.

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

Транзитивные зависимости

Одним из простейших путей появления в наборе ФЗ избыточных зависимостей является генерация ФЗ с помощью концепции транзитивной зависимости. Транзи­тивная зависимость определяется следующим образом.

Если А -> В и В -> С, то А -> С - транзитивная зависимость.

Два момента следует подчеркнуть. Во-первых, транзи­тивная зависимость

А -> С, приведенная в определе­нии выше, является вполне корректной зависи­мостью. С ней не связано ничего сомнительного. Во-вторых, если А -> В, В -> С и А -> С входят в набор ФЗ, следовательно, А -> С является избыточной и ее ис­пользование в процессе проектирования не требуется. Действительно, тран­зитивная зависимость А -> С причинит больше вреда, чем пользы при проекти­рова­нии, и ее следует исключить из набора перед началом проектирования.

На рис. 28 приведены примеры того, как может быть упрощен набор ФЗ при помощи исключения транзитивных зависимостей. На рис. 28 (а) представ­лен исходный набор ФЗ до начала проектирования. На рис. 28(г) показан набор неизбыточных ФЗ, выделен­ных путем удаления всех транзитивных зависимостей из исходного набора. На рис. 29 показана процедура декомпозиции и получения набора НФБК-отношений.

Рис. 4 1. Удаление транзитивных зависимостей.

Рис. 29. Получение набора НФБК-отношений из от­ношения, приведенного на рис. 28

Добавление атрибутов в фз

Второй путь возникновения избыточных ФЗ связан с концепцией добавления. Эта форма избыточности имеет несколько видов, из которых только два самые простые, но и крайне полезные, обсуждаются ниже.

Вид первый формулируется следующим образом (здесь А, В и Z - атрибуты, каждый из которых мо­жет быть составным):

Если А -> В, то A,Z -> В является корректной, но избыточной ФЗ. Атрибут Z был добавлен к детерминанту А без привнесения какой-либо новой инфор­мации в процесс проектирования.

Второй вид возникает в случае добавления к обе­им частям данной ФЗ одного и того же атрибута с целью формирования новой зависимости:

Если А -> В, то A,Z -> B,Z является корректной, но избыточной зависимостью.

На рис. 30 приведены примеры обеих форм добавления.

Рис. 30. Примеры добавления

Правила вывода

Определения транзитивной зависимости и концепции добавления, данные выше, касаются двух правил вы­вода из имеющихся шести. Эти правила могут быть использованы для уменьшения, модификации исходного набора ФЗ и получения другого, эквивалентного ему набора ФЗ. Еще три правила вкратце рассматри­ваются ниже. Полное описание всех правил можно найти в большинстве более фундаментальных книг ('' Полное множество правил вывода состоит из трех аксиом Армстронга - рефлексивности (для любого множества атрибутов А и X АХ -> X) и уже обсуждавшихся транзитивности и дополнения, а также трех следующих из этих аксиом правил объединения, декомпозиции и псевдотранзитивности, которые обсуждаются ниже. Более подробную информацию о свойствах правил вывода можно найти, например, в книге Дж. Ульмана "Основы систем баз дан­ных" - М., Финансы и статистика, 1983, с. 156-164.)

Два наиболее простых для понимания правила вы­вода связаны с объединением и декомпозицией ФЗ, которые определяются следующим образом:

Объединение ФЗ: если А -> В и А -> С, то А -> В,С

Декомпозиция ФЗ: если А->В,С то А->В и А->С

На рис. 31 дается графическое представление каждого утверждения, рис. 32 иллюстрирует способы преобразования исходного набора ФЗ в менее слож­ный набор неизбыточных ФЗ с помощью процедур объединения, декомпозиции и добавления.

Последнее из обещанных правил вывода называет­ся псевдотранзитивностью.

Если X -> Y и Y,W -> Z, то X,W -> Z является избыточной в силу псевдотранзитивности.

Графический пример на псевдотранзитивность при­веден на рис.33. Этот тип избыточности возникает в тех случаях, когда в получаемых ФЗ обнаруживаются составные детерминанты. Конкретный пример, иллюст­рирующий данную ситуацию, будет приведен в следу­ющей главе при рассмотрении учебной БД.

Для большинства людей графические формы диаг­рамм зависимостей упрощают выявление избыточных ФЗ; однако в тех случаях, когда число атрибутов и ФЗ достаточно велико, графический подход может оказаться слишком громоздким. В этом случае можно воспользоваться каким-либо известным математиче­ским алгоритмом поиска избыточных зависимостей. Эти алгоритмы не слишком сложны для применения.

Р ис. 31. Примеры на объединение и декомпозицию

Минимальное покрытие

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

К сожалению, минимальное покрытие не всегда явля­ется уникальным, поскольку поря­док, в котором осу­ществля­ется процедура удаления из­быточных ФЗ, может оказать влияние на полученное мини­мальное по­крытие. Чтобы убедиться в этом, читателю достаточ­но обратиться к рис. 3.2 и проверить, что в пред­ставленном случае проекти­рования существуют два ми­нимальных покрытия. Первое минимальное покры­тие получается при удалении из исходного набора за­висимости Сном -> Тном, а второе - при удалении Сном -> Кном. Использование этих двух минималь­ных покрытий ведет к построению тех же самых двух БД, проектирование которых обсуждалось выше. В заклю­чение следует подчеркнуть один важный мо­мент, связанный с удалением избыточных ФЗ из ис­ходного набора: избыточные ФЗ следует удалять по одной, каждый раз заново анализируя новый набор на предмет присутствия в нем избыточных ФЗ.

Рис. 32. Упрощение диаграммы ФЗ с помощью пра­вил вывода

Рис. 33. Графические примеры на псевдотранзитивность