
- •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
4 Субд третьего поколения. Примеры.
Мы будем называть старые иерархические и сетевые системы первым поколением систем баз данных, а современные реляционные системы - вторым поколением. В настоящей работе будут рассмотрены характеристики, которыми должны обладать менеджеры баз данных следующего, уже третьего поколения. Наши требования состоят из трех основных принципов и 13 детальных предложений.
1 Введение
Сетевые и иерархические системы баз данных, широко распространенные в 70-е годы, получили подходящее название - системы баз данных первого поколения. Действительно, это были первые системы, предлагавшие развитую функциональность СУБД в рамках единой системы, с языками определения и манипулирования данными для наборов записей.2) Типичными представителями первого поколения являются системы, основанные на предложениях CODASYL [CODA71] и IMS [DATE86].
В 80-е годы системы первого поколения были существенно потеснены современным семейством реляционных СУБД, называемых системами баз данных второго поколения. Их появление стало важным шагом вперед для многих приложений, так как в этих системах использовались непроцедурные языки манипулирования данными и предусматривалась значительная степень независимости данных. Типичные представители систем второго поколения - DB2, INGRES, NON-STOP SQL, ORACLE и Rdb/VMS.3)
Однако системы второго поколения были сфокусированы на приложениях обработки бизнес-данных и, как указывали многие исследователи, не являлись адекватными решениями для более широкого класса приложений. Системы автоматизации проектирования (САПР), системы CASE и гипертекстовые приложения часто выделяются как примеры, в которых можно было бы эффективно использовать различные СУБД, обладающие специализированными возможностями. Рассмотрим, например, издательскую систему, с помощью которой клиент хочет создать макет газеты, а затем распечатать ее. Для работы этого приложения необходимо хранить сегменты текста, графики, пиктограммы и множество других типов элементов данных, встречаемых в большей части гипертекстовых сред. Поддержка таких элементов данных системами второго поколения обычно сопряжена с немалыми трудностями.
Однако критики реляционной модели не замечают главного. Системы второго поколения не особо хороши и для поддержки большинства приложений обработки бизнес-данных. Возьмем, например, страховое приложение, обрабатывающее требования о выплатах. Ему необходимы традиционные типы данных, такие как имя и размер выплаты каждому застрахованному человеку. Однако, желательно также хранить и образы фотографий события, к которому относится требование о выплате, и факсимиле оригинального рукописного требования о выплате. Подобные элементы данных неудобно хранить в СУБД второго поколения. Более того, вся информация, имеющая отношение к определенному требованию о выплате, объединяется в папку, содержащую традиционные данные, образы и, возможно, процедурные данные. Структура папки часто бывает настолько сложной, что в сравнении с ней элементы данных и агрегированные данные САПР- и CASE-систем кажутся довольно простыми.
Таким образом, почти всем требуется лучшая СУБД, и уже делалось несколько попыток сконструировать прототипы с продвинутыми функциями. Более того, большинство современных поставщиков СУБД работают над значительным расширением функций своих СУБД второго поколения. Удивительна степень единодушия в отношении желаемых возможностей систем следующего, третьего поколения. В настоящей работе мы представим три основных принципа, которыми следует руководствоваться при создании систем третьего поколения. Кроме этого, будут приведены 13 предложений, в которых требования к новым системам будут обсуждены более детально. Целесообразно сопоставить нашу работу с публикациями [ATKI89, KIM90, ZDON90], где предлагаются другие наборы принципов.