• 検索結果がありません。

dbMAGIC のリポジトリと機能

ドキュメント内 dbMAGIC Ver8.2 SQLガイド (ページ 96-100)

第 9 章 データの整合性

13.6 dbMAGIC のリポジトリと機能

SQLのプ ログラミングについては 、前述し ました。ここでは 、SQLのプ ログ ラミングと対比させながら dbMAGICのプログラミングを説明します。

13

dbMAGIC のリポジト リと SQL のデータ辞書

dbMAGICでは、データ定義はリポジトリを使用して行います。dbMAGICのリポジトリ(データ定義リポジ トリ)は複数あり、こういったリポジトリが相互に機能しあって処理が実行されます。また、開発者は、こ うしたリポジトリを使用して、データや属性、処理方法などを指定することができます。

ISAMファイルマネージャと異なり、SQLデータベースには、独自のデータ辞書とデータ定義言語が用意さ れています。SQLのデータ辞書には、テーブルやカラム、データ型、ユーザのアクセス権限、その他、デー タベースの論理アーキテクチャに関する情報がすべて格納されています。

dbMAGICのデータ定義リポジトリは強力です。データ定義リポジトリとしては、次のようなものがあります。

■ [タイプ ]リポジト リ  

このリポジトリでは、アプリケーションで使うデータ型( タイプ )を定義することができます。定義し たデータ型は、[ カラム]テーブルなど 、アプ リケーションを通して使用できます。タイプは 、各種の データ属性で構成され 、範囲(SQLの整合性制約定義であるド メインに対応します)を定義することも できます。また、ヘルプ画面や自動ヘルプなどの設定も可能です。

■ [テーブル]リポジト リ  

このリポジトリでは、データベースの種類を定義できます。また、各ファイル(SQLでいえば 、テーブ ル )について、ネットワークサーバアドレス(SQLではパスに対応)を定義できます。このリポジトリ は柔軟で、事実上、どんなデータベースにも対応するアプ リケーションの作成が可能です。

■ [カラム]テーブルと[ インデックス]テーブル  

この2つのテーブルを使用して、dbMAGICのカラムとインデックスをSQLの属性に関連付けることが できます。この2つのテーブルは、SQLのデータ辞書に相当します。SQLの属性とは、RDBMSの内部 格納データ型、SQLカラム名、SQLインデックス名などをいいます。

dbMAGIC のデータ操作機能

dbMAGICのデータ操作機能は、その性質上、直接操作機能と間接操作機能に分かれます。まず、直接操作

機能としては 、レコード の取り出し 機能があります。この機能は、SQLのSELECTステート メントに相当 し 、テーブルに直接定義できます。テーブルに定義されたレコード 取り出し処理は、アプ リケーションエン ジンにより対応するSQLデータ操作ステート メントに変換されます。

一方、dbMAGICのレ コード 操作機能は 、間接操作機能です。dbMAGICのレコード 操作機能は 、SQLの INSERT、UPDATE、DELETEの各ステート メントに対応し 、タスクモード(登録、修正、削除)を介して間 接的に実行されます。タスクモード は、dbMAGICのアプリケーションエンジンにより、対応するSQLデー タ操作ステート メントに変換されます。

アプ リケーションエンジンによるタスクモード の変換機能は非常に強力で、dbMAGICに備えられている先 進機能の1つです。また、生産性を向上させる上でも大きな要因となっています。

従来の手続き型言語では、SQLデータベースへのアクセスは、カーソルを使用してレコード を順次処理する という方法で実行されます。この場合、カーソルは、データベースコマンド ルーチンに対する明示的呼び出 しという形で実現されます。したがって、カーソルは、SQLステート メントを指すポインタと考えることが できます。これに対して、dbMAGICでは、従来型言語のようなコード はまったく不要です。とくに、従来 型言語では、RDBMSアプ リケーションを作成するときには複雑なカーソルプログラミングコードが必要で すが 、dbMAGICではそういったコード は一切不要です。dbMAGICの場合、カーソルルーチンに対する呼び 出しはすべて、内部的に実行されます。

SQLガ イド 13.6 dbMAGICのリポジトリと機能 13–5

dbMAGICでは、データはレコードレベルで処理されます。レコードレベルの処理はすべて、dbMAGICエン ジンにより実行されます。たとえば 、データに対するカーソルのオープンと管理、DBMSからのレコード の フェッチ、データベーステーブルに対するレコード の挿入や更新、データベーステーブルのレコード の削除と いった処理はいっさい、dbMAGICエンジンが代行してくれることになります。このため、開発者は、カー ソルの操作や処理にはまったく関わらないで済みます。

dbMAGICのプログラミング手法は、SQL対応のDBMSだけでなく、ISAMデータベースの場合でも同じで す。手法が同じなのは、Magicゲートウェイの仲介レ イヤによりSQL対応のDBMSとISAMデータベース の相違が吸収されるためです。

dbMAGIC と SQL を併用する場合の機能とメリット

カーソルルーチン

3GLや4GLでRDBMSアプ リケーションを作成するときには、一般に複雑なカーソルプログラミングが必 要ですが 、dbMAGICでは、こういったプログラミングは必要ありません。dbMAGICの場合、カーソルルー チンに対する呼び出しはすべて、内部で実行されます。

Magicデータベースゲート ウェイ

dbMAGICでは、スタンド アロン用のアプ リケーションでも、クライアント/サーバ向けのアプ リケーショ ンでも開発が可能で 、しかも、各種のデータベースに対応するアプ リケーションを作成できます。これは 、 dbMAGICとRDBMSとの間にMagicデータベースゲートウェイが介在するためで、どんなRDBMSであっ ても、Magicデータベースゲートウェイの働きによりデータベースに対する要求が所定の形に処理されます。

また、現在市販されているRDBMSでは、ANSI標準のほかにも機能が追加されていますが 、Magicデータ ベースゲートウェイを使うことでRDBMS独自の機能にも対処できます。

ト ランザクション処理

SQLデータベースでは 、トランザクション処理がサポート されています。このトランザクション処理も、

dbMAGICでは簡単にまた論理的に操作が可能で、プログラミングが大幅に軽減されます。つまり、dbMAGIC では、SQLトランザクション処理ステート メントを記述する必要はなく、フラグを使用して、必要なトラン ザクション処理コマンドが実行される論理レベルを指示するだけで済みます。これで、必要なコマンドが自 動的に実行されます。そのほか、実際のSET TRANSACTIONを実行したり、コミットやロールバックといっ た処理を実行することもできます。

ファイルとテーブルの操作

dbMAGICは、オープンアーキテクチャを基本に設計されています。このため、とくに大規模な企業や組織

ですでにデータベースを使用しており、そのデータを活用したいときにも非常に利用価値があります。また、

各種のプラットフォームにも対応しているため、統一され 、一貫性のあるアプリケーション開発を行うこと ができます。また、アプ リケーションの配布も容易です。

インデックス順次ファイルの場合、dbMAGICではリポジト リを使用してファイルを操作できます。また 、 SQLの場合、RDBMSには内部データ辞書がありますが 、このデータ辞書にもdbMAGICは対応しています。

このため、SQLテーブルを扱うアプリケーションを開発するときには、データベースについて2種類の情報 が使えることになります。

14 章 クライアント /サーバアーキテクチャ

章目次

14.1 dbMAGICのクライアント /サーバアーキテクチャ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–2 14.2 RDBMSの(オープン )クライアント /サーバアーキテクチャ : : : : : : : : : : : : : : : : : : : : : : :14–3 14.3 異種クライアント /サーバ環境の例 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–4 14.4 いつ何を使うか : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :14–4

14

章 クライアント/サーバアーキテクチャ

一概にクライアント/サーバといっても、多数の定義があります。また、実際のクライアント/サーバ環境 にも多数の種類があります。

一般的にいえば 、クライアント/サーバ環境とは、ユーザのワークステーション( クライアントと呼ばれま す)とホストコンピュータ( サーバと呼ばれます)との間でデータの交換や処理が可能なシステムをいいま す。また、クライアントとサーバのど ちらでどれだけの処理が行われるかは、システムによって大きく異な ります。

クライアント/サーバ環境で行われる処理には、主に次の3種類があります。

■ アプ リケーションによる処理

■ データ管理

■ プレゼンテーション(データ表示)

上の処理のうち、アプリケーションによる処理とデータ表示は、程度の違いはありますが 、クライアント側 で行われるのが普通です。また、サーバ側では、主にデータ管理が行われます。

また、ほとんど のRDBMSでは 、ストアドプロシージャやその他のSQL機能が搭載されているため、アプ リケーションによる処理もサーバ側で行われる比率が高くなります。この場合、クライアントとサーバとの 間のネットワークトラフィックが軽減されます。

クライアントとサーバとの間の接続には、通信レ イヤ( 通信プロトコル )が使われます。通信プロトコルは、

現在、いろいろなプロトコルが普及していますが 、主要なプロトコルは次の通りです。

TCP/IP … UNIX、Windows NT環境でもっとも普及している通信プロトコルです。

dbMAGICのクライアント/サーバアーキテクチャとRDBMSのクライアント/サーバアーキテクチャは異 なります。このため、dbMAGICでSQLデータベースを使う場合、両方のアーキテクチャについて理解して おかなければなりません。

ドキュメント内 dbMAGIC Ver8.2 SQLガイド (ページ 96-100)