Классика баз данных - статьи

       

будем называть этот АГК статическим


ациклический граф с корнем (АГК), все вершины которого

представляют собой классы объектов, а дуги соответствуют

отношению наследования ( будем называть этот АГК статическим АГК

ООБД). Каждый объект ООБД обладает типом и непосредственно

принадлежит некоторому классу, принадлежа при этом каждому

суперклассу этого класса. Все объекты одного класса обладают

общим типом и поэтому можно говорить о типе класса. Тип

суперкласса является супертипом типа класса (в частности, тем же

самым типом). Непосредственным типом объекта называется тип

класса, которому непосредственно принадлежит этот объект.

Допускается также наличие в статической решетке классов ООБД

нескольких классов, не связанных отношением класс-суперкласс, с

одним типом. Тип объекта (класса) в нашей трактовке является не

только синтаксической, но и семантической характеристикой. В

частности, если два класса объектов обладают одним и тем же

типом, то осмысленны теоретико-множественные операции объединения

и пересечения для этих классов.

Будем различать статический АГК классов (собственно ООБД) и

динамический АГК классов, возникающий при вычислении

(интерпретации) запроса к БД. В статической решетке классов

каждый объект непосредственно принадлежит только одному классу. В

динамической решетке возможны ситуации, когда один объект

(временно) непосредственно принадлежит нескольким классам, только

один из которых входит в статическую решетку классов. Тем не

менее, при интерпретации запроса известно, какой из классов

является основным, т.е. к какому классу в данный момент относится

данный объект. Заметим, что это никак не влияет на свойство

объекта обладать уникальным идентификатором.

Будем считать, что каждый тип обладает функциональной сигнатурой,

т.е. внешняя спецификация типа задается набором прототипов

функций со специфицированными параметрами. Параметры

типизированы, т.е. если параметром некоторой функции сигнатуры

типа является объект, то указывается его тип, а не класс. В

частности, функции типа могут не иметь параметров и это можно


Содержание  Назад  Вперед