Распределенная обработка данных. Найханова Л.В. - 88 стр.

UptoLike

Составители: 

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


88