21.2. Абстрактные типы данных
Одной из наиболее известных СУБД
третьего поколения является
система Postgres, а создатель этой
системы М.Стоунбрекер, по всей
видимости, является вдохновителем
всего направления. В Postgres
реализованы многие интересные
средства: поддерживается
темпоральная модель хранения и
доступа к данным (см. ниже) и в связи
с этим абсолютно пересмотрен
механизм журнализации изменений,
откатов транзакций и
восстановления БД после сбоев;
обеспечивается мощный механизм
ограничений целостности;
поддерживаются ненормализованные
отношения (работа в этом
направлении началась еще в среде
Ingres), хотя и довольно странным
способом: в поле отношения может
храниться динамически выполняемый
запрос к БД.
Одно свойство системы Postgres
сближает ее со свойствами
объектно-ориентированных СУБД. В
Postgres допускается хранение в полях
отношений данных абстрактных,
определяемых пользователями типов.
Это обеспечивает возможность
внедрения поведенческого аспекта в
БД, т.е. решает ту же задачу, что и
ООБД, хотя, конечно, семантические
возможности модели данных Postgres
существенно слабее, чем у
объектно-ориентированных моделей
данных. Основная разница состоит в
том, что системы класса Postgres не
предполагают наличия языка
программирования, одинаково
понимаемого как внешней системой
программирования, так и системой
управления базами данных. Если с
использованием такой системы
программирования определяются
типы данных, хранимых в базе данных,
то СУБД оказывается не в состоянии
контролировать безопасность этих
определений, т.е. то отсутствует
гарантия, что при выполнении
процедур абстрактных типов данных
не будет разрушена сама база
данных.
Заметим, что в середине 1995 г.
компания Sun Microsystems объявила о
выпуске нового продукта - языка и
семейства интерпретаторов под
названием Java. Язык Java является
расширенным подмножеством языка
Си++. Основные изменения касаются
того, что язык является
пооператорно интерпретируемым (в
стиле языка Бейсик), а программы,
написанные на языке Java,
гарантированно безопасны (в
частности, при выполнении любой
программы не может быть поврежден
интерпретатор). Для этого, в
частности, из языка удалена
арифметика над указателями. В то же
время Java остается мощным
объектно-ориентированным языком,
включающим развитые средства
определения абстрактных типов
данных. Компания Sun продвигает язык
Java с целью расширения возможностей
службы Всемирной Паутины (World Wide Web)
Internet (основная идея состоит в том,
что из сервера WWW в клиенты
передаются не данные, а объекты,
методы которых запрограммированы
на языке Java и интерпретируются на
стороне клиента; этот подход, в
частности, решает проблему
нестандартизованного
представления мультимедийной
информации). Однако, как кажется,
интерпретируемый и безопасный язык
типа Java может быть успешно применен
и в системах баз данных,
допускающих хранение данных с
типами, определенными
пользователями.
Предыдущая
глава || Оглавление
|| Следующая глава
|