2.1 外部表

ここでは,HiRDB External Data Accessに固有の概念である外部表について説明しています。

<この節の構成>
(1) 外部表とは
(2) データ型のマッピング
(3) 外部表の定義手順

(1) 外部表とは

HiRDB External Data Accessでは,CREATE SERVER文でHiRDBにDBMSを定義することで,定義したDBMSにHiRDBからアクセスできるようになります。ここで,定義するDBMSを外部サーバといいます。そして,CREATE FOREIGN TABLE文で外部サーバ上の表の定義情報をHiRDBの表として定義すると,HiRDBからその表を参照および更新できるようになります。このようにして定義した表を外部表といいます。

ただし,HiRDBでは外部表の定義情報だけを管理して,実際の表は外部サーバが管理します。外部表には,HiRDBのインタフェース(SQLや埋込み型UAPなど)でアクセスできます。また,外部表を基にビュー表を作成できます。

[図データ]

外部表は,従来のHiRDBで使用していた実表やビュー表と同じように検索できます。つまり,複数の外部表,実表やビュー表を組み合わせた検索を実行できます。

(2) データ型のマッピング

外部表を定義するときは,HiRDB以外のDBMSのデータ型をHiRDBのデータ型にマッピングする必要があります。HiRDB External Data Accessでは,DBMSごとにマッピング時に推奨するHiRDBの対応データ型を用意しています。データ型の対応関係については,「4.2 データ型の対応関係」を参照してください。

(3) 外部表の定義手順

外部表は,定義系SQLを使用して次の手順で定義します。HiRDB External Data Accessの環境設定も含めた設定手順については,「3.1 環境設定」を参照してください。また,定義系SQLの詳細については,マニュアル「HiRDB Version 8 SQLリファレンス」を参照してください。

  1. CREATE SERVER文を発行して外部サーバを定義します。
  2. CREATE USER MAPPING文を発行してユーザマッピング(外部サーバとして使用するDBへの認可識別子およびパスワード)を定義します。
  3. CREATE FOREIGN TABLE文を発行して使用する外部表を定義します。
  4. 必要なら,CREATE FOREIGN INDEX文を発行して外部インデクスを定義します。