Основы проектирования баз данных в САПР. Литовка Ю.В - 17 стр.

UptoLike

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