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

定義取得

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

NULL

17.4 定義取得

既存のRDBMSのテーブルを使う場合、あらかじめ、データ辞書に格納されているテーブル定義を取り出す

のが有効です。これで、dbMAGICで定義を初めから行う必要がなくなります。また、エラーも発生しにく くなり、開発効率も向上します。

定義取得は、[オプション ]メニューの[ 定義取得]コマンド を使用して実行できます。このコマンドでは、

ゲートウェイを介してデータベースにアクセスすることができ、また、データベースの定義も、その場で変 更できます。

データベースのファイル(テーブル)は、一つでも複数でも取得できます。[定義取得]コマンドは、[テーブ ル ]リポジトリで、テーブルにいずれかのSQLデータベースが割り当てられているときに有効になります。

単一のテーブルを取得する場合、次のようにします。

1. [テーブル]リポジトリを開きます。

2. 新規の行にカーソルを置きます。

3. データベース(RDBMS)を選択します。

4. 取得するテーブルの名前を入力します。

5. [オプション ]メニューを開きます。[ 定義取得]コマンドが有効になっているはずです。

6.[定義取得]コマンドを選択します。選択後、[定義取得]ウィンド ウが開きます。このウィンド ウは、

自動的に閉じます。この後、[テーブル ]リポジトリの各欄に何らかの値が入っているはずです。

7. [ カラム]欄に移動し 、ズームして、取得されたカラムの内容を確認します。

8.[ インデックス]欄に移動し 、ズームして、取得されたデータベースのインデックスを確認します。こ の場合、データベースのインデックスはdbMAGICのインデックスとして取得されます。

1717.5:[テーブル]リポジト リと[定義取得]コマンド

17.6:[テーブル]リポジト リと[定義取得]ウィンド ウ

[ 定義取得]ウィンド ウは 、自動的に閉じます。この後、テーブルの各欄に値が表示されます。

SQLガ イド 17.4定義取得 17–11

17.7:[定義取得]ウィンド ウが閉じた後の[テーブル]リポジト リ 複数のテーブルを取得したい場合、次のようにします。

1. カーソルを[テーブル ]リポジトリのタイトルの行に置きます。

2. [オプション ]メニューから[定義取得]を選択します。

3. [ 定義取得]ウィンド ウが表示されます。

4. [データベース]欄に移動し 、ズームします。

5. [データベース一覧]からデータベースを選択します。

6. [タグテーブル ]欄に移動し 、ズームします。

「S=選択」を選択することで、[テーブル選択]ウィンドウを使用して、データベースでアクセス可能なテー ブル(ユーザ名とパスワードが設定されているテーブル )を選択することができます。

[テーブル選択]ウィンド ウが開きます。

17.8:[テーブル選択]ウィンド ウ

17 この後、[ テーブル選択]ウィンド ウで 、定義取得したいテーブルを選択し ます。選択したテーブルには 、 チェックマークが表示されます。選択は、次のようにして行います。

1. 定義をロードしたいテーブルをハイライトさせます。

2. スペースバーを押します。これで 、[ 選択]欄にチェックマークが表示されます。このチェックマーク が付いたテーブルの定義が読み込まれることになります。

定義取得の際の注意

定義取得を行う場合、次の点に注意してください。

■ 既存のテーブルの定義を取得した場合、データベースの各カラムのデータ型はそれぞれ 、dbMAGICの データ型のうち、データベースのデータ型に一番近いデータ型に変換されます。

■ 特殊データ型は、そのデータ型がdbMAGICにあるときには、その特殊データ型が使われます。

■ dbMAGICでサポートされていないデータ型が見つかった場合、定義取得は失敗します。

■ 定義取得処理は、データベースによって異なることがあります。

■ テーブルリポジトリの[オプション/定義取得]を行うと、[名前]欄にテーブル名が上書きされます。

ビュー定義の取得

SQLには、テーブル定義のほか、ビュー定義もあります。このビューについても、[ 定義取得]コマンド で 定義を取得できます。SQLのビューは仮想テーブルで、クエリにより定義されます。ビューはテーブルと同 じようにアクセスできますが 、格納されている行は物理行ではありません。SQLのビューに対しては、一般 に照会モード でアクセスでき、さらに、RDBMSによってはテーブルと同じように行の更新が可能です。

ビューにはインデックスはありません。そのため、ビューの定義を取得する際には、仮想ユニークインデック スを定義しなければなりません。これは、dbMAGICでは、処理上、テーブルの位置情報が必要なためです。

なお、Oracleでは、ROWIDが使われ 、ビューがテーブルをもとに作成されているときには、ROWIDを取得 できます。このROWIDが位置情報になります。ただし 、これ以外の場合、ビューの定義を取得するときに は、仮想ユニークインデックスを定義しなければなりません。

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