Интерфейс языка данных

Data Language One (Data Language/I, DL/I, Data Language/One, Data Language/One [1] ) — языковая система, используемая для доступа к базам данных IMS компании IBM и ее системе передачи данных.

Он реализуется из многих языков путем вызовов программного заглушки DFSLI000. Эта заглушка имеет точки входа для обработки различных языков программирования, например, вызов CBLTDLI из программы COBOL . Эта заглушка связана с вызывающей программой, передает запрос в систему IMS и возвращает результаты и код состояния.

В любой полнофункциональной базе данных IMS наименьшим элементом, который может быть извлечен, является сегмент . Каждый сегмент состоит из полей , одно из которых, как правило, является ключевым полем. Сегменты организованы в базе данных иерархически, причем тип сегмента самого высокого уровня является корневым сегментом. В любой базе данных допускается 255 различных типов сегментов на 15 уровнях. Запись базы данных состоит из определенного корневого сегмента и всех его зависимых дочерних сегментов — нет ограничений на количество сегментов в записи или на количество записей в базе данных (кроме физических ограничений пространства для хранения).

Структура любой базы данных представляется прикладной программе как PCB (Program Communication Block), и это используется как один из параметров , передаваемых в заглушку. Другие типы PCB используются для отправки и получения сообщений обработки транзакций , доступа и записи на экран VDU пользователя , а также для печати отчетов и т. д.

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

Для всех языков, кроме PL/I , первым параметром в вызове является код функции  — четырехсимвольное поле, например: « GU  » (Get Unique), « GN  » (Get Next), « REPL» (Replace) и « ISRT» (Insert). В PL/I, из-за того, что этот язык не отмечает последний параметр «1» в бите 0, первый параметр должен быть полным словом (Fixed Bin(31)), содержащим количество следующих параметров.

Типичный вызов из программы COBOL может быть таким : . Затем программа автоматически будет ждать, пока запрошенные данные не будут извлечены и помещены в Segment-Area. Код состояния, содержащийся в печатной плате, будет обновлен либо пробелами (если все прошло хорошо), либо каким-либо информационным кодом или кодом ошибки.CALL CBLTDLI USING GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA

Типичный вызов из программы PL/I может быть таким : .CALL PLITDLI(FOUR, GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA);

Ссылки

  1. ^ "Продукты и компоненты IBM z/VSE". IBM . Архивировано из оригинала 21 марта 2006 г. Получено 2009-06-27 .
  • Программное обеспечение для управления информацией для z/OS Solutions Информационный центр
  • Основные концепции базы данных DL/I
Получено с "https://en.wikipedia.org/w/index.php?title=Data_Language_Interface&oldid=1242249193"