付録B 用語解説

(記号)
?パラメタ
SQL文,又はストアドプロシジャに対して,実行時にアプリケーションからパラメタ値を渡せます。SQLの文字列の中で,アプリケーションから値を渡される個所に「?」を指定しておきます。実行すると「?」に対してパラメタを渡せます。
この「?」を?パラメタといいます。
ORACLEのデータベースでは,「プレースホルダ」のことを指します。
(英字)
BLOB(Binaly Large Object)
binaryデータの中でも,フィールド値が大きい(大容量のデータを扱えるフィールドの属性を持つ)データ型のこと。
このマニュアルでは,次のデータ型も同じ扱いになります。
HiRDB:BINARY
ORACLE:LONGRAW
SQL Anywhere:LONG BINARY,IMAGE
Adaptive Server Anywhere:LONG BINARY,IMAGE,java serialization,java.lang.Object
SQL Server:IMAGE
一般には,画像,音声などのマルチメディアデータを扱うデータ型です。
Database Connection Server
Windows上から,メインフレーム系データベースにアクセスできるシステムのこと。別途購入が必要です。
DBMS(Databese Management System)
データベース管理システムのこと。
データベースを効率的に管理・利用するためのプログラムです。
NULL値
データベースでいうNULLは不定の値のことで,ほかのどの値とも同じではないものを指します。NULLを認めないというのは,データの入力が必須であることを意味しています。
RDA Link for Gateway
Windows,又はHP-UX上から,メインフレーム系データベースにアクセスできるシステムのこと。別途購入が必要です。
ResultSet
検索した結果を入れる仮想の表のこと。検索結果は,カーソルでレコードを特定し,Getxxxメソッドでフィールドから取り出します。
TPBroker
DABrokerでは,TPBrokerで行う2相コミットを利用して,トランザクションを実現します。TPBrokerを利用することで,DABrokerのトランザクションと,グローバルトランザクションの同期がとれるようになります。
XAインタフェース
X/Open XAインタフェースは,分散トランザクション処理システムでのトランザクションマネージャとリソースマネージャの接続インタフェースを規定したX/Openの標準仕様です。
XAインタフェースを使って,リソースマネージャのトランザクション処理をトランザクションマネージャで制御できます。
実際には,TPBrokerとDBMS間のインタフェースと考えることができ,マルチスレッド対応のXAインタフェースを利用することで,DABroker,TPBrokerを使って,複数DBMSにまたがるトランザクション制御ができるようになります。
(ア行)
オブジェクト
クラスを基に生成された実態であり,new演算子などで生成されます。
インスタンスとも呼ばれます。
(カ行)
カレントレコード
カーソルの位置付いているレコードのこと。カレントレコードが操作の対象になります。
キャスト
一時的に,指定したデータ型に変換すること。
クラス
あるデータ型(プロパティ)とそれに対する処理(メソッド)を一まとまりにした型の定義です。
コミット
トランザクションを終了し,そのトランザクションのデータベースに対するすべての操作を有効に(保存)すること。
(サ行)
自動コミット
アプリケーションからトランザクション制御を指定しなかった場合,SQLを実行するごとに(自動的に)コミットします。これを自動コミットと呼んでいます。
ストアドプロシジャ
ストアドプロシジャとは,SQLで記述した処理手続きをデータベースに登録したものです。
ストアドプロシジャは,CREATE PROCEDUREで手続きとして定義し,実行時にアプリケーションから,登録されている処理を呼び出します。
ストアドプロシジャを使うと,SQL文を1行ずつ実行するのと比べて,次のようなメリットがあります。
  • SQL文を実行すると,1行ごとにアプリケーションとDBMS間で処理の流れが発生します。しかし,ストアドプロシジャを利用すれば,一度にまとまった単位のSQLを実行できるため,処理速度の向上が望めます。
  • 一つストアドプロシジャを作成しておけば,複数のアプリケーションから使用できるため,アプリケーションの作成効率も向上できます。
  • 手続き中のSQL文はコンパイルされた形式(SQLオブジェクト)でサーバ側に登録されているため,SQL解析のオーバヘッドも削減できます。
(タ行)
抽象データ型データ
SQLのCREATE TYPEで定義するデータ型を示します。データ型中に属性定義,ルーチンなどをユーザが任意に定義できます。
データ操作
データベースに対して,データの追加,更新,削除を行うこと。
デッドロック
複数のトランザクションが複数の資源を競合し合い,お互いに相手のトランザクションによる資源の占有解除を待っている状態です。
同期処理
DABrokerはアプリケーションからSQL文の処理要求を受け付けると,アプリケーションに制御を戻さないまま,DBMSに対してSQL文の処理を要求します。アプリケーションに制御が戻るのは,SQL文の処理が完了した時点です。
トランザクション処理
論理的な仕事の単位で,一連のデータベースの操作などの集まりのこと。また,回復や排他制御の基本単位でもあります。
(ナ行)
2相コミット
トランザクションが二つ以上に分散された環境で,同期点での処理をプリペア処理(更新準備)とコミット処理(更新処理)という2段階に分けて行う方法です。
2相コミットではトランザクション処理中に障害が発生した場合でも,すべてのリソースオブジェクトを矛盾なく自動的にロールバックできます。
DABrokerから2相コミットを実行するためには,TPBroker(トランザクションマネージャ)が必要です。
2相コミットは2フェーズコミットとも呼ばれています。
(ハ行)
排他エラー
アプリケーションがデータベースにアクセスしようとしたときに,アクセス対象のレコードが,他のアプリケーションによってロックされている状態を指します。
非同期処理
アプリケーションからSQL文の処理要求を受け取ると,制御をいったんアプリケーションに戻し,同時にDBMSに対してSQL文の処理を要求します。したがって,アプリケーションでは,SQL文の処理結果が戻る前に,次の処理を行うことができます。
このため,複数のデータベースアクセスを並行して行えます。
フィールド
このマニュアルでは,列やカラムのことを指します。これに対して,行やローのことをレコードと呼んでいます。ただし,ストアドプロシジャの説明では,フィールドのことをパラメタと表記しています。
フィールドは,フィールド名,又は先頭フィールドを1としたフィールド番号によって特定できます。
プロパティ
クラスのメンバとして宣言された変数であり,C++ではメンバ変数と呼ばれるものを指します。
(マ行)
マルチスレッド
複数の独立したプログラム部(スレッド)を同時に実行すること。
メソッド
クラスのメンバとして宣言された関数であり,C++ではメンバ関数と呼ばれるものを指します。
(ラ行)
レコード
このマニュアルでは,行やローのことを指します。これに対して,列やカラムのことをフィールドと呼んでいます。
レコードは,レコード名の指定,レコードへのカーソルの位置付け,又は先頭レコードを1としたレコード番号の指定によって特定できます。
ロック
アプリケーションから,検索レコードのロックと,テーブルのロックを掛けられます。検索レコードのロックは,クラスライブラリのメソッドで制御できます。テーブルのロックはSQL文を使います。
ロールバック
トランザクションを終了し,そのトランザクションによるデータベースに対するすべての操作を破棄し,データベースをトランザクション開始時の状態まで戻す(回復する)こと。