
- •2 Субд первого поколения. Примеры.
- •2.1. Иерархические системы
- •2.1.1 Иерархические структуры данных
- •2.1.2 Манипулирование данными
- •2.1.3. Ограничения целостности
- •2.2. Сетевые системы
- •2.2.1. Сетевые структуры данных
- •2.2.2. Манипулирование данными
- •2.2.3. Ограничения целостности
- •3 Субд второго поколения. Примеры.
- •4.1. Базовые понятия реляционных баз данных
- •4.1.1. Тип данных
- •4.1.2. Домен
- •4.1.3. Схема отношения, схема базы данных
- •4.1.4. Кортеж, отношение
- •4.2. Фундаментальные свойства отношений
- •4.2.1. Отсутствие кортежей-дубликатов
- •4.2.2. Отсутствие упорядоченности кортежей
- •4.2.3. Отсутствие упорядоченности атрибутов
- •4.2.4. Атомарность значений атрибутов
- •4.3. Реляционная модель данных
- •4.3.1. Общая характеристика
- •4.3.2. Целостность сущности и ссылок
- •4 Субд третьего поколения. Примеры.
- •1 Введение
- •2 Принципы субд третьего поколения
- •3 Тринадцать предложений
- •3.1. Предложения, касающиеся управления объектами и правилами
- •3.2. Предложения, касающиеся увеличения функциональных возможностей субд
- •3.3. Предложения, следующие из необходимости открытости системы
- •4. Заключение
- •5 Структура субд. Структура субд линтер
- •Типовая организация современной субд
- •2.3. Пример: System r
2 Субд первого поколения. Примеры.
1 поколение (70-е годы): СУБД, поддерживающие сетевую или иерархическую модель и рассчитанные на большие ЭВМ (mainframe). Типичными представителями первого поколения являются СУБД, основанные на предложениях CODASIL [Олле 81] и IMS [Дейт 80]. Для СУБД 1-го поколения характерны закрытость и централизованная архитектура.
Ассоциация КОДАСИЛ - (Соnference On Date Systems Languages - CODASYL) - образована в 1959 г. на проходившей в Вашингтоне встрече представителей 40 организаций и учреждений - пользователей ЭВМ, предприятий по производству вычислительной техники и правительственных учреждений. Это - добровольное общество, финансируемое организациями-участниками. Оно не устанавливает стандарты и не контролирует их соблюдение. Задача комитетов КОДАСИЛ - разработка методов и языков, используемых в системах обработки данных при их анализе, реализации и эксплуатации. Разработанные спецификации через журнал развития предоставляются группам по стандартизации.
2.1. Иерархические системы
Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных, что создает существенные проблемы с переходом как на новую технологию БД, так и на новую технику.
2.1.1 Иерархические структуры данных
Иерархическая БД состоит из упорядоченного набора деревьев; более точно, из упорядоченного набора нескольких экземпляров одного типа дерева.
Тип дерева состоит из одного "корневого" типа записи и упорядоченного набора из нуля или более типов поддеревьев (каждое из которых является некоторым типом дерева). Тип дерева в целом представляет собой иерархически организованный набор типов записи.
Пример типа дерева (схемы иерархической БД):
Здесь Отдел является предком для Начальник и Сотрудники, а Начальник и Сотрудники - потомки Отдел. Между типами записи поддерживаются связи.
База данных с такой схемой могла бы выглядеть следующим образом (мы показываем один экземпляр дерева):
Все экземпляры данного типа потомка с общим экземпляром типа предка называются близнецами. Для БД определен полный порядок обхода - сверху-вниз, слева-направо.
В IMS использовалась оригинальная и нестандартная терминология: "сегмент" вместо "запись", а под "записью БД" понималось все дерево сегментов.
2.1.2 Манипулирование данными
Примерами типичных операторов манипулирования иерархически организованными данными могут быть следующие:
Найти указанное дерево БД (например, отдел 310);
Перейти от одного дерева к другому;
Перейти от одной записи к другой внутри дерева (например, от отдела - к первому сотруднику);
Перейти от одной записи к другой в порядке обхода иерархии;
Вставить новую запись в указанную позицию;
Удалить текущую запись.
2.1.3. Ограничения целостности
Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя. Заметим, что аналогичное поддержание целостности по ссылкам между записями, не входящими в одну иерархию, не поддерживается (примером такой "внешней" ссылки может быть содержимое поля Каф_Номер в экземпляре типа записи Куратор).
В иерархических системах поддерживалась некоторая форма представлений БД на основе ограничения иерархии. Примером представления приведенной выше БД может быть иерархия