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

       

Следствием этого является существование ссылочной


Следствием этого является существование ссылочной целостности, то есть невозможности уничтожить объект в том случае, если в системе существует ассоциативная запись (кортеж отношения со схемой Ra), содержащая OID этого объекта в одном из полей ref1 .... refi.

Частным, но очень важным случаем ассоциаций является существующие в объектных системах ссылки. Любая ссылка в модели "объект-качество" рассматривается как значения качества (типа) "объектная ссылка". По сути дела речь идет о качестве Qref, которое на уровне представления в самом общем виде можно рассматривать как 1-арное отношение со схемой [DOID:ref], где единственный атрибут ref определен на домене DOID. Значением этого качества может являться OID одного из существующих в системе объектов.

Интересным эффект возникает в связи с тем, что на уровне представления качество "объектная ссылка" содержит один единственный атрибут с именем ref. Для того, что бы обратиться к значению, содержащемуся в объектной ссылке, имя ref можно не указывать. Например, если объект o ссылается на другой объект посредством атрибута-ссылки r, то для записи этого вместо выражения вида o.r.ref, достаточно выражения вида o.r , который используется в традиционных объектных системах. Поскольку ссылки являются основным механизмом описания связей между объектами в традиционных объектных системах, то система, основанная на модели "объект-качество", должна по умолчанию поддерживать качество "объектная ссылка" а также особенности использования этого качества.

Следует особо отметить, что ассоциация, являющаяся на объектном уровне направленной (ассоциирующий объект ссылается на ассоциируемые объекты), на уровне хранения (реляционном уровне) является симметричной. Например множество ссылок образует на уровне хранения отношение Rref со схемой [DOID:OID, S, DOID:ref]. Конечно мы по прежнему можем подразумевать, что один объект, OID которого содержится в поле "OID" (К-часть), ссылается на другой объект, OID которого содержится в поле "ref" (Q-часть).Однако фактически отношение Rref является симметричной ассоциации объектов, что позволяет описать связь (между объектами) как связь типа многие-ко-многим.

Такой подход дает некоторые возможности, недоступные в традиционных объектных системах. Например, для любого объекта возможно определить объекты, ссылающиеся на него - для этого достаточно отобрать кортежи отношения Rref у которых в поле ref содержится OID данного объекта. В традиционных объектных системах для того, что бы получить такую информацию придется перебрать и проанализировать все существующие объекты, что представляется практически неосуществимым.


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