Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Язык описания данных иерархической модели
В рамках иерархической модели выделяют языковые средства описания данных (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 = < имя области переполнения> ]Так как физические записи имеют разную длину, то при модификации данных запись может увеличиться и превысит исходную длину записи до модификации. В этом случае при определенных методах хранения может понадобиться дополнительное пространство хранения, где и будут размещены дополнительные данные. Это пространство и называется областью переполнения. После описания всей физической БД идет описание типов сегментов, ее составляющих, в соответствии с иерархией. Описание сегментов всегда начинается с описания корневого сегмента. Общая схема описания типа сегмента такова: Параметр FREQ определяет среднее количество экземпляров данного сегмента, связанных с одним экземпляром родительского сегмента. Для корневого сегмента это число возможных экземпляров корневого сегмента. Для корневого сегмента параметр PARENT равен 0 (нулю). Далее для каждого сегмента дается описание полей: FIELD NAME = {(< имя поля> [, SEQ], {U | M}) | < имя поля> }, START = < номер байта, с которого начинается значения поля >, BYTES = < размер поля в байтах>, TYPE = {X | P | C}Признак SEQ — задается для ключевого поля, если экземпляры данного сегмента физически упорядочены в соответствии со значениями данного поля. Параметр U задается, если значения ключевого поля уникальны для всех экземпляров данного сегмента, M — в противном случае. Если поле является ключевым, то его описание задается в круглых скобках, в противном случае имя поля задается без скобок. Параметр TYPE определяет тип данных. Для ранних иерархических моделей были определены только три типа данных: X — шестнадцатеричный, P —упакованный десятичный, C — символьный. Заканчивается описание схемы вызовом процедуры генерации: · DBDGEN — указывает на конец последовательности управляющих операторов описания БД; · FINISH — устанавливает ненулевой код завершения при обнаружении ошибки; · END — конец. В системе может быть несколько физических БД (ФБД), но каждая из них описывается отдельно своим DBD и ей присваивается уникальное имя. Каждая ФБД содержит только один корневой сегмент. Совокупность ФБД образует концептуальную модель данных. Внешние модели При работе с иерархической моделью каждая программа, пользователь или приложение определяет свою внешнюю модель. Внешняя модель представляет собой совокупность поддеревьев для физических баз данных, с которыми работает данный пользователь. Каждый подграф внешней модели в обязательном порядке должен содержать корневой тип сегмента соответствующей физической базы данных концептуальной модели. Представление внешней модели называется логической базой данных и определяется совокупностью блоков связи данного приложения с физическими БД, входящими в концептуальную схему БД. Блок связи — PCB, program communication bloc — описывает связь с одной физической БД по следующим правилам: DBD NAME = < имя логической БД (подсхемы)> , ACCESS = LOGICALDATA SET = LOGICAL.SEGM NAME = < имя сегмента в подсхеме>, PARENT =< имя родительского сегмента в подсхеме>, SOURSE =(Имя соответствующего сегмента ФБД, имя ФБД)...DBDGENFINISHENDСовокупность блоков PCB образует полное внешнее представление данного приложения, называемое " блоком спецификации программ" (PSB, program specification block). Пример иерархической БД: Наша организация занимается производством и продажей компьютеров, в рамках производства комплектуем компьютеры из готовых деталей по индивидуальным заказам. У нас существует несколько базовых моделей, которые продаем без предварительных заказов по наличию на складе. В организации существуют несколько филиалов (рис. 3.4) и несколько складов, на которых хранятся комплектующие. необходимо вести учет продаваемой продукции. Рис. 3.4. Физическая БД " Филиалы" Какие задачи надо решать в ходе разработки приложения?
Для того чтобы можно было бы принимать заказы на индивидуальные модели, понадобится информация о наличии конкретных деталей на складе, в этом случае необходимо второе дерево — Склады (см. рис. 3.5). Рис. 3.5. Физическая модель " Склады" |
Последнее изменение этой страницы: 2017-03-17; Просмотров: 335; Нарушение авторского права страницы