Объекты и кортежи
Содержимым объекта является структура с компонентами
для атрибутов и связей класса. Стандарт ODL не содержит предписаний
относительно того, как должна представляться информация о связях, но можно
предположить, что объект соединяется с другими объектами посредством
определенного набора указателей. Кортеж также описывается структурой, но в
традиционной реляционной модели предусматривается, что кортеж обладает только
компонентами атрибутов. Связи представляются кортежами других отношений (см.
раздел 3.3.2 на с. 102). Объектно-реляционная модель, однако, позволяет
рассматривать множества ссылок в виде компонентов кортежей, и поэтому
допускает включение информации связей непосредственно в кортежи, представляющие
"объекты" или "сущности".
Экземпляры классов и отношения
В языке ODL
все объекты класса трактуются в контексте экземпляра (extent) класса. Объектно-реляционная модель допускает возможность
существования нескольких различных отношений с одной и той же схемой, так что
должны быть предусмотрены и более развитые средства различения членов одного и
того же класса. ODL, однако, позволяет определять
интерфейсы (interfaces) — по существу, те же классы,
но без объявления экземпляра (см. врезку "Интерфейсы" на с. 169).
Помимо того, в ODL предусмотрена возможность
определения произвольного числа классов с различными экземплярами, наследующих
один и тот же интерфейс.
Методы
Мы не говорим о возможности
использования методов как о неотъемлемой части объектно-реляционной модели. На
практике, однако, это вполне допустимо, поскольку в стандарте SQL-99 и реализациях объектно-реляционной модели предусмотрены средства
объявления и определения методов в составе классов, аналогичные инструментам ODL.
Системы типов
Системы типов в
объектно-ориентированной и объектно-реляционной моделях весьма схожи. Каждая из
них основана на множестве атомарных типов и предусматривает средства создания
новых типов из существующих с помощью конструкторов структурных типов и типов
коллекций. Набор доступных типов коллекций в каждом конкретном случае может
отличаться, но во всех реализациях предлагаются, как минимум, конструкторы
типов множеств (sets) и мультимножеств (bags). В обоих моделях типам множеств (или мультимножеств) структур отводится
особая роль: речь идет о типах классов в ODL и типах отношений в
объектно-реляционной модели.
Комментариев нет:
Отправить комментарий