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