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

       

OID и ссылки.


Повторим, что каждый существующий в системе объект идентифицируется своим уникальным объектным идентификатором (OID), который присваивается ему системой при создании и отличает его от любого другого объекта любого объектного типа. Именно OID обеспечивает доступ к определенным для соответствующего объектного типа компонентам конкретных объектов.

Операция сравнения объектов (один и тот же объект - разные объекты) основывается на непосредственном сравнении их объектных идентификаторов. Именно поэтому объектные идентификаторы (сами по себе) рассматриваются как генерируемые системой значения ссылочного скалярного типа (домена) DOID. Входящие в компоненты объектов поля ссылочного типа позволяют описывать связи, существующие между объектами моделируемой предметной области. Для переменных ссылочного типа определены операции присваивания, сравнивания и неявного разыменования. Последнее подразумевает, что любая операция, отличная от операций присваивания и сравнивания, выполняется не над ссылкой, а над объектом, на который эта ссылка указывает.

В любой момент времени множество действующих в системе значений ссылочных типов ограничиваются множеством значений объектных идентификаторов объектов, существующих в системе на данный момент времени. Каждому объектному типу соответствует свой ссылочный тип. Это ссылочный тип создается одновременно с объектным типом. Имена этих типов совпадают. Ссылочные типы образуют иерархию наследования аналогичную иерархии наследования объектных типов. В случае ссылочных типов наследование подразумевает, что ссылка на объект некого типа, может содержать OID любого из объектов этого типа - в том числе OID объектов любого из типов-наследников. В системе предопределен ссылочный тип Object. Поле этого типа может ссылаться на любой существующий в системе объект.

В системе могут существовать переменные, представляющие собой группу ссылок на объекты заданного типа (переменные типов-множеств определенных на ссылочном типе или, по другому, групповые ссылки). Отметим, что значение групповой ссылки можно рассматривать как значение отношения. Одиночную ссылку (т.е. ссылку на один-единственный объект) можно рассматривать как частный случай групповой.



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