Общий подход к декомпозиции


 

 

Этапы проектирования:

1) Разрабатывается универсальное отношение для БД (в универсальное отношение включаются все атрибуты, представляющие интерес для данного проектирования; как полагают большинство специалистов, их число не должно превышать двадцати, иначе декомпозиционный метод становится излишне громоздким).

2) Определяются все функциональные зависимости между атрибутами данного отношения.

3) Определяется, находится ли отношение в нормальной форме Бойса - Кодда. Если да, то проектирование завершается, если нет, то осуществляется декомпозиция, т.е. разбиение отношения.

4) Шаги 2 и 3 повторяются для каждого нового отношения, полученного в результате декомпозиции. Проектирование завершается, когда все отношения будут находиться в НФБК.

Декомпозиция может осуществляться следующим образом:

· Пусть отношение r(A, B, C, D, E,…) не находится в НФБК. Определяется F-зависимость, являющаяся причиной того, что отношение r не находится в НФБК, например, С ® D (атрибут С является детерминантом, но не является возможным ключом).

· Создаются два новых отношения: r1(A, B, С, Е,…) и r2(C, D), где зависимостная часть F-зависимости – атрибут D был выделен из отношения r и опущен при формировании отношения r1, F–зависимость С ® D была полностью использована при формировании отношения r2. Отношения r1 и r2 являются проекциями отношения r.

Такая декомпозиция называется декомпозицией без потерь при естественном соединении (т. е. естественное соединение r1 и r2 даст исходное отношение r).

Например, обратимся к отношению Консультант (№ студента, ФИО студента, № комнаты, № телефона, № курса, Семестр, Оценка), которое является универсальным отношением.

F-зависимости отношения Консультант (были определены нами ранее):

№ студента ® ФИО студента;

№ студента ® № комнаты;

№ студента ® № телефона;

№ комнаты ® № телефона;

№ телефона ® № комнаты;

№ студента, № курса, Семестр ® Оценка.

Возможным и единственным ключом отношения является составной атрибут: № студента, № курса, Семестр. Имеются три детерминанта, не являющиеся возможными ключами: № студента, № комнаты, № телефона. Необходимо выбрать F-зависимость для проведения первой проекции. Для этого отыскивают «цепочку» F-зависимостей вида: А ® В ® С и используют для проекции крайнюю правую зависимость. В нашем случае такими цепочками являются:

№ студента ® № комнаты ® № телефона;

№ студента ® № телефона ® № комнаты.

а) Выбрав F-зависимость № комнаты ® № телефона, получим следующие отношения:

r1(№ студента, № курса, Семестр, Оценка, ФИО студента, № комнаты);

r2(№ комнаты, № телефона).

Отношение r2 находится в НФБК (все его детерминанты являются возможными ключами) и не нуждается больше в декомпозиции.

Отношение r1 не находится в НФБК (детерминант № студента не является возможным ключом) и поэтому разбивается далее.

Детерминант № студента имеет два зависимых атрибута:

№ студента ® ФИО студента

№ студента ® № комнаты

Эти две зависимости в r1 можно рассматривать как одну с составной правой частью:

№ студента ® ФИО студента, № комнаты.

Выбирая данную F-зависимость для проведения второй проекции, получим следующие отношения:

r3(№ студента, ФИО студента, № комнаты);

r4(№ студента, № курса, Семестр, Оценка).

Данные отношения находятся в НФБК. Проектирование завершено: отношения r2, r3, r4 могут быть использованы при формировании БД для консультанта.

б) Выбрав для проведения первой проекции F-зависимость № телефона ® № комнаты, получим следующие отношения:

r1(№ студента, № курса, Семестр, ФИО студента, № телефона, Оценка);

r2(№ телефона, № комнаты).

Отношение r2 находится в НФБК, r1 – нет. Разбиваем r1 на следующие два отношения:

r3(№ студента, ФИО студента, № телефона);

r4(№ студента, № курса, Семестр, Оценка).

Отношения r3 и r4 находятся в НФБК, проектирование завершено.

Таким образом, имеем два различных решения. Какое из двух решений является «лучшим», определяется выбором проектировщика и зависит до некоторой степени от того, как планируется использовать БД.

 

6.2. Некоторые комментарии к декомпозиционному

методу проектирования

 

В предыдущем разделе было сказано, что в процессе проектирования с помощью проекций декомпозицию следует осуществлять путем поиска цепочек функциональных зависимостей вида: А ® В, В ® С с последующим проецированием, порождаемым F-зависимостью, замыкающей цепочку. Обоснование данной процедуры выбора состоит в утверждении, что всеми средствами следует избегать выбора функциональной зависимости, зависимостная часть которой сама (целиком или частично) является детерминантом другой F-зависимости.

Пусть имеется отношение r(A, B, C) и F-зависимости: А ® В, В ® С.

Выберем для проведения проекции F-зависимость А ® В.

Получим отношения: r1(A, B) и R2(A, С). Оба эти отношения находятся в НФБК, но F-зависимость В ® С утеряна (ни отношение r1, ни r2 автономно не содержат атрибуты, присутствующие в данной функциональной зависимости). С практической точки зрения это означает то, что нельзя будет утверждать, что некорректные связи между В и С не будут привнесены в БД. При использовании правила цепочки такой ситуации не возникает.

Рассмотрим другой случай возможной потери функциональной зависимости при проектировании. Пусть имеется отношение r(A, C, B) и F-зависимости: А ® В, С ® В.

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

· при выделении из r зависимости А ® В будут получены отношения: r1(A, B) и r2(A, C) и F-зависимость С ® В будет утеряна;

· при выделении из r зависимости С ® В будут получены отношения: r1(С, B) и r2(A, C) и F-зависимость А ® В будет утеряна.

Если отношение R разбить на r1(A, B) и r2(C, В), то ни одна из функциональных зависимостей не будет утеряна. Такой путь не соответствует стандартному методу декомпозиции. В его основе (в некоторых литературных источниках данный метод называется методом синтеза) лежит следующее утверждение: все F-зависимости с одинаковыми детерминантами необходимо выделять в группы и каждой группе отводить свое собственное отношение (что мы и сделали).

Метод синтеза используется как самостоятельно, так и в сочетании с методом декомпозиции (как альтернатива при поиске выхода из затруднительной ситуации). Тот факт, что существуют различные методы проектирования, которые могут быть использованы как порознь, так и до некоторой степени смешанным образом, свидетельствует о том, что проектирование БД является частично наукой, а частично искусством.

 



Дата добавления: 2016-06-15; просмотров: 2218;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.012 сек.