
- •3.2. Реляционные системы
- •Язык sql и реляционные операции.
- •Сравнения, ограниченные доменом
- •Домены и определение данных
- •Значения отношений
- •Определение данных
- •Свойства отношений
- •Виды отношений
- •Потенциальные ключи
- •Первичные и альтернативные ключи
- •22. Внешние ключи. Определение и свойства. Синтаксис для указания внешнего ключа. Ссылочная целостность.
- •Ссылочная целостность
- •23. Правила внешних ключей. Расширенный синтаксис задания внешнего ключа
Значения отношений
Отношение R, определенное на множестве доменов D1, D2,..., Dn (не обязательно различных), содержит две части: заголовок; тело.
1. Заголовок содержит фиксированное множество пар <имя-атрибута:имя-домена>:
{ <A1:D1>, <A2:D2>, …, <An:Dn> },
причем каждый атрибут Aj соответствует одному и только одному из лежащих в основе доменов Dj (j = 1,…,п). Все имена атрибутов A1, А2,…An разные.
2. Тело содержит множество кортежей. Каждый кортеж, в свою очередь, содержит множество пар <имя-атрибута:значение-атрибута>:
{ <A1:Vi1>, <А2: Vi2>,…,<Ап: Vin> }
(i = 1, 2,… т, где т— количество кортежей в этом множестве). В каждом таком кортеже есть одна такая пара <имя-атрибута:значение-атрибута>, т.е. <Aj:Vij>, для каждого атрибута Aj в заголовке. Для любой такой пары <Aj:Vij> Vij является значением из уникального домена Dj, который связан с атрибутом Aj.
Значения т и п называются соответственно кардинальным числом и степенью отношения R.
Определение данных
Синтаксис оператора создания базового отношения:
CREATE BASE RELATION base-relation
( attribute-definition-comraalist )
candidate-key-definition-list
foreign-key-definition-list ;
При выполнении этого оператора создается новое базовое отношение с именем base-relation, а также указанные атрибуты, потенциальные и внешние ключи.
Отношение создается пустым (т.е. не содержит кортежей).
Пояснения к оператору.
1. Термины list (список) и commalist (список, разделенный запятыми) удобно использовать при описании операторов. В общем они значат следующее:
Если xyz— синтаксическая единица, то xyz-list— это синтаксическая единица, которая состоит из последовательности единиц xyz, количество которых больше либо равно нулю. Если xyz— синтаксическая единица, то xyz-commalist— это синтаксическая единица, которая состоит из последовательности единиц xyz, количество которых больше либо равно нулю.
2. Определение атрибута имеет следующую форму:
attribute DCMAIN ( domain )
Если опустить спецификацию "domain ( domain )", то считается, что атрибут основан на домене с тем же именем.
3. В каждом операторе create base relation есть только одно определение потенциальных ключей в следующей форме:
PRIMARY KEY ( attribute-commalist )
Удаление базовых отношений
Синтаксис оператора удаления существующего базового отношения:
DESTROY BASE RELATION base-relation ;
Эта операция предназначена для удаления всех кортежей указанного базового отношения с последующим удалением всех записей в каталоге об этом отношении.
Свойства отношений
В любом отношении: нет одинаковых кортежей; кортежи не упорядочены сверху вниз; атрибуты не упорядочены слева направо; все значения атрибутов атомарные.
Нет одинаковых кортежей
Кортежи не упорядочены (сверху вниз). Это свойство также следует из того, что тело отношения — это математическое множество, а простые множества в математике не упорядочены
Атрибуты не упорядочены (слева направо). Это свойство следует из того факта, что заголовок отношения также определен множество (атрибутов).
Значения атрибутов атомарные Данное свойство является следствием того, что все лежащие в основе отношения домены содержат только атомарные значения.
Отношение, удовлетворяющее этому условию, называется нормализованным, или представленным в первой нормальной форме