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




Пример системы, реализующей принцип "Сложность данных в именах". НадРеляционный манифест. - часть 3


Тем самым, для объектов типа Y определена следующая иерархическая структура (подчеркнуты скалярные элементы структуры) Y |\ a b

|\ c d

и корректными являются путевые выражения "Y.a", "Y.b.c" и "Y.b.d".

Исходя из этого правила именования, система гарантирует пользователю, что существуют и глобально доступны следующие отношения (приводятся имена отношений и (в скобках) имена их атрибутов): "Y" ("Y", "a", "b.c", "b.d") "Y.b" ("Y", "c", "d")

Отметим также, что если в некотором контексте определено имя "refY" ссылки на объект или множество объектов типа Y, то система гарантирует, что в этом контексте существуют еще и отношения

"refY" ("Y", "a", " b.c", " b.d") "refY.b" ("Y", "c", "d")

Данное правило действительно для структур любой вложенности. Рассмотрим объектный тип Х, содержащий ссылки на описанный тип Y:

CREATE CLASS X { e Y; // у является компонентом ссылочного типа Y f SET OF // компонент b имеет тип отношение { // с атрибутом g Y; // g (определен на ссылочном домене Y) }.. }..

Тем самым, для объектов типа X (с учетом вложенной структуры Y) определена следующая структура X / \ e f |\ | a b g

|\ |\ c d a b

|\ c d

Исходя из этого описания, система гарантирует пользователю, что, помимо уже описанных отношений, в системе существуют следующие отношения: "X" ("X", "e", "e.a", "e.b.c", "e.b.d", "f.g", "f.g.a", "f.g.b.c", "f.g.b.d") "X.e" ("X", "a", "b.c", "b.d") "X.e.b" ("X", "c", "d") "X.f" ("X", "g", "g.a", "g.b.c", "g.b.d") "X.f.g" ("X", "a", " b.c", "b.d") "X.f.g.b" ("X", "c", "d")




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