Data Language/1(DL/IまたはDL/1)は、
IBMが開発した階層型データベースを操作するための照会言語であり、また、同名の
データベース管理システムそのものを指すこともあります。この言語は、特に
IBMの製品マニュアルなどでは「DL/I」と表記されることが多く、同時代の
プログラミング言語である
PL/I|PL_I(ピー・エル・ワン)と似た命名規則を持っています。
特徴
階層型データベースへのアクセス言語としてのDL/Iは、複数のコマンドを提供します。これらのコマンドは、
COBOL、
PL/I|PL_I、C、System/390の
アセンブリ言語など、様々な
プログラミング言語から発行可能です。主なコマンドには以下のようなものがあります。
GU (Get Unique): 特定のレコードを直接取得します。
GN (Get Next): 現在位置から次のレコードを取得します。
ISRT (Insert): 新しいレコードを挿入します。
DELT (Delete): レコードを削除します。
REPL (Replace): 既存のレコードを更新します。
その他: GNP、GHU、GHN、GHNP、PURGなど、様々な操作をサポートするコマンドが存在します。
長所
DL/Iを使用する階層型データベースには、以下のような利点があります。
高速処理: 大規模なデータベースであっても、高速なデータ処理が可能です。
省容量: データ容量を効率的に利用でき、見積もり精度が高いです。
レコード単位操作: レコード単位での読み書きを行うため、プログラミングが比較的容易です。SQLのような複雑なカーソル操作は不要です。
短所
一方で、DL/Iには以下のような欠点も存在します。
専門的なスキル: DL/Iは、現在ではあまり使用されていない階層型データベースに特化した言語であり、習得には専門的な知識が必要です。
SQLのように標準化されていないため、一般的な技術とは言えません。
アプリケーションでの絞り込み: SQLのWHERE句に相当する機能が弱く、レコードの絞り込みはアプリケーション側で行う必要があります。
製品
DL/Iは、主に以下の階層型データベース管理システム(DBMS)で使用されています。
IMS-DB (z/OS用):
IBMのメインフレーム環境であるz/OSで動作する
IMSデータベース。
*
DL/I VSE (z/VSE用):
IBMのz/VSE環境で動作するDL/Iデータベース。
これらのシステムは、DL/Iを通じて効率的なデータ管理を提供しています。DL/Iは、特定のニーズに対応するために開発された技術であり、その特徴を理解することで、より効率的なデータ処理が可能になります。しかしながら、今日の主流であるリレーショナルデータベースとは異なるため、専門的な知識や経験が必要となる点は注意が必要です。