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

       

Каталог.


Описывая принципы организации каталога, НРМ предполагает, что используемая РСУБД уже содержит каталог, позволяющий описать схему своей "табличной" памяти (то есть схему реляционной БД). Эта схема включает описание отношений уровня хранения, схемы которых определяются и однозначно соответствует схемам компонентов, которые определяются и описываются на на уровне представлении. Поэтому мы не будем останавливаться на части каталога, содержащего информацию о структуре этих отношений, ограничившись утверждением о том, что каждой такой переменной следует поставить в соответствие некий идентификатор STOREDR, определенный на домене идентификаторов отношений STOREDRVarIDs (здесь и далее идентификаторами могут являться, например, уникальные имена).

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

  1. Таблица valTYPES(vT:vTypes …) , перечисляет существующие в системе значимых типах. (vTypes - домен идентификаторов значимых типов, например имена типов). Детальное описание этих типов может содержаться в других (не описываемых здесь) таблицах.
  2. Таблица объектных типов objTYPES (oT:oTypes …) перечисляет все существующие в системе объектные типы (oTypes - домен идентификаторов объектных типов, например имена типов).
  3. Таблица IS_T(oT:oTypes, IS_oT: oTypes …) полностью описывает существующее между объектными типами отношение наследования. Для каждого типа t в таблице существует запись, где boT = IS oT . Также, для каждого типа t в таблице перечисляются все его прямые и непрямые базовые типы IS_oT.
  4. Таблица SPEC(A:Comps, oT:oTypes, vT: vTypes, signature …) перечисляет собственные (т.е. неунаследованные) компоненты (поле A) объектных типов (поле oT), указывает значимый тип этих компонентов (поле vT) и иную информацию определяющую их сигнатуру (CompID - домен идентификаторов компонентов, например, имена компонентов). Фактически, эта таблица содержит полную информацию о спецификации собственных компонентов объектных типов.
  5. Таблица REAL(A:Comps, OF_oT:oTypes, isSTORED:BOOLEAN, RealExpr…) содержит информацию о реализации компонентов (поле A) объектных типов (поле OF_oT) и, в частности информацию о том, является ли атрибут хранимым (поле isSTORED = TRUE) или вычисляемым (поле isSTORED = FALSE).

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