
Презентации БД (ВФ) / DB_lec3
.pdfПредставление связи (1:n)
Схемы отношений:
ОТДЕЛ ( Номер отдела, Название (АК) )
СОТРУДНИК ( Номер сотрудника, Имя, Год рождения, Номер отдела (FK) )
|
|
|
|
|
ОТДЕЛ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
СОТРУДНИК |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1953 |
1 |
|
|
|
|
|
|
|
|
|
|
2 |
|
1970 |
3 |
|
|
|
|
|
|
|
|
|

Представление связи (1:n)
1:n IDEF1X:
/ 1 |
% #$ / 2 |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
" #$ |
|
|
|
|
|
|
||
|
|
|
$'( |
|
|
|
|
|
|
||||
( ) |
|
|||||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
(FK) |
|
|
|
|
|
|
|
Представление связи (n:n)
Пример, есть отношения:
ПОСТАВЩИК - Номер поставщика (первичный ключ), Имя и Адрес ДЕТАЛЬ - Номер детали (первичный ключ), Название и Цена.
7
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PK |
|
|
|
|
|
|
|
|
|
|
|
|
|
S1 |
|
|
|
) |
|
|
|
|
|
|
|
|
|
S2 |
|
* |
|
*. |
|
|
|
|
|
|
|
|
|
S3 |
|
|
|
,-. / |
|
|
|
|
|
|
|
|
|
|
|
|
6 / |
|
|
|
|
|
|
|
||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
PK |
|
|
|
|
|
|
|
|
|
|
||
|
P1 |
|
18 |
|
||
|
|
|
|
|
||
|
P2 |
2 |
14 |
|
||
|
|
|
|
|
||
|
P3 |
4 5 |
10 |
|
||
|
|
|
|
|
|
|

Представление связи (n:n)
Схемы отношений :
ПОСТАВЩИК ( Номер поставщика, Имя, Адрес ) ДЕТАЛЬ ( Номер детали, Название, Цена )
ПОСТАВКА ( Номер поставщика (FK1), Номер детали (FK2), Количество )
|
|
7 |
|
|
|
|
|
|
PK |
|
|
|
|
|
S1 |
|
) |
|
|
|
S2 |
* |
*. |
|
|
|
S3 |
|
,-. / |
|
|
|
|
|
6 / |
|
|
|
|
|
|
PK |
|
|
|
|
|
P1 |
|
18 |
|
|
|
P2 |
2 |
14 |
|
|
|
P3 |
4 5 |
10 |
|
|
|
|
|
|
|
|
|
8 95 -8 : |
|
||
|
|
|
|
|
|
|
|
||
|
|
|||
|
|
|
|
|
2 : 5 |
-8 |
: |
2 : 5 -8 |
* 95 |
*, 2; < |
|
|
: 6=, >? |
|
|
|
|
|
|
S1 |
|
|
P1 |
100 |
|
|
|
|
|
S1 |
|
|
P2 |
200 |
|
|
|
|
|
S2 |
|
|
P3 |
150 |
|
|
|
|
|

Представление связи (n:n)
: n:n IDEF1X:
) " *$ / 1 |
+ / 2 |
, " / , " "
) , "
) " *$ / 1 |
|
|
|
+ / 2 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
, " *$ |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
" |
|
|
|
) " $ / 3 |
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
, " *$ |
(FK1) |
|
|
|
|||
|
|
|
|
|
(FK2) |
|
|||||
|
|
|
|
|
|
|
|
|
|
||
|
|
, |
|
|
|
|
#( " # |
|
|
||
|
|
( " |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
/) , / , #' "

Реляционная модель данных
Структурная и |
Манипуляционная |
целостная части |
часть |
Целостность сущностей, ссылочная целостность.
Целостность сущностей
Требование целостности сущностей : любой кортеж любого отношения должен быть отличим от любого другого кортежа этого же отношения.
Ограничения:
•ограничение PK
•уникальность других атрибутов (АК)
•обязательность значений атрибутов (NULL, NOT NULL)
•допустимость значений атрибутов (CHECK)

Ссылочная целостность
Пример отношения:
ОТДЕЛ ( Номер отдела, Название (АК) )
СОТРУДНИК ( Номер сотрудника, Имя, Год рождения, Номер отдела (FK) )
"$ 1 |
+ ( 1 |
%
- " $ |
- " $ |
- # |
- # |
- 3$ PK |
- 3$ FK |
Требование ссылочной целостности: значение атрибута внешнего ключа в любом кортеже дочернего отношения должно соответствовать значению атрибута первичного ключа в некотором кортеже родительского отношения.
Язык определения данных(ЯОД) Data Definition Language(DDL)
Возможности:
•Создание домена
•Создание отношения
•Определение ограничений целостности
|
" # |
! |
! |
|
|
: |
, @ |
|
|
6 . |
, A 9 |
|
|
|
< @9 |
|
|
< B : |
* @9 |
|
|
Типы ограничений целостности
$ % & |
' SQL |
|
|
C / / 8 5 |
PRIMARY KEY UNIQUE |
|
|
/ / 8 5 |
NULL NOT NULL |
|
|
6 A . / 8 5 |
CHECK |
|
|
* 9 8 8 |
FOREIGN KEY |
|
|
Основные предложения DDL(ЯОД):
CREATE тип_объекта – создать соответствующий объект БД, ALTER тип_объекта – изменить соответствующий объект БД, DROP тип_объекта – удалить указанный объект БД.