Базы данных - модели, разработка, реализация

       

Язык описания данных иерархической модели


В рамках иерархической модели выделяют языковые средства описания данных (DDL, Data Definition Language) и средства манипулирования данными (DML, Data Manipulation Language).

Каждая физическая база описывается набором операторов, определяющих как ее логическую структуру, так и структуру хранения БД. Описание начинается с оператора DBD (Data Base Definition):

  • DBD Name = < имя БД>, ACCESS = < способ доступа>
  • Способ доступа определяет способ организации взаимосвязи физических записей. Определено 5 способов доступа: HSAM - hierarchical sequential access method (иерархически последовательный метод), HISAM - hierarchical index sequential access method (иерархически индексно - последовательный метод), HDAM - hierarchical direct access method (иерархически прямой метод), HIDAM -hierarchical index direct access method (иерархически индексно - прямой метод), INDEX - индексный метод.

    Далее идет описание наборов данных, предназначенных для хранения БД:

  • DATA SET DD1 = < имя оператора, определяющего хранимый набор данных>.
  • DEVICE =< устройство хранения БД>,
  • [OVFLW = < имя области переполнения >]
  • Так как физические записи имеют разную длину, то при модификации данных запись может увеличиться и превысит исходную длину записи до модификации. В этом случае при определенных методах хранения может понадобиться дополнительное пространство хранения, где и будут размещены дополнительные данные. Это пространство и называется областью переполнения.

    34

    После описания всей физической БД идет описание типов сегментов, ее составляющих, в соответствии с иерархией. Описание сегментов всегда начинается с описания корневого сегмента. Общая схема описания типа сегмента такова:

  • SEGM NAME = < имя сегмента>. BYTES =< размер в байтах>.
  • FREQ =
  • PARENT =
  • Параметр FREQ определяет среднее количество экземпляров данного сегмента, связанных с одним экземпляром родительского сегмента. Для корневого сегмента это число возможных экземпляров корневого сегмента.




    Для корневого сегмента параметр PARENT равен 0 (нулю).

    Далее для каждого сегмента дается описание полей:

  • FIELD NAME = {( [. SEQ],{U | M}) | }.


  • START = < номер байта, с которого начинается значения поля >,


  • BYTES = ,


  • TYPE = {X | Р | С}


  • Признак SEQ - задается для ключевого поля, если экземпляры данного сегмента физически упорядочены в соответствии со значениями данного поля.

    Параметр U задается, если значения ключевого поля уникальны для всех экземпляров данного сегмента, М - в противном случае. Если ноле является ключевым, то его описание задается в круглых скобках, в противном случае имя поля задается без скобок. Параметр TYPE определяет тип данных. Для ранних иерархических моделей были определены только три типа данных: X - шестнадцатеричный, Р - упакованный десятичный, С - символьный.

    Заканчивается описание схемы вызовом процедуры генерации:

  • DBDGEN - указывает на конец последовательности управляющих операторов описания БД;


  • FINISH - устанавливает ненулевой код завершения при обнаружении ошибки;


  • END - конец.


  • В системе может быть несколько физических БД (ФБД), но каждая из них описывается отдельно своим DBD и ей присваивается уникальное имя. Каждая ФБД содержит только один корневой сегмент. Совокупность ФБД образует концептуальную модель данных.



    Содержание раздела