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

Темы_8-9

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

Раздел 3. Реляционный подход к созданию баз данных и практические приемы оптимальных проектных решений

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

Общий принцип моделирования ER-диаграммы

Алгоритмы преобразования основных конструктивных элементов ER-модели

Определение ключей отношения, отражающего статическую связь

Примеры преобразования ER-диаграмм

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

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

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

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

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

Слабые сущности и идентифицирующие их связи

Учет слабых сущностей при переходе от ER-диаграммы

ксхеме базы данных

91

Общий принцип моделирования ER-диаграммы

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

-----

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

-----

Эти правила достаточно просты. Поэтому их можно использовать в практике создания баз данных без привлечения дорогостоящих CASE-средств

92

Общий принцип моделирования ER-диаграммы

1 1

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

каждое правило – это преобразование (моделирование)

одного конструктивного элемента ER-модели в один конструктивный элемент реляционной модели данных.

-----

Согласно этому принципу, сколько сущностей и связей на

ER-диаграмме, столько таблиц в базе данных!

ER-модель имеет

три конструктивных элемента:

сущность, атрибут, связь.

Реляционная модель для описания схемы базы данных располагает двумя конструктивными элементами: атрибут, отношение

93

Алгоритмы преобразования основных конструктивных

элементов ER-модели: атрибуты и сущности

Конструктивный элемент ER-модели

(A, dom A) – атрибут

сущности или связи

Конструктивный элемент ER-модели

Сущность с именем

r,

ключом K и неключевыми атрибутами A1, A2, …, An

r

K A1A2An

Конструктивный элемент реляционной модели данных

(A, dom A) – атрибут

отношения

Конструктивный элемент реляционной модели данных

Отношение с именем r

и схемой

R = KA1A2An.

Отношение r наследует все ключи сущности, если их несколько

94

Алгоритмы преобразования основных конструктивных

элементов ER-модели: связи

Конструктивный элемент ER-модели

Связь с именем s и атрибутами B1, B2, …, Bk, которая связывает m сущностей r1, r2, …, rm, имеющих ключи K1, K2, …, Km соответственно

r1

 

r2

rm

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K1

 

 

K2

 

 

Km

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

B1B2Bk

Конструктивный элемент реляционной модели данных

Отношение с именем s и схемой

S = KB1B2Bk.

K = K1 K2 Km – объединение ключей всех сущностей, участвующих в связи.

В общем случае K – суперключ отношения s(S).

Если какая-либо сущность имеет более одного ключа, то в K включается только один

Имена отношений и их атрибутов реляционной модели данных могут отличаться от имен соответствующих им сущностей, связей и атрибутов ER-диаграммы.

Главное – сохранить уникальность имен в рамках схемы базы данных!

95

Определение ключей отношения, отражающего

статическую связь

 

 

Арность и степень связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Связь s связывает m 2

сущностей

 

r , r

, …, r

 

,

Связь s

связывает m 2 сущностей r1, r2, …, 1rm,2

 

 

m

 

имеющих ключи K1, K2, …, Km соответственно

 

 

 

 

 

 

имеющих ключи K1, K2, …, Km

соответственно

 

 

 

 

 

Связь s

является бинарной степени M : N

 

 

 

 

 

Связь s

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

 

 

 

 

 

 

 

 

 

1

 

1

 

 

 

 

 

 

 

 

 

 

r1

 

 

 

r2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

K1

 

 

K2

 

 

 

 

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

N

 

1

r2

r1

s

 

 

 

 

K1

 

 

K2

Ключ

Здесь K = K1 K2 Km можно рассматривать в качестве ключа

отношения s(S)

K = K1 K2 есть ключ отношения s(S)

Отношение s(S) имеет два ключа:

s(K1K2).

Отношение s(S) обладает одним ключом:

s(K1K2).

Здесь K1 ключ многосвязной сущности r1.

96

Определение ключей отношения, отражающего

статическую связь

Замечания.

1.Приведенные правила справедливы для так называемых статических связей,

т. е. которые не изменяются во времени.

2.Справедливость этих правил вытекает из определений ключа и степени связи.

3.Везде классы принадлежности сущностей к связи не влияют на определение ключа

97

Примеры преобразования ER-диаграмм: связь 1 : 1

ER-диаграмма описывает распределение проектов по отделам.

Проект

1

1

Отдел

 

Отнесен

 

 

 

P1P2

 

 

Q1

База данных состоит из трех отношений и имеет схему:

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

где R1(P1P2) соответствует сущности Проект, R2(Q1) – сущности Отдел,

S(P1Q1) – связи Отнесен.

Идентифи

Семантика

Домен

катор

 

 

 

 

 

P1

Шифр

C(5)

 

проекта

 

 

 

 

P2

Стоимость

N(9.2)

 

проекта

 

 

 

 

Q1

Номер

N(2)

 

отдела

 

 

 

 

98

Примеры преобразования ER-диаграмм: связь N : 1

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

Сотруд-

 

N

1

Вуз

 

 

Окончил

 

ник

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C1C2

 

 

 

B1

База данных состоит из трех отношений и имеет схему:

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

где R1(C1C2) соответствует сущности Сотрудник, R2(B1) – сущности Вуз,

S(C1B1) – связи Окончил.

Идентифи

Семантика

Домен

катор

 

 

 

 

 

C1

Таб. номер

N(5)

 

сотрудника

 

 

 

 

C2

Ф.И.О.

C(30)

B1

Название

C(20)

 

вуза

 

 

 

 

99

Примеры преобразования ER-диаграмм: связь M : N

ER-диаграмма описывает отношение между совокупностью изделий, выпускаемых на некотором промышленном предприятии, и деталями, входящими в состав этих изделий

 

 

M

 

 

 

N

 

 

 

 

 

 

 

Деталь

 

Входит

 

 

Изделие

 

Идентифи

Семантика

Домен

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

катор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1

Шифр

N(5)

D1D2

 

 

 

 

 

 

I

1I2

 

 

 

 

 

 

 

детали

 

 

K

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D2

Название

С(30)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

детали

 

База данных состоит из трех отношений и имеет

I1

Шифр

N(5)

схему:

 

изделия

 

 

 

 

 

 

= {R1(D1D2), R2(I1

I2), S(I1D1K)},

I2

Название

C(30)

 

 

 

изделия

 

где R1(D1D2) представляет сущность Деталь,

 

 

 

 

 

K

Количество

N(3)

R2(I1I2) – сущность Изделие,

 

 

 

 

 

 

S(I

1D1

K) – связь Входит.

 

 

 

100