Модели данных субд: иерархическая модель
Сначала стали использовать иерархические даталогические модели. Эта модель представляет собой совокупность связанных элементов, образующих иерархическую структуру. К основным понятиям иерархии относятся уровень, узел и связь. Узлом называется совокупность атрибутов данных, описывающих некоторый объект. Каждый узел связан с одним узлом более высокого уровня и с любым количеством узлов нижнего уровня. Исключением является узел самого высокого уровня, который не связан ни с одним узлом более высокого уровня. Количество деревьев в БД определяется количеством корней деревьев. К каждой записи БД существует единственный путь от корневой записи. Примером иерархической модели данных может служить адрес. На первом уровне (корне дерева) лежит наша планета – Земля. На втором – страна. На третьем – регион (республика, край, район), затем – населенный пункт, улица, дом, квартира. Еще один пример – это система доменных имен в Интернете. Типичным представителем СУБД (наиболее известным и распространенным), основанной на иерархической модели, является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. Рис. 5 Пример иерархической модели Здесь Отдел является предком для Начальник и Сотрудники, а Начальник и Сотрудники — потомки Отдел. Между типами записи поддерживаются связи. База данных с такой схемой могла бы выглядеть следующим образом (мы показываем один экземпляр дерева): Рис. 6 Пример иерархической модели Все экземпляры данного типа потомка с общим экземпляром типа предка называются близнецами. Для БД определен полный порядок обхода — сверху-вниз, слева-направо.
Модели данных субд: сетевая модель
В основе сетевой модели данных лежат те же понятия, что и в основе иерархической модели – узел, уровень и связь. Однако существенным различием является то, что в иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. Сетевой подход к организации данных является расширением иерархического. В сетевой модели данных любой объект может быть одновременно и главным, и подчиненным, и может участвовать в образовании любого числа взаимосвязей с другими объектами. Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно — из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи (см. рис. 7). Рис. 7. Схема сетевой модели Задание – нарисовать схему сетевой модели БД, в которой хранится информация о членстве ученых в научных организациях. Каждый ученый может состоять во множестве организаций. В свою очередь в одной организации может состоять множество ученых. Сетевые модели также создавались для мало ресурсных ЭВМ. Это достаточно сложные структуры, состоящие из «наборов» – поименованных двухуровневых деревьев. «Наборы» соединяются с помощью «записей-связок», образуя цепочки и т.д. При разработке сетевых моделей было выдумано множество «маленьких хитростей», позволяющих увеличить производительность СУБД, но существенно усложнивших последние. Прикладной программист должен знать массу терминов, изучить несколько внутренних языков СУБД, детально представлять логическую структуру базы данных для осуществления навигации среди различных экземпляров, наборов, записей и т.п. Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG), Комитета по языкам программирования Conference on Data Systems Languages (CODASYL), организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а в 70-х годах появилось несколько систем, среди которых IDMS.
Сетевая модель [3, 4]
В основе сетевой модели данныхлежат те же понятия, что и в основе иерархической модели – узел, уровень и связь. Однако существенным различием является то, что в иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков. Сетевой подход к организации данных является расширением иерархического. В сетевой модели данных любой объект может быть одновременно и главным, и подчиненным, и может участвовать в образовании любого числа взаимосвязей с другими объектами. Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно — из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи (см. рис. 7). Рис. 7. Схема сетевой модели Задание – нарисовать схему сетевой модели БД, в которой хранится информация о членстве ученых в научных организациях. Каждый ученый может состоять во множестве организаций. В свою очередь в одной организации может состоять множество ученых. Сетевыемодели также создавались для мало ресурсных ЭВМ. Это достаточно сложные структуры, состоящие из «наборов» – поименованных двухуровневых деревьев. «Наборы» соединяются с помощью «записей-связок», образуя цепочки и т.д. При разработке сетевых моделей было выдумано множество «маленьких хитростей», позволяющих увеличить производительность СУБД, но существенно усложнивших последние. Прикладной программист должен знать массу терминов, изучить несколько внутренних языков СУБД, детально представлять логическую структуру базы данных для осуществления навигации среди различных экземпляров, наборов, записей и т.п. Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG), Комитета по языкам программирования Conference on Data Systems Languages (CODASYL), организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а в 70-х годах появилось несколько систем, среди которых IDMS.
Субд на основе инвертированных файлов [5]
- Строки таблиц упорядочены системой в некоторой физической последовательности.
- Физическая упорядоченность строк всех таблиц может определяться и для всей БД (так делается, например, в 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 — включить запись в указанную таблицу; операция генерирует адрес записи.
Для продолжения скачивания необходимо пройти капчу: