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

       

что поскольку каждый артикул принадлежит


Отметим, что поскольку каждый артикул принадлежит только одной торговой марке, поле Art описано как глобальный ключ. Таким образом, любой кортеж компонента SaledItems любого объекта типа Brand будет уникальным во всех этих объектах.

ALTER CLASS Brand ADD SaledItems SET OF ArtQty CONSTRAIN GLOBALKEY Art;

В общем случае спецификация объектного типа включает в себя


  1. имя типа
  2. перечень родительских типов (если не определено иначе, родительским типом является тип Object)
  3. набор спецификаций компонентов, включающих a) имя компонента, b) значимый тип компонента, и c), возможно, набор параметров, каждый из которых описывается как пара .
  4. набор ограничений целостности данных - ключи.


Замечание. Мы не рассматриваем иные характерные для языков программирования возможности спецификации объектных типов (например, модификаторы видимости private и public, модификаторы обновляемости readonly, и т.д.), однако допускаем, что такие возможности могут существовать и быть полезными.

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

Пример. Реализуем объектный тип GoodsMotion . Все его компоненты являются хранимыми.

ALTER CLASS GoodsMotion REALIZE No, Date, FromWarehouse, ToWarehouse, MovedItems AS STORED;

Точно так же реализуются тип Article

ALTER CLASS Article REALIZE * AS STORED;

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


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