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

       

Глобальные переменные значимых типов.


В связи с тем, что в непроцедурных командах доступа к данным могут использоваться только имена переменных, определенные глобально, НРМ считает полезной и необходимой возможность определять и использовать глобальные переменные значимых типов. Эти переменные могут реализовываться и как хранимые, и как вычисляемые.

Пример. Так, переменная someSales, используемая в примере предыдущего раздела, может быть определена как глобальная следующей непроцедурной командой

CREATE someSales AS SET OF Sales REALIZE AS STORED;

После этого, имя someSales может использоваться в непроцедурных командах группового доступа к данным.

Опишем кортеж, содержащий ссылку на объект типа Article и ссылку на объект типа Warehouse

DESCRIBE TUPLE Art2Ware { Art Article; Ware Warehouse; }

Создадим глобальную переменную, содержащую множество таких кортежей

CREATE ArticleOnWarehouse AS SET OF Art2Ware CONSTRAIN Art AS GLOBAL KEY REALIZE AS STORED;

Эта глобальная переменная может содержать информацию, например, о распределении артикулов по складам. Ключ этой переменной, содержащий единственный атрибут Art, указывает, что каждый артикул может храниться на одном единственном складе. Таким образом, переменная ArticleOnWarehouse содержит информацию о связи типа один-ко-многим между множеством артикулов и множеством складов.

Замечание. Хранимые и вычисляемые переменные значимых типов могут использоваться для эмуляции таблиц и видов, существующих в современных реляционных СУБД.



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