Темы_8-9
.pdfОграничение целостности ссылок
Ограничение целостности ссылок
У каждого значения внешнего ключа основной таблицы всегда должна найтись строка подчиненной таблицы с таким же значением первичного ключа
121
Правила установления ссылок между таблицами
на основе ER-диаграммы предметной области
Проекты возможного связывания таблиц базы данных целесообразно выполнять при моделировании ER-диаграммы, руководствуясь следующими рекомендациями:
1.Вначале следует получить вариант схемы базы данных 0,
используя общий принцип.
2.Далее разместить на бумаге подсхемы схемы базы данных 0,
соблюдая конфигурацию ER-диаграммы. Это всегда можно
сделать, поскольку по общему принципу моделирования каждая
подсхема из 0 представляет либо одну сущность, либо одну связь ER-диаграммы.
3.После этого конфигурацию ER-диаграммы повторить в системе ссылок между таблицами.
4.Если выполняется минимизация числа таблиц базы данных, то всякое объединение двух таблиц, соответствующих одной сущности и одной связи, приводит к «сжатию» системы ссылок
путем удаления одной из них
122
Примеры моделирования ER-диаграмм с указанием
ссылок между таблицами
Рассмотрим отношения между студентами и преподавателями в период экзаменационной сессии. Считается, что возможны переэкзаменовки, но только в различные дни.
ER-диаграмма такой предметной области может быть представлена в виде тернарной связи, описывающей отношения между сущностями Студент, Дисциплина, Преподаватель.
Студент |
|
Дисциплина |
|
Преподава- |
|
|
|
|
тель |
|
|
|
|
|
S1S2S3 |
|
|
|
|
D1D2 |
|
|
|
P1P2P3 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Идентифи |
Семантика |
Домен |
|
|
|
|
|
|
Экзамен |
|
|
|
|
катор |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S1 |
Номер зачетной книжки |
C(6) |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
S2 |
Ф.И.О. студента |
С(30) |
|
|
E1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S3 |
Номер группы |
C(5) |
|||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
||||
|
E2 |
|
|
|
|
|
|
|
|
|
D1 |
Код дисциплины |
C(5) |
|
|
|
|
|
|
|
|
|
|
|
D2 |
Название дисциплины |
C(20) |
||
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
P1 |
Таб. номер преподавателя |
N(5) |
|
Здесь связь |
Экзамен носит |
динамический |
P2 |
Ф.И.О. преподавателя |
C(30) |
|||||||||
характер, поскольку некоторый |
студент |
может |
||||||||||||
P3 |
Должность |
C(20) |
||||||||||||
сдавать один и тот же предмет одному и тому же |
||||||||||||||
E1 |
Дата экзамена |
D |
||||||||||||
преподавателю в разные дни сессии. |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
E2 |
Оценка |
N(2) |
|
|
|
|
|
|
|
|
|
|
|
|
123
Примеры моделирования ER-диаграмм с указанием
ссылок между таблицами
Общий принцип моделирования ER-диаграммы дает схему базы данных:
0 = {R1(S1S2S3), R2(D1D2), R3(P1P2P3), R4(S1D1P1E1E2)},
где R1(S1S2S3) представляет сущность Студент, R2(D1D2) – сущность Дисциплина, R3(P1P2P3) – сущность Преподаватель, R4(S1D1P1E1E2) – связь Экзамен.
Студент |
Дисциплина |
Преподаватель |
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S1 |
|
S2 S3 |
|
|
|
|
D1 D2 |
|
|
P1 P2 P3 |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
П |
|
1 |
|
|
|
|
П |
1 |
|
|
П |
1 |
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
О |
О |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
О |
|
|
|
|
|
|
S1 D1 P1 E1 E2
Экзамен
Здесь таблицы, соответствующие сущностям, играют роль подчиненных, а таблица, представляющая связь, является основной.
Эта закономерность имеет место всегда при применении общего принципа моделирования.
Исключение составляет лишь случай равноправия таблиц (здесь возможно произвольное распределение ролей таблиц)
124
Примеры моделирования ER-диаграмм с указанием
ссылок между таблицами
Вновь ER-диаграмма, отражающая деятельность городской службы по ремонту фасадов домов.
|
Мастер |
|
N |
1 |
|
Дом |
|
|||||
|
|
|
|
|
Ремонт |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
N |
TnF |
|
|
|
|
|
|
UDPC |
|
||
|
|
|
|
|
|
|
|
Data |
|
|
|
|
|
Имеет |
|
|
|
|
|||||||
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|||
1 |
|
|
|
|
|
|
V |
|
|
|
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
Применение общего принципа моделирования дает схему базы: |
|||||||
|
|
|
|
|
||||||||
|
Тарифная |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|||
|
сетка |
|
0 = R1(UDPC), R2(TnF), R3(RTr), R4(TnR), R5(TnDataUDV) . |
RTr
Минимизация приводит к схеме:
min = R1(UDPC), R2*(TnFR), R3(RTr), R5(TnDataUDV) ,
где R2* = R2 R4, что отвечает объединению отношений, представляющих сущность Мастер и связь Имеет.
125
Примеры моделирования ER-диаграмм с указанием
ссылок между таблицами
r4
r3
Конфигурация ссылок для 0 без указания ролей таблиц
r2
Tn F
1
1
Tn R
1
R Tr
r5
Tn Data U D V
Таблицы r2 и r4 равноправные.
Согласно приемам минимизации r2 и r4 можно объединить в одну таблицу.
Это можно рассматривать как «сжатие» связи между ними
r1
U D P C
1
Конфигурация ссылок для |
min |
|
|
|
|
|||||||||
|
r2* |
|
|
r5 |
|
|
|
|
|
r1 |
||||
|
Tn F R |
|
|
Tn Data U D V |
|
|
U D P C |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|||||
|
|
|
|
|
|
|
|
|
|
|
||||
1 |
|
|
|
|
|
|
|
|
|
|
|
|
||
r3 |
R Tr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126