Теория баз данных


         

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


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

RECORD Цены

02 Цена TYPE REAL

02 Товар VIRTUAL

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

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

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

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

    FIND <Имя записи> RECORD BY CALC KEY <Имя параметра>

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

    FIND DUPLICATE <Имя записи> RECORD BY CALC KEY

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

    FIND OWNER OF CURRENT <Имя набора> SET

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

    FIND (FIRST | NEXT) <Имя записи> RECORD IN CURRENT <Имя набора> SET

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

    FIND [DUPLICATE] <Имя записи> RECORD IN CURRENT <Имя набора> SET USING <Список полей>

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

    FIND CURRENT OF <Имя набора> SET

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

    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




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