Темы_8-9
.pdfПриемы минимизации для четырех допустимых ситуаций:
ситуация 4
Связь s является бинарной степени N : 1
с обязательными классами |
принадлежности |
|||||||
для обеих сущностей |
|
|
|
|
||||
|
|
|
N |
|
1 |
|
|
|
|
r1 |
|
s |
r2 |
|
|||
|
|
|
|
|
|
|||
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K1A1A2…An |
|
|
|
|
|||
|
|
|
K2C1C2…Cm |
Минимальный вариант
min = {R1*(K1K2A1A2…An), R2(K2C1C2…Cm)}.
Это вариант, абсолютно идентичный минимальному варианту ситуации 3
Два других варианта объединения будут приводить к появлению избыточного дублирования данных:
для = {R(K1K2A1A2…AnC1C2…Cm)} в C1C2…Cm;
для = {R1(K1A1A2…An), R2*(K1K2C1C2…Cm)}
в C1C2…Cm отношения со схемой R2* = R2 S.
Неопределенные значения в данной ситуации невозможны в силу обязательных классов принадлежности обеих сущностей
Вариант, полученный по общему принципу моделирования
0 = {R1(K1A1A2…An), R2(K2C1C2…Cm), S(K1K2)},
111
Пример применения приемов минимизации
Вновь ER-диаграмма, отражающая деятельность городской службы по ремонту фасадов домов.
|
Мастер |
|
N |
1 |
|
Дом |
|
|||||
|
|
|
|
|
Ремонт |
|
|
|
Ситуация 3 |
|||
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
N |
TnF |
|
|
|
|
|
|
UDPC |
|
||
|
|
|
|
|
|
|
|
Data |
|
|
|
|
|
Имеет |
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||
1 |
|
|
|
|
|
|
V |
|
|
|
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Применение общего принципа моделирования ER-диаграммы |
|||||||
|
|
|
|
|
||||||||
|
Тарифная |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
сетка |
|
дает схему базы: |
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||
|
|
RTr |
|
0 = R1(UDPC), R2(TnF), R3(RTr), R4(TnR), R5(TnDataUDV) . |
Минимизация приводит к схеме:
min = R1(UDPC), R2*(TnFR), R3(RTr), R5(TnDataUDV) ,
где R2* = R2 R4, что отвечает объединению отношений, представляющих сущность Мастер и связь Имеет
112
Слабые сущности и идентифицирующие их связи
|
|
|
|
N |
1 |
|
|
r2 |
|
||
|
r |
|
|
|
|
|
|||||
|
1 |
|
|
|
s |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
K1A1A2…An |
|
|
|
|
|
K2C1C2…Cm |
||||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
Идентифицирующая связь s: |
|||||
|
|
|
|
|
|
сущность r1 |
подчинена (есть часть) |
||||
Сущность r1 слабая. |
|
|
|
||||||||
|
|
|
|
|
|
сущности r . |
|||||
|
|
|
|
|
|
|
|
|
|
2 |
|
Выделяется двойной линией |
|
|
|
Выделяется двойной линией |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Существуют различные расширения ER-модели. Одно из них – слабые (слабоопределенные) сущности.
Главным источником слабых сущностей является наличие иерархии среди классов объектов предметной области – отношений типа «часть-целое».
Слабая определенность сущностей сказывается на результатах моделирования ER-диаграммы
113
Слабые сущности и идентифицирующие их связи
r1 |
N |
1 |
r2 |
|
|
s |
|
K1A1A2…An |
|
|
K2C1C2…Cm |
Слабая сущность сущность r1, которая удовлетворяет двум условиям:
условию зависимости существования, т. е. она не может
самостоятельно рассматриваться без сущности r2, с которой она связана. Связь между ними связь s называют идентифицирующей;
ее ключ Kr1 частично или целиком формируется из ключа
сущности r2. Например, если K1 – ключевой атрибут сущности r1 и K2 – ключ сущности r2, то Kr1 = K1K2.
Идентифицирующая связь s имеет
степень N : 1 (многосвязность со стороны r1 и односвязность со стороны r2),
обязательный класс принадлежности для слабой сущности r1,
для сущности r2 класс принадлежности к связи s может быть любым
114
Учет слабых сущностей при переходе от ER-диаграммы
к схеме базы данных
Слабая сущность r1 |
доопределяется |
Результат моделирования ER-диаграммы |
|||||||||||||
сущностью r2 |
через идентифицирующую |
= {R (K K A A …A |
|
|
|
||||||||||
связь s с атрибутами B1B2…Bk |
|
|
|
B B …B |
), |
||||||||||
|
|
|
|
|
|
|
|
|
|
1 |
1 |
2 1 2 |
n |
1 2 k |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
R2(K2C1C2…Cm)} |
|
||||
|
|
|
|
N |
1 |
|
|
|
|
|
|
|
|
||
|
r |
|
|
|
r2 |
|
|
|
|
|
|
||||
|
1 |
|
|
|
|
s |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
K A A …A |
n |
|
B1B2…Bk |
K2C1C2…Cm |
|
|
|
|
|
|
||||
1 1 2 |
|
|
|
|
|
|
|
|
|
|
|
|
Результирующая схема получается путем выполнения следующих действий:
формирование ключа слабой сущности r1 по формуле Kr1 = K1K2;
построение варианта схемы базы данных путем применения общего принципа (с учетом найденного ключа для сущности r1)
0 = {R01(K1K2A1A2…An), R2(K2C1C2…Cm), S(K1K2B1B2…Bk)};
объединение подсхем R01, S в одну подсхему R1(K1K2A1A2…AnB1B2…Bk) с ключом Kr1 = K1K2.
Объединение всегда вне зависимости от того, выполняется ли минимизация числа таблиц базы данных или нет!
115
Учет слабых сущностей при переходе от ER-диаграммы
к схеме базы данных: пример
ER-диаграмма, отражающую работу Краевой службы занятости молодежи (формирование строительных отрядов).
Строительная |
M |
Владеет |
N |
|
Студент |
|
|
N |
1 |
|
Вуз |
|
|
||||||||||
специальность |
|
|
|
|
|
|
|
|
|
|
|
|
Учится |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C1C2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S |
S |
S |
S |
S |
S |
|
|
|
|
|
|
B |
B |
B |
B |
B |
|
||||
|
|
|
1 |
2 |
3 |
4 |
5 |
|
6 |
|
|
|
1 |
2 |
3 |
4 |
|
5 |
|||||
|
|
Q – разряд |
|
|
|
|
|
|
|
P – год поступления |
|
|
|
|
|
Идентифи |
Семантика |
катор |
атрибута |
С1 |
Код специальности |
С2 |
Название |
|
специальности |
|
|
|
|
Идентифи |
Семантика |
катор |
атрибута |
|
|
S1 |
Номер зач. книжки |
S2 |
Ф.И.О. |
S3 |
Год рождения |
S4 |
Факультет |
S5 |
Курс |
S6 |
Домашний адрес |
Идентифи |
Семантика |
катор |
атрибута |
|
|
В1 |
Код вуза |
В2 |
Название вуза |
В3 |
Ф.И.О. ректора |
В4 |
Телефон приемной |
В5 |
Адрес вуза |
|
|
Моделирование ER-диаграммы с учетом слабой сущности Студент дает единственный правильный вариант схемы базы данных:
= R1(S1B1S2S3S4S5S6P), R2(B1B2B3B4B5), R3(C1C2), R4(S1B1C1Q)
116
Раздел 3. Реляционный подход к созданию баз данных и практические приемы оптимальных решений
Тема 9. Обеспечение целостности базы данных
Логическая и физическая целостность базы данных
Необходимость связывания таблиц
Общие принципы связывания
Ограничение целостности ссылок
Правила установления ссылок между таблицами на основе ER-диаграммы предметной области
Примеры моделирования ER-диаграмм с указанием ссылок между таблицами
117
Логическая и физическая целостность базы данных
Целостность базы данных
Это значит, база данных содержит полную, достоверную и непротиворечивую информацию о предметной области
Логическая целостность
Предполагает, что данные удовлетворяют:
структурным ограничениям
целостности модели данных и СУБД,
семантическим ограничениям
целостности предметной области,
ссылочной целостности
ограничениям, которые устанавливаются ссылками (связями) между таблицами базы данных
Физическая целостность
Подразумевает, что
данные не утрачены,
имеется возможность физического доступа к ним
Поддерживается средствами СУБД и операционной системы
118
Необходимость связывания таблиц
Современные СУБД позволяют устанавливать ссылки (явные связи) между таблицами и выполняют контроль целостности этих ссылок
Ссылки между таблицами необходимы для согласованного обновления данных, располагающихся в разных таблицах.
-----
Кроме того, СУБД использует ссылки при реализации запросов к базе данных
119
Общие принципы связывания таблиц
1.Устанавливаются только бинарные связи. Связываемые таблицы обязательно должны иметь ключи.
2.Между связываемыми таблицами распределяются роли: одна условно считается основной (О), другая – подчиненной (П). Одна и та же таблица в различных связях может играть различные роли.
3.Связь задается через одноименные атрибуты. Они выступают в качестве атрибутов связи.
4.В подчиненной таблице множество атрибутов связи всегда совпадает с ее первичным ключом.
5.В основной таблице множество атрибутов связи (здесь его называют внешним ключом) может быть первичным ключом,
частью этого ключа или вообще состоять из неключевых
атрибутов.
6.Возможны случаи равноправия таблиц: у обеих таблиц имеет место совпадение множества атрибутов связи с первичным ключом.
7.Для каждой связи задается степень 1 : 1 или : 1.
120