Темы_8-9
.pdfУчет динамических связей
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(K1K2A1A2…AnC1C2…Cm)} |
||||
|
|
|
1 |
|
|
1 |
|
|
|
– объединение всех трех отношений в одно r(R), |
|
r1 |
|
|
s |
|
r2 |
|
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
где R = R1 R2 S; |
|
|
|
|
|
|
|
|
|
|
||
|
K1A1A2…An |
|
|
K2C1C2…Cm |
min = {R1*(K1K2A1A2…An), R2(K2C1C2…Cm)} |
|||||
|
|
|
|
|
|
|
|
|
|
– объединение r1(R1), s(S) в одно отношение r1*(R1*), где R1* = R1 S;
min = {R1(K1A1A2…An), R2*(K1K2C1C2…Cm)}
– вариант, симметричный предыдущему
Вариант, полученный по общему принципу моделирования
0 = {R1(K1A1A2…An), R2(K2C1C2…Cm), S(K1K2)}
Все три отношения базы данных всегда будут иметь одинаковое число кортежей.
Кроме того, отношения r1(R1) и s(S) обладают одним и тем же ключом K1, отношения r2(R2) и s(S) – ключом K2
107
Приемы минимизации для четырех допустимых ситуаций:
ситуация 2
Связь s является бинарной степени 1 : 1
с обязательными классами принадлежности лишь для r1
r1 |
|
1 |
s |
1 |
r2 |
|
|
|
|
|
|||
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K1A1A2…An |
|
|
K2C1C2…Cm |
Минимальный вариант
min = {R1*(K1K2A1A2…An), R2(K2C1C2…Cm)}
– объединение r1(R1), s(S) в одно отношение r1*(R1*), где R1* = R1 S
Два других варианта объединения будут приводить к появлению неопределенных значений:
для = {R(K1K2A1A2…AnC1C2…Cm)}
в атрибутах K1A1A2…An;
для = {R1(K1A1A2…An), R2*(K1K2C1C2…Cm)}
в атрибуте K1 отношения со схемой R2* = R2 S
|
|
Здесь лишь два отношения базы |
|
|
|
данных всегда будут иметь |
|
|
|
одинаковое число кортежей: r1(R1), |
|
Вариант, полученный по общему принципу моделирования |
|
||
|
s(S). |
||
0 = {R1(K1A1A2…An), R2(K2C1C2…Cm), 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 |
|
|
|
|
|
|
|
|
K1A1A2…An |
|
|
|
|
|
|
|
|
K2C1C2…Cm |
Минимальный вариант
min = {R1*(K1K2A1A2…An), R2(K2C1C2…Cm)}
– объединение r1(R1), s(S) в одно отношение r1*(R1*), где R1* = R1 S
Два других варианта объединения будут приводить к нарушению структурных ограничений целостности:
для = {R(K1K2A1A2…AnC1C2…Cm)} появление
неопределенных значений в K1A1A2…An и избыточного дублирования данных в C1C2…Cm;
для = {R1(K1A1A2…An), R2*(K1K2C1C2…Cm)}
появление в отношении со схемой R2* = R2 S
неопределенных значений в атрибуте K1 и избыточного дублирования в C1C2…Cm
|
|
|
Здесь только два отношения базы |
|
|
Вариант, полученный по общему принципу моделирования |
|
||
|
|
данных r1(R1), s(S) всегда имеют |
||
|
|
|
||
|
0 = {R1(K1A1A2…An), R2(K2C1C2…Cm), S(K1K2)} |
|
одинаковое число кортежей и |
|
|
|
обладают одним и тем же ключом K1 |
||
|
|
|
|
|
|
|
|
|
|
110