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

       

No INTEGER CONSTRAIN GLOBALKEY No;


Компонент MovedItems содержит информацию о количестве перевозимого товара.

CREATE CLASS GoodsMotion { No INTEGER CONSTRAIN GLOBALKEY No; DateOfAction DATE; FromWarehouse Warehouse; ToWarehouse Warehouse; MovedItems SET OF ArtQty CONSTRAIN LOCALKEY Art; }

Рассматриваемый здесь набор значимых типов позволяет однозначно выполнить основное требование R*O системы. В самом деле


  • Значение компонента-множества можно рассматривать как значение отношения, схема которого соответствует схеме элементов этого множества.
    Замечание. Говоря о множества значений скалярного типа, будем предполагать, что соответствующая схема отношения содержит единственный аргумент value этого типа.

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

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

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