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

       

Язык манипулирования данными в сетевой модели


Все операции манипулирования данными в сетевой модели делятся на навигационные операции и операции модификации.

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

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

Таблица 3.1. Операторы манипулирования данными в сетевой модели



Операция Назначение
READY Обеспечение доступа данного процесса или пользователя к БД (сходна по смыслу с операцией открытия файла)
FINISH Окончание работы с БД
FIND Группа операций, устанавливающих указатель найденного объекта на текущий объект
GET Передача найденного объекта в рабочую область. Допустима только после FIND
STORE Помещение в БД записи, сформированной в рабочей области
CONNECT Включение текущей записи в текущий экземпляр набора
DISCONNECT Исключение текущей записи из текущего экземпляра набора
MODIFY Обновление текущей записи данными из рабочей области пользователя
ERASE Удаление экземпляра текущей записи

В рабочей области пользователя хранятся шаблоны записей, программные переменные и три типа указателей текущего состояния:

  • текущая запись процесса (код или ключ последней записи, с которой работала данная программа);
  • текущая запись типа записи (для каждого типа записи ключ последней записи, с которой работала программа);
  • текущая запись типа набор (для каждого набора с владельцем Т1 и членом Т2 указывается, Т1 или Т2 были последней обрабатываемой записью).
  • На рис. 3.7 представлена концептуальная модель торгово - посреднической организации.

    44

    Рис. 3.7. Схема БД "Торговая фирма"

    При необходимости возможно описание элементов данных, которые не принадлежат непосредственно данной записи, но при ее обработке часто используются.


    Для этого используется тип VIRTUAL с обязательным указанием источника данного элемента данных.

  • RECORD Цены


  • 02 Цена TYPE REAL


  • 02 Товар VIRTUAL


  • SOURCE IS Товары.Наименование Товара


  • OF OWNER OF Товар - Цены SET


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

    1. По ключу (запись должна быть описана через CALC USING ...):

  • FIND RECORD BY CALC KEY


  • 2. Последовательный просмотр записей данного типа:

  • FIND DUPLICATE RECORD BY CALC KEY


  • 3. Найти владельца текущего экземпляра набора:

  • FIND OWNER OF CURRENT SET


  • 4. Последовательный просмотр записей-членов текущего экземпляра набора:

  • FIND (FIRST | NEXT) RECORD IN CURRENT SET


  • 45

    5. Просмотр записей - членов экземпляра набора, специфицированных рядом полей:

  • FIND [DUPLICATE] RECORD IN CURRENT SET USING


  • 6. Сделать текущей записью процесса текущий экземпляр набора:

  • FIND CURRENT OF SET


  • 7. Установить текущую запись процесса:

  • FIND CURRENT OF RECORD


  • Например, алгоритм и программа печати заказов, сделанных Петровым, будут выглядеть так:

    ФИО = "Петров"
    FIND Люди RECORD BY CALC KEY
    FIND FIRST Заказы RECORD IN
    CURRENT Люди-Заказы SET
    WHILE NOT FAIL DO
    FIND OWNER OF CURRENT
    Товары-Заказы SET
    GET Товары
    PRINT Найм Товара
    FIND NEXT Заказы RECORD IN
    CURRENT Люди-Заказы SET
    END
    Содержание раздела