Модели и проектирование баз данных


Декомпозиция универсального отношения - часть 2


Сведения о непоставлявших поставщиках, непоставлявшихся деталях и о не получавших поставок изделиях можно заносить в соответствующие отношения.

Аномалии вставки типа а) и обновления значений сохраняются для отношения S. Это обусловлено наличием необъявленной ФЗ между неключевыми атрибутами S.Ci ® St.

Можно попытаться избавиться от цепочки транзитивных зависимостей S# ® Ci ® St, заменив S его проекциями. При этом не должны быть потеряны ФЗ, и естественное соединение проекций должно восстанавливать исходное отношение. Для иллюстрации проблем, которые здесь могут возникнуть, рассмотрим возможные варианты декомпозиции.

 

 

Вариант 1.

SST= S[S#, Sn, St];  CS=S[S#, Ci];

Эти проекции для реализации USPJ, приведенной в п. 3.1.2, имеют вид:

SST

 

CS

S#

Sn

St

 

S#

Ci

S1

Иван

50

;

S1

Яя

S2

Петр

100

 

S2

Ош

S3

Джон

50

 

S3

Яя

S8

Боб

50

 

S8

Томск

Их естественное соединение по атрибуту S#:

SST JOIN CS

S#

Sn

St

Ci

S1

Иван

50

Яя

S2

Петр

100

Ош

S3

Джон

50

Яя

S8

Боб

50

Томск

совпадает с отношением S.

Здесь сохранены ФЗ S# ® Сi,  S# ® St,  S# ® Sn. Однако зависимость Ci ® St утрачена. Значения атрибутов Ci и St в проекциях можно менять независимо.

Вариант 2.

SST = S[S#, Sn, St]; STC = S[St, Ci];

Это плохой вариант. Здесь утеряна зависимость S# ® Ci. Поэтому возможна потеря информации при восстановлении исходного отношения. В самом деле, эти проекции имеют вид:

SST

 

STC

S#

Sn

St

 

St

Ci

S1

Иван

50

 

50

Яя

S2

Петр

100

 

100

Ош

S3

Джон

50

 

50

Томск

S8

Боб

50

 

Естественное соединение этих отношений будет содержать лишние кортежи:

SST JOIN STC

S#

Sn

St

Ci

S1

Иван

50

Яя

S2

Петр

100

Ош

S3

Джон

50

Яя

S1

Иван

50

Томск

S3

Джон

50

Томск

<


- Начало -  - Назад -  - Вперед -



Книжный магазин