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