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

       

Типы R*O системы.


Данные в R*O системе представлены в виде набора значений, принадлежащих одному из предопределенных или конструируемых типов. Типы делятся на значимые и объектные. Значимые типы описывают значения, объектные - объекты.

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

К значимым типам относятся

  1. скалярные - включая базовые (числовые, символьные, булевские и т.п. типы) и ссылочные типы (о них - далее). Значение скалярного типа будем называть далее скалярами.
  2. конструируемые кортежные типы. Значения этого типа (далее - кортежи) представляют собой множество пар "имя атрибута, значение атрибута скалярного типа". Соответственно, кортежный тип определяется как множество пар "имя атрибута, скалярный тип атрибута".
  3. конструируемые типы-множества. Значения этого типа (далее - множества) представляют собой множества скалярных или кортежных значений. Соответственно этому определяется и переменная типа-множества (имя_переменной AS SET OF имя_скалярного_или_кортежного_типа).

Замечание. Мы опускает возможность существования других способов определения скалярных типов, однако допускаем, что такие способы могут существовать. Например, тип можно определить путем явного перечисления его значений. Также мы опускаем возможность существования типов-коллекций, отличных от типов множеств, однако допускаем существование таких типов при условии, что значения этих типов могут быть однозначно преобразованы в значения типов множеств и, из них, обратно в те же самые значения.

Пример. В качестве сквозного примера рассмотрим простую схему данных, позволяющих описать движение товаров и их хранение на множестве складов. INTEGER, FLOAT, DATE, STRING являются базовыми скалярными типами.

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