3.1. Основные особенности систем,
основанных на инвертированных
списках
К числу наиболее известных и
типичных представителей таких
систем относятся Datacom/DB компании
Applied Data Research, Inc. (ADR), ориентированная
на использование на машинах
основного класса фирмы IBM, и Adabas
компании Software AG.
Организация доступа к данным на
основе инвертированных списков
используется практически во всех
современных реляционных СУБД, но в
этих системах пользователи не
имеют непосредственного доступа к
инвертированным спискам (индексам).
Кстати, когда мы будем
рассматривать внутренние
интерфейсы реляционных СУБД, вы
увидите, что они очень близки к
пользовательским интерфейсам
систем, основанных на
инвертированных списках.
База данных, организованная с
помощью инвертированных списков,
похожа на реляционную БД, но с тем
отличием, что хранимые таблицы и
пути доступа к ним видны
пользователям. При этом:
- Строки таблиц упорядочены
системой в некоторой
физической
последовательности.
- Физическая упорядоченность
строк всех таблиц может
определяться и для всей БД (так
делается, например, в Datacom/DB).
- Для каждой таблицы можно
определить произвольное число
ключей поиска, для которых
строятся индексы. Эти индексы
автоматически поддерживаются
системой, но явно видны
пользователям.
Поддерживаются два класса
операторов:
- Операторы, устанавливающие
адрес записи, среди которых:
- прямые поисковые операторы
(например, найти первую запись
таблицы по некоторому пути
доступа);
- операторы, находящие запись в
терминах относительной
позиции от предыдущей записи
по некоторому пути доступа.
-
Операторы над адресуемыми
записями Типичный набор
операторов:
- LOCATE FIRST - найти первую
запись таблицы T в
физическом порядке;
возвращает адрес записи;
- LOCATE FIRST WITH SEARCH KEY EQUAL - найти
первую запись таблицы T с
заданным значением ключа
поиска K; возвращает адрес
записи;
- LOCATE NEXT - найти первую
запись, следующую за
записью с заданным адресом
в заданном пути доступа;
возвращает адрес записи;
- LOCATE NEXT WITH SEARCH KEY EQUAL - найти
cледующую запись таблицы T
в порядке пути поиска с
заданным значением K;
должно быть соответствие
между используемым
способом сканирования и
ключом K; возвращает адрес
записи;
- LOCATE FIRST WITH SEARCH KEY GREATER - найти
первую запись таблицы T в
порядке ключа поиска K cо
значением ключевого поля,
большим заданного
значения K; возвращает
адрес записи;
- RETRIVE - выбрать запись с
указанным адресом;
- UPDATE - обновить запись с
указанным адресом;
- DELETE - удалить запись с
указанным адресом;
- STORE - включить запись в
указанную таблицу;
операция генерирует адрес
записи.
Общие правила определения
целостности БД отсутствуют. В
некоторых системах
поддерживаются ограничения
уникальности значений
некоторых полей, но в основном
все возлагается на прикладную
программу.
Предыдущая
глава || Оглавление
|| Следующая глава
|