Базы данных | страница 58
Сам оператор создания базового отношения с использованием правила Set Null при объявлении внешних ключей отношения выглядит следующим образом:
Create table Родительское отношение
Primary_key
Integer
not Null
primary key (Primary_key)
Create table Дочернее отношение
Foreign_key
Integer
Null
foreign key (Foreign_key) references Родительское отношение (Primary_key)
on update Set Null
on delete Set Null
Итак, мы видим, что наличие трех различных правил поддержания ссылочной целостности обеспечивают то, что во фразах on update и on delete функции могут быть разными.
Необходимо помнить и понимать, что вставка кортежей в дочернее отношение или обновление значений ключа дочерних отношений не будут выполнены, если это будет приводить к нарушению ссылочной целостности, т. е. к появлению так называемых висящих кортежей. Удаление же кортежей из дочернего отношения ни при каких условиях не может привести к нарушению ссылочной целостности.
Интересно, что дочернее отношение одновременно может выступать и родительским со своими правилами поддержания ссылочной целостности, если внешние ключи других базовых отношений ссылаются на какие-то его атрибуты, как на первичные ключи.
Если у программистов возникает желание обеспечить выполнение ссылочной целостности какими-то отличными от приведенных стандартных правил, то процедурная поддержка таких нестандартных правил поддержания ссылочной целостности обеспечивается с помощью так называемых триггеров. К сожалению, подробное рассмотрение этого понятия не сходит в наш курс лекций.
5. Понятие индексов
Создание ключей в базовых отношениях автоматически связано с созданием индексов.
Дадим определение понятия индекса.
Индекс – это системная структура данных, в которой размещается обязательно упорядоченный перечень значений какого-либо ключа со ссылками на те кортежи отношения, в которых эти значения встречаются.
Индексы в системах управления базами данных бывают двух видов:
1) простые.
Простой индекс берется для подсхемы схемы базового отношения из одного атрибута;
2) составные.
Соответственно составной индекс – это индекс для подсхемы, состоящей из нескольких атрибутов.
Но, кроме деления на простые и составные индексы, в системах управления базами данных существует деление индексов на уникальные и неуникальные. Итак:
1) уникальные индексы – это индексы, ссылающиеся не более чем на один атрибут.
Уникальные индексы, как правило, соответствуют первичному ключу отношения;