Базы данных конспект лекций - Коллектив авторов (2007)
-
Год:2007
-
Название:Базы данных конспект лекций
-
Автор:
-
Жанр:
-
Язык:Русский
-
Издательство:Эксмо
-
Страниц:83
-
ISBN:978-5-699-23778-4
-
Рейтинг:
-
Ваша оценка:
Четкое и лаконичное изложение материала, осознанный отбор важных тем позволяют качественно и быстро подготовиться к экзаменам по данному предмету, семинарам и зачетам.
Базы данных конспект лекций - Коллектив авторов читать онлайн бесплатно полную версию книги
Необходимо помнить и понимать, что вставка кортежей в дочернее отношение или обновление значений ключа дочерних отношений не будут выполнены, если это будет приводить к нарушению ссылочной целостности, т. е. к появлению так называемых висящих кортежей. Удаление же кортежей из дочернего отношения ни при каких условиях не может привести к нарушению ссылочной целостности.
Интересно, что дочернее отношение одновременно может выступать и родительским со своими правилами поддержания ссылочной целостности, если внешние ключи других базовых отношений ссылаются на какие-то его атрибуты, как на первичные ключи.
Если у программистов возникает желание обеспечить выполнение ссылочной целостности какими-то отличными от приведенных стандартных правил, то процедурная поддержка таких нестандартных правил поддержания ссылочной целостности обеспечивается с помощью так называемых триггеров. К сожалению, подробное рассмотрение этого понятия не сходит в наш курс лекций.
5. Понятие индексов
Создание ключей в базовых отношениях автоматически связано с созданием индексов.
Дадим определение понятия индекса.
Индекс – это системная структура данных, в которой размещается обязательно упорядоченный перечень значений какого-либо ключа со ссылками на те кортежи отношения, в которых эти значения встречаются.
Индексы в системах управления базами данных бывают двух видов:
1) простые.
Простой индекс берется для подсхемы схемы базового отношения из одного атрибута;
2) составные.
Соответственно составной индекс – это индекс для подсхемы, состоящей из нескольких атрибутов.
Но, кроме деления на простые и составные индексы, в системах управления базами данных существует деление индексов на уникальные и неуникальные. Итак:
1) уникальные индексы – это индексы, ссылающиеся не более чем на один атрибут.
Уникальные индексы, как правило, соответствуют первичному ключу отношения;
2) неуникальные индексы – это индексы, могущие соответствовать нескольким атрибутам одновременно.
Неуникальные ключи, в свою очередь, чаще всего соответствуют внешним ключам отношения.
Рассмотрим пример, иллюстрирующий деление индексов на уникальные и неуникальные, т. е. рассмотрим следующие отношения, заданные таблицами:
Здесь соответственно Primary key – первичный ключ отношения, Foreign key – внешний ключ. Понятно, что в этих отношениях, индекс атрибута Primary key – уникальный, так как он соответствует первичному ключу, т. е. одному атрибуту, а индекс атрибута Foreign key – неуникальный, ведь он соответствует ключам внешним. И его значение «20» соответствует одновременно первой и третьей строкам таблицы-отношения.
Но иногда индексы могут создаваться без отношения к ключам. Это делается в системах управления базами данных для поддержки производительности операций сортировки и поиска.
Например, дихотомический поиск значения индекса в кортежах будет реализован в системах управления базами данных за двадцать итераций. Откуда получены эти сведения? Они были получены путем несложных вычислений, т. е. следующим образом:
106 = (103)2 = 220;
Создаются индексы в системах управления базами данных при помощи уже известного нам оператора Create, но только с добавлением ключевого слова index. Выглядит такой оператор следующим образом:
Create indexимя индекса
Onимя базового отношения (имя атрибута,..);