Базы данных. Язык SQL. Дьяков И.А. - 18 стр.

UptoLike

Составители: 

Ограничения целостности в реляционных БД требуют, чтобы, например, значения атрибутов выби-
рались только из соответствующего домена, или внешний ключ не может быть указателем на несущест-
вующую строку в таблице (целостность по ссылке).
Рассмотрим более подробно понятие "Отношение".
В реляционных моделях следует различать переменные отношений и значения отношений. Пере-
менная отношенияэто обычная переменная, такая же, как и в языках программирования, т.е. имено-
ванный объект, значение которого может изменяться со временем. А значение этой переменной в любой
момент времени и будет значением отношения.
№Фамилия руководителя Должность
4781 Иванов 5742 М.н.с
5325 Петров 6931 С.п.с
3120 Сидоров 5742 П.с
1230 Яшин 2345 Инж.
2138 Юдин 6931 Вед.инж
Фамилия Отдел Стаж
5742 Иванов САПР 15
6931 Петров 525
2345 Сидоров Лаборатория 21
Сотрудник
Внешний ключ
Первичный ключ
Руководитель
Рисунок 4.8 - Взаимосвязь таблиц
Если говорить о таблице, то точнее можно сказать "Переменная базового отношения" (базовая таб-
лица). Переменная отношения в разное время представляет разные таблицы. В них будут разные строки,
а столбцы будут одинаковыми.
Введем понятие "Значение отношения".
Отношение R на множестве доменов D
1
, D
2
,…, D
n
(не обязательно различных) содержит две части:
заголовок и тело. В терминах таблиц заголовокэто строка заголовков столбцов, а телоэто множест-
во строк данных.
1 Заголовок содержит фиксированное множество атрибутов, а точнее пар <имя_атрибута,
имя_домена> {<A
1
:D
1
>, <A
2
:D
2
>,…, <A
n
:D
n
>}, причем каждый атрибут
njDA
jj
,...,1=
. Имена А
j
разные.
2 Тело содержит множество кортежей. Каждый кортеж содержит множество пар <имя атрибута;
значение атрибута> {<A
1
:Vi
1
>, <A
2
:Vi
2
>,…,<A
n
:Vi
n
>} mi ,...,1
=
; mколичество кортежей. В каждом
кортеже есть пара <A
j
:Vi
j
>
j
A в заголовке. Для любой пары <A
j
:Vi
j
> Vi
j
является значением из уни-
кального домена D
j
, связанного с A
j
.
Пусть Rпеременная отношения. Переменная R будет иметь разные значения в разное время. Од-
нако все возможные значения переменной R будут иметь одинаковые заголовки.
4.5 Свойства отношений
Можно выделить следующие свойства отношений:
нет одинаковых кортежей;
картежи не упорядочены сверху вниз;
атрибуты не упорядочены слева направо;
все значения атрибутов атомарные.
Первое свойство следует из того факта, что тело отношенияэто математическое множество (кор-
тежей), а множество не содержит одинаковых элементов. Это свойство показывает отличие отношения
и таблицы. Следует заметить, что стандарт языка SQL допускает, чтобы таблицы содержали одинаковые
строки.
Второе свойство следует из того, что тело отношенияэто математическое множество, а простые
множества не упорядочены. В каком бы порядке не расположены кортежи, отношение останется тем же
самым. Здесь тоже отличие от таблицы.
Рис. 4.8 Взаимосвязь таблиц