Главная
»
Информационные системы
»
Управление данными
»
4. Достоинства и недостатки систем управления данными, основанных на инвертированных списках
4. Достоинства и недостатки систем управления данными, основанных на инвертированных списках
4.1. Основные особенности систем, основанных на инвертированных списках
К
числу наиболее известных и типичных представителей таких систем
относятся Datacom/DB компании Applied Data Research, Inc. (ADR),
ориентированная на использование на машинах основного класса фирмы IBM,
и Adabas компании Software AG.
Организация
доступа к данным на основе инвертированных списков используется
практически во всех современных реляционных СУБД, но в этих системах
пользователи не имеют непосредственного доступа к инвертированным
спискам (индексам). Кстати, когда мы будем рассматривать внутренние
интерфейсы реляционных СУБД, вы увидите, что они очень близки к
пользовательским интерфейсам систем, основанных на инвертированных
списках.
4.1.1. Структуры данных
База
данных, организованная с помощью инвертированных списков, похожа на
реляционную БД, но с тем отличием, что хранимые таблицы и пути доступа
к ним видны пользователям. При этом:
- Строки таблиц упорядочены системой в некоторой физической последовательности.
- Физическая упорядоченность строк всех таблиц может определяться и для всей БД (так делается, например, в Datacom/DB).
- Для каждой таблицы можно определить произвольное число ключей
поиска, для которых строятся индексы. Эти индексы автоматически
поддерживаются системой, но явно видны пользователям.
4.1.2. Манипулирование данными
Поддерживаются два класса операторов:
1. Операторы, устанавливающие адрес записи, среди которых:
- прямые поисковые операторы (например, найти первую запись таблицы по некоторому пути доступа);
- операторы, находящие запись в терминах относительной позиции от предыдущей записи по некоторому пути доступа.
Операторы над адресуемыми записями
Типичный набор операторов:
- 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 - включить запись в указанную таблицу; операция генерирует адрес записи.
4.1.3. Ограничения целостности
Общие
правила определения целостности БД отсутствуют. В некоторых системах
поддерживаются ограничения уникальности значений некоторых полей, но в
основном все возлагается на прикладную программу.
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.