Рассмотрим общие подходы к организации трех типов ранних систем, основанных на инвертированных списках, иерархических и сетевых систем управления базами данных.
Основные особенности систем, основанных на инвертированных списках
Организация доступа к данным используется практически во всех современных реляционных СУБД, но в этих системах пользователи не имеют непосредственного доступа к инвертированным спискам (индексам).
Структуры данных
Похожа на реляционную БД, но хранимые таблицы и пути доступа к ним видны только пользователям. При этом:
- Строки таблиц упорядочены системой в некоторой физической последовательности.
- Физическая упорядоченность строк всех таблиц может определяться и для всей БД.
- Для каждой таблицы можно определить произвольное число ключей поиска, для которых строятся индексы. Эти индексы автоматически поддерживаются системой, но явно видны пользователям.
Манипулирование данными
Поддерживаются два класса операторов:
|
|
- Операторы, устанавливающие адрес записи, среди которых:
1) прямые поисковые операторы;
2) операторы, находящие запись в терминах относительной позиции от предыдущей записи по некоторому пути доступа.
- Операторы над адресуемыми записями
Ограничения целостности
Общие правила определения целостности БД отсутствуют. В некоторых системах поддерживаются ограничения уникальности значений некоторых полей, но в основном все возлагается на прикладную программу.
Иерархические системы
Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных, что создает существенные проблемы с переходом как на новую технологию БД, так и на новую технику.
Структура данных
Иерархическая БД состоит из упорядоченного набора деревьев (более точно из упорядоченного набора нескольких экземпляров одного типа дерева).
Тип дерева состоит из одного "корневого" типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи.