Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции ПСУБД.docx
Скачиваний:
81
Добавлен:
14.03.2016
Размер:
1.07 Mб
Скачать

Внешние модели

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

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

Блок связи — PCB, program communication block описывает связь с одной физической БД по следующим правилам:

DBD NAME = < имя логической БД (подсхемы)> ,

ACCESS = LOGICAL

DATA SET = LOGICAL.

SEGM NAME = <имя сегмента в подсхеме>,

PARENT =<имя родительского сегмента в подсхеме>,

SOURCE =(Имя соответствующего сегмента ФБД, имя ФБД)

...

DBDGEN

FINISH

END

Совокупность блоков PCB образует полное внешнее представление данного приложения, называемое "блоком спецификации программ" ( PSB, program specification block ).

Рассмотрим пример иерархической бд.

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

Рис. 16. Физическая БД "Филиалы"

Какие задачи нам надо решать в ходе разработки приложения?

  • При приеме заказа мы должны выяснить, какую модель заказывает заказчик: типичную или индивидуальную комплектацию.

  • Если заказывается типичная модель, то выясняется, какая модель и есть ли она в наличии, если модель есть, то надо уменьшить количество компьютеров данной модели в данном филиале на покупаемое количество. На этом будем считать заказ выполненным, однако при оформлении заказа может потребоваться задание полной спецификации покупаемого изделия.

  • Если заказывается индивидуальная модель, то требуется описать весь состав новой модели.

Для того чтобы можно было бы принимать заказы на индивидуальные модели, нам понадобится информация о наличии конкретных деталей на складе, в этом случае нам необходимо второе дерево — Склады (см.рис. 17).

Рис. 17. Физическая модель "Склады"

Вопрос12! Язык манипулирования данными в иерархических базах данных

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

  • шаблоны всех записей логических баз данных, доступных пользователю;

  • указатели на текущий экземпляр сегмента данного типа — для всех типов сегментов.

Язык манипулирования данными в иерархической модели поддерживает в явном виде навигационные операции. Эти операции связаны с перемещением указателя, который определяет текущий экземпляр конкретного сегмента.

Все операторы в языке манипулирования данными можно разделить на 3 группы. Первую группу составляют операторы поиска данных.