Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 2 Модел представления данных.docx
Скачиваний:
189
Добавлен:
14.02.2016
Размер:
64.64 Кб
Скачать

Реляционная целостность данных

Реляционная целостность данных рассматривается в двух аспектах – ключи отношений и реляционные ограничения целостности.

Первичным ключом называется атрибут отношения, однозначно идентифицирующий каждый из его кортежей.

Ключ может быть составным (сложным), т.е. состоять из нескольких атрибутов, и простым.

Каждое отношение обязательно имеет комбинацию атрибутов, которая может служить ключом. Таким образом, ее существование гарантирует то, что отношение – это множество, которое не содержит одинаковых кортежей. Однако, во многих СУБД можно создавать отношения, не определяя ключи.

Иногда отношение имеет несколько комбинаций атрибутов, каждая из которых однозначно определяет все кортежи отношений. Такие комбинации атрибутов – возможные или альтернативные ключи – и каждый из них можно выбрать в качестве первичного.

Ключи необходимы для:

  • Исключения дублирования данных в ключевых атрибутах

  • Упорядочения кортежей.

  • Ускорение работы с кортежами отношений.

  • Организация связывания таблиц.

Если в отношении R1 имеется не ключевой атрибут А, значения которого совпадают со значениями ключевого атрибута Б другого отношения R2, то атрибут А отношения R1 является внешним ключом.

С помощью внешних ключей устанавливаются связи между отношениями. Реляционная модель накладывает на внешние ключи ограничения для обеспечения целостности данных – ограничения ссылочной целостности, т.е. каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.

Так как каждый атрибут связан с некоторым доменом, для множества допустимых значений каждого атрибута отношения определяют так называемые ограничения домена. Кроме того, для БД задаются два правила целостности, которые называются реляционными ограничениями целостности – ограничения для всех допустимых состояний БД:

  • Правила целостности сущностей,

  • Правила ссылочной целостности.

Целостность отношений – в базовом (основном) отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, т.е. NULL-значений.

Ссылочная целостность – значение внешнего ключа отношения должно либо соответствовать значению первичного ключа базового отношения, либо задаваться значением NULL.

Индексирование

Индекс представляет собой средство ускорения поиска записей в таблице, а также других операций, использующих поиск: извлечение, модификацию, сортировку и т.д. Таблицу, для которой используется индекс, называют индексированной.

Индекс содержит отсортированную по колонке или нескольким колонкам информацию и указывает на строки, в которых хранится конкретное значение колонки. Во многих системах индексы хранятся в отдельных индексных файлах.

Индексный файл – это хранимый файл особого типа, в котором каждая запись состоит из двух значений: данное и RID-указатель.

Ключевые поля во многих СУБД индексируются автоматически. Такие файлы называются файлами первичных индексов.

Индексы, создаваемые не для ключевых полей, называются вторичными (пользовательскими) индексами. Введение данных индексов не изменяет физического расположения записей таблицы, но влияет на последовательность просмотра записей.

Некоторые СУБД поддерживают кластеризованные и хешированные индексы.

Кластеризованный индекс – специальная техника индексирования, при которой данные таблицы физически располагаются в индексированном порядке. Для каждой таблицы может создаваться только один кластеризованный индекс.

Хеширование – альтернативный способ хранения данных в заранее заданном порядке с целью ускорения поиска (прямой доступ). При хешировании указатель вычисляется с помощью некоторой хеш-функции и называется хеш-кодом. Хеш-код имеет постоянную величину.

6