Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Темы_8-9

.pdf
Скачиваний:
69
Добавлен:
04.06.2015
Размер:
4.02 Mб
Скачать

Учет динамических связей

1.ER-модель не располагает специальным конструктивным элементом для отражения даты и времени. Временной фактор учитывается с помощью атрибута связи. В таких случаях связь часто (но не всегда) становится динамической.

2.К сожалению, из ER-диаграммы не всегда видно влияние атрибута, задающего временной фактор, на характер связи, т. е. статической или динамической является эта связь.

В этом ограниченность ER-модели и алгоритмов

преобразования ER-диаграммы в схему реляционной базы данных.

3.Информация о характере связи предметной области должна быть задана дополнительно.

4.Характер связи влияет на состав атрибутов ключа отношения, моделирующего эту связь.

101

Учет динамических связей

Правило учета динамичности связи s

Если K – ключ отношения s(S), найденный по правилам определения ключа для статических связей, и T S – атрибут, задающий фактор времени, то в качестве ключа отношения s(S) следует взять множество атрибутов

K T = KT.

Моделируемая связь s может иметь любую арность

102

Примеры моделирования динамических связей

ER-диаграмма отражает сведения о наличии высшего образования у сотрудников некоторого НИИ.

В общем случае один сотрудник может иметь несколько дипломов о высшем образовании.

Это могут быть дипломы разных вузов.

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

Возможно, что один и тот же вуз окончили несколько сотрудников НИИ.

Сотрудник

C1C2

Связь Окончил

носит

динамический

характер

M

N

Вуз

Идентифи

Семантика

Домен

 

Окончил

 

катор

 

 

 

 

 

 

 

 

 

B1

C1

Таб. номер

N(5)

 

 

 

сотрудника

 

T

 

 

C2

Ф.И.О.

C(30)

 

2001

 

2002

1990

 

B1

Наименование

C(20)

 

 

 

 

вуза

 

 

2000

 

T

Год окончания

N(4)

 

2005

 

 

 

 

ER-диаграмма преобразуется в следующую схему реляционной базы данных:

= {R1(C1C2), R2(B1), S(C1B1T)},

где R1(C1C2) представляет сущность Сотрудник, R2(B1) – сущность Вуз, S(C1B1T) – динамическую бинарную связь Окончил.

103

Примеры моделирования динамических связей

ER-диаграмма, отражает деятельность городской службы по ремонту фасадов домов.

 

Мастер

 

N

1

 

Дом

 

 

 

 

 

 

 

Ремонт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Связь Ремонт носит

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

TnF

 

 

 

 

 

 

 

UDPC

динамический

 

 

 

 

 

 

 

 

 

 

 

 

 

 

характер, поскольку

 

 

 

 

 

 

 

 

Data

 

 

 

 

мастер может

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имеет

 

 

 

 

 

 

 

 

 

 

участвовать в ремонте

 

 

 

 

 

 

 

 

 

 

 

одного и того же дома

 

 

 

 

 

 

 

 

V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на протяжении

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

нескольких дней.

 

 

 

 

 

 

 

 

 

 

 

 

Перемещения мастера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с одного объекта

 

Тарифная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на другой в течение

 

сетка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дня не допускаются

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RTr

Здесь результатом преобразования ER-диаграммы является схема базы данных:

= R1(UDPC), R2(TnF), R3(RTr), S1(TnR), S2(TnDataUDV)

Отношение S2(TnDataUDV) представляет динамическую связь Ремонт.

В данном случае к ключу многосвязной сущности Мастер добавлен атрибут Data, отражающий фактор времени.

104

Цель и последствия минимизации числа таблиц

1.Общий принцип моделирования ER-диаграммы позволяет сопоставить ей единственный вариант схемы реляционной базы данных.

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

получить другие варианты схемы базы данных.

Что это дает?

3.Снижение временных затрат на соединение таблиц при реализации запросов к базе данных.

4.Между тем возможно увеличение временных затрат на обновление данных.

5.Минимизация не самоцель! Нужно уметь это делать, но вовсе не обязательно к этому стремиться!

6.Надо уметь сочетать общий принцип моделирования ER- диаграммы и приемы минимизации. Приемы минимизации следует применять только в той части ER-диаграммы, где это целесообразно с точки зрения обработки и обновления данных.

105

Цель и последствия минимизации числа таблиц

7.Минимизация числа таблиц базы данных возможна только в четырех конкретных ситуациях.

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

к возникновению избыточного дублирования данных,

к появлению неопределенных значений

106

Приемы минимизации для четырех допустимых ситуаций:

ситуация 1

Связь s является бинарной степени 1 : 1

Минимальные варианты

с обязательными классами принадлежности

 

для обеих сущностей

 

 

 

 

 

min = {R(K1K2A1A2AnC1C2Cm)}

 

 

 

1

 

 

1

 

 

 

объединение всех трех отношений в одно r(R),

 

r1

 

 

s

 

r2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где R = R1 R2 S;

 

 

 

 

 

 

 

 

 

 

K1A1A2An

 

 

K2C1C2Cm

min = {R1*(K1K2A1A2An), R2(K2C1C2Cm)}

 

 

 

 

 

 

 

 

 

 

объединение r1(R1), s(S) в одно отношение r1*(R1*), где R1* = R1 S;

min = {R1(K1A1A2An), R2*(K1K2C1C2Cm)}

– вариант, симметричный предыдущему

Вариант, полученный по общему принципу моделирования

0 = {R1(K1A1A2An), R2(K2C1C2Cm), S(K1K2)}

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

Кроме того, отношения r1(R1) и s(S) обладают одним и тем же ключом K1, отношения r2(R2) и s(S) – ключом K2

107

Приемы минимизации для четырех допустимых ситуаций:

ситуация 2

Связь s является бинарной степени 1 : 1

с обязательными классами принадлежности лишь для r1

r1

 

1

s

1

r2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K1A1A2An

 

 

K2C1C2Cm

Минимальный вариант

min = {R1*(K1K2A1A2An), R2(K2C1C2Cm)}

объединение r1(R1), s(S) в одно отношение r1*(R1*), где R1* = R1 S

Два других варианта объединения будут приводить к появлению неопределенных значений:

для = {R(K1K2A1A2AnC1C2Cm)}

в атрибутах K1A1A2An;

для = {R1(K1A1A2An), R2*(K1K2C1C2Cm)}

в атрибуте K1 отношения со схемой R2* = R2 S

 

 

Здесь лишь два отношения базы

 

 

данных всегда будут иметь

 

 

одинаковое число кортежей: r1(R1),

Вариант, полученный по общему принципу моделирования

 

 

s(S).

0 = {R1(K1A1A2An), R2(K2C1C2Cm), S(K1K2)}

 

По-прежнему отношения r1(R1) и s(S)

 

обладают одним и тем же ключом K1

 

 

 

 

 

 

 

 

 

 

 

 

108

Пример применения приемов минимизации

ER-диаграмма описывает распределение проектов (заказов) по отделам НИИ.

Проект

1

1

Отдел

 

Отнесен

 

Ситуация 2

 

 

 

P1P2

 

 

Q1

 

Применение общего принципа моделирования ER-диаграммы дает схему базы данных

0 = {R1(P1P2), R2(Q1), S(P1Q1)}.

В результате минимизации получается схема базы данных:

min = {R1*(P1P2Q1), R2(Q1)},

где R1* = R1 S, что соответствует объединению отношений, представляющих сущность Проект и связь Отнесен.

109

Приемы минимизации для четырех допустимых ситуаций:

ситуация 3

Связь s является бинарной степени N : 1

с обязательными классами принадлежности только для N-связной сущности r1

r1

 

N

 

1

 

 

 

 

r

 

 

 

 

 

 

 

 

 

s

 

2

 

 

 

 

 

 

 

K1A1A2An

 

 

 

 

 

 

 

K2C1C2Cm

Минимальный вариант

min = {R1*(K1K2A1A2An), R2(K2C1C2Cm)}

объединение r1(R1), s(S) в одно отношение r1*(R1*), где R1* = R1 S

Два других варианта объединения будут приводить к нарушению структурных ограничений целостности:

для = {R(K1K2A1A2AnC1C2Cm)} появление

неопределенных значений в K1A1A2An и избыточного дублирования данных в C1C2Cm;

для = {R1(K1A1A2An), R2*(K1K2C1C2Cm)}

появление в отношении со схемой R2* = R2 S

неопределенных значений в атрибуте K1 и избыточного дублирования в C1C2Cm

 

 

 

Здесь только два отношения базы

 

Вариант, полученный по общему принципу моделирования

 

 

 

данных r1(R1), s(S) всегда имеют

 

 

 

 

0 = {R1(K1A1A2An), R2(K2C1C2Cm), S(K1K2)}

 

одинаковое число кортежей и

 

 

обладают одним и тем же ключом K1

 

 

 

 

 

 

 

 

 

 

110