トップページ -> 実践知識 -> Java DB (Derby) インストールと各種ツールの使用法 -> Java DB (Derby) 上で,Eclipse のデータツール・プラットホーム (DTP) を使う
[サイトマップへ]  

Java DB (Derby) 上で,Eclipse のデータツール・プラットホーム (DTP) を使う

サイト構成 連絡先,業績など 実践知識 コンピュータ 教材 サポートページ

この Web ページでは,Eclipse のデータツール・プラットホーム (DTP) の操作法を説明する.

Eclipse のデータツール・プラットホーム (DTP) とは, リレーショナルデータベースの操作と管理の機能を持ったソフトウエアです.

  1. テーブル定義
  2. SQL の編集と実行
  3. テーブルの一覧表示と中身の表示と更新(行の追加,行の削除,値の更新) (SQL でなく,GUI を使ってできる),
  4. テーブルのインポート,エクスポートなど

この Web ページでは,リレーショナルデータベース管理システムとして,Java DB (Derby) を使います. (PostgreSQLMySQL など,他のリレーショナルデータベース管理システムについては,別の Web ページで説明している).

参考 Web ページ

DTP の Web ページ:http://www.eclipse.org/datatools/


必要となるソフトウエア

あらかじめ決めておく事項

データベース論理名と,Java DB データベースディレクトリ(相対)を決めておくこと. この Web ページでは,次のように書きます.

設定項目

前もって,Eclipse インストールディレクトリを調べておいてください この Web ページでは,次のように書きます.

Java DB を使うために,次の設定を行うことになるので,確認しておく.


データツール・プラットホーム (DTP) の機能

Java DB ドライバー定義

【要点】JDBC ドライバー定義を行います.接続URLを設定するときに,「;create=true」を付け,データベースを自動生成するように設定します.

  1. 設定項目の展開

    ウインドウ (Window)」-> 「設定 (Preferences)」-> 「データ管理」を展開-> 「接続 (Connectivity)」を展開,という手順で操作する.

  2. ドライバーの追加の開始

    「接続」の下の「ドライバー定義」をクリックする.

  3. ドライバーの確認

    「ドライバー定義のウインドウ」が開く. 「Derby 組み込み JDBC ドライバー 10.2 デフォルト」などが並んでいることを確認.(並んでいなければ,Java DB (Derby) インストールをやり直す).

  4. ドライバーの追加

    右の方にある「追加 (Add)」をクリック.

  5. ドライバー・テンプレートの選択

    「新規ドライバー定義 (New Driver Definition) のウインドウ」が開くので, 「Derby 10.0 用 Derby 組み込み JDBC ドライバー Derby 10.2」をクリック.

    まだ,設定があるので,「OK」を押さないこと.

  6. プロパティーの設定

    「プロパティー」タブをクリックした後, 次のように設定する.

    以上の設定が終わったら,「OK」をクリックするこれで,Java DB (Derby) を使うためのドライバー定義が終わった.

  7. 設定の確認

    Derby 10.0 用 Derby 組み込み JDBC ドライバー」 というような名前が付いた行が増えているので確認しておく.

Java DB (Derby) への「接続」の設定

Java DB (Derby) への「接続」の設定を行う前に,上記の「Java DB ドライバー定義」が終わっていること.

  1. データ・ソース・エクスプローラーを開く.

    ウインドウ (Window)」-> 「パースペクティブを開く (Perspective)」-> 「その他」-> 「データベース開発 (Database Development)」と操作し, 「OK」をクリック.

  2. データ・ソース・エクスプローラ (Data Source Explorer) が,左側に開くので, 「データベース接続」を右クリックし, 「新規 (New)」を選ぶ.

  3. 「新規接続プロファイル (connection profile) のウインドウ」が開くので, 「Derby」を選び, 「次へ (Next)」をクリック.

  4. 接続のテスト

    「接続プロファイルのウインドウ」が開くので, 「接続のテスト」をクリックする.

  5. 「ping が正常に終了しました」 と表示されることを確認

    確認したら「OK」をクリック.

  6. 新規接続プロファイルの要約が表示されるので確認

    次へ」をクリック. 新規接続プロファイルの要約が表示されるので確認. 「終了」をクリックし,新規接続の設定を終える.

  7. データ・ソース・エクスプローラでの確認

    データ・ソース・エクスプローラ (Data Source Explorer) に,いま設定した「接続」が表示されるので確認する.

これで,Java DB (Derby) への「接続」の設定が終わった.

テーブル定義 (専用ツール)

  1. (前準備) 上記の「Java DB (Derby) への『接続』の設定」が終わっていること.

  2. (前準備) データ・ソース・エクスプローラ (Data Source Explorer) が,開いていなければ,下記の手順で開く.

    ウインドウ (Window)」-> 「パースペクティブを開く (Perspective)」-> 「その他」-> 「データベース開発 (Database Development)」と操作し, 「OK」をクリック.

  3. 接続

    データ・ソース・エクスプローラ (Data Source Explorer) で, 先ほど作った「接続」である「新規 Derby」を右クリック. 「接続」を選ぶ.

    ※ 「接続」が薄い文字になって選べないときは,「すでに接続済み」という意味なので,気にせずに次に進む.

  4. 新規 Derby」のにある Java DB データベースディレクトリ(相対パス形式)「 dbdir」を展開(左横の「+」をクリック).

  5. dbdir」の下の「スキーマ」を展開(左横の「+」をクリック).

  6. スキーマ」の下の「APP」を展開(左横の「+」をクリック).

  7. ツールの起動

    APP」の下の「テーブル」を右クリック. 「新規テーブル (New Table)」を選ぶ.

  8. 「オプションのウインドウ」は,何もせず,「次へ」をクリック.

  9. 「列のウインドウ」が現れたら,まず「列追加 (Add Column)」をクリック

  10. 1列追加されるので,下の方の 「列詳細」で,「名前」と「データ型」と「長さ」と「NULL 可能」と「デフォルト値」を設定.

    例えば

    のように.

  11. 「列のウインドウ」では,「テーブル名」の記述も行っておくこと.

    テーブル名は,デフォルト値は「new_table」になっている.変えておく.

  12. 列の追加とテーブル名の設定が終わったら,「次へ」をクリック

  13. 主キーの設定

    一意の値をとる(行が違えば,値が違う)属性で,かつ NULL になることがないものを主キーとして設定します.設定が終わったら「終了」をクリック.

  14. すると,SQL ステートメント・エディタが開き,この中に,自動生成された SQL プログラム が書かれています.

  15. まだ,テーブルはできていません. SQL ステートメント・エディタ内の任意の場所で右クリックして「すべて実行」を選んで下さい. これによって,SQL が実行されて,テーブルが生成されます.

  16. 確認のため, データ・ソース・エクスプローラ (Data Source Explorer) で,右クリックして「リフレッシュ」を実行してください.新しく生成したテーブルが現れます.

(参考)日本語のテーブル名,列名を持つテーブル

Java DB で,日本語のテーブル名,列名を持つテーブルを定義できるか試してみました.テーブル名,列名に制限がありますが,出来るようです.


図.テーブル名「商品」,列名「商品名」,「商品番号」としてテーブルを定義しているところ


図.確認のため,データ・ツール・プラットフォームの SQL スクラップブックで,使ってみているところ(SQL の中に,日本語が出てきます.今回は,簡単なテーブルで,データも少ない場合しか試していませんが,うまく動いているようです).


図.上記の例のように,テーブル名や列名に「〜」,「@」などの文字を含めると,一見できそうですが,エラーが出て,テーブル定義を終えることができません.

SQL 編集と実行,SQL 実行結果のファイル出力

SQL スクラップブックを使い,SQL の編集と実行ができます.

  1. (前準備) 上記の「Java DB (Derby) への『接続』の設定」が終わっていること.

  2. (前準備) データ・ソース・エクスプローラ (Data Source Explorer) が,開いていなければ,下記の手順で開く.

    ウインドウ (Window)」-> 「パースペクティブを開く (Perspective)」-> 「その他」-> 「データベース開発 (Database Development)」と操作し, 「OK」をクリック.

  3. 接続

    データ・ソース・エクスプローラ (Data Source Explorer) で, 先ほど作った「接続」である「新規 Derby」を右クリック. 「接続」を選ぶ.

    ※ 「接続」が薄い文字になって選べないときは,「すでに接続済み」という意味なので,気にせずに次に進む.

  4. SQL スクラップブックを開く

    分かりにくいですが,Eclipse の上部に並んでいるたくさんのボタンのうち, 左から4番目の青色のボタンが「SQL スクラップブック」を開くためのボタンです.

  5. SQL の編集と実行

    ここでは,SQL の編集と実行の練習用に,SQL の見本をいくつか示している.下記をカットアンドペーストして,練習に使ってください.

    見本1.commodity テーブル

    ----------------------ここから---------------------
    CREATE TABLE commodity (
        type INTEGER primary key not null,
        name VARCHAR(32) not null,
        price INTEGER );
    INSERT INTO commodity VALUES( 1, 'apple', 50 );
    INSERT INTO commodity VALUES( 2, 'orange', 20 );
    INSERT INTO commodity VALUES( 3, 'strawberry', 100 );
    INSERT INTO commodity VALUES( 4, 'watermelon', 150 );
    INSERT INTO commodity VALUES( 5, 'melon', 200 );
    INSERT INTO commodity VALUES( 6, 'banana', 100 );
    ----------------------ここまで----------------------
    


    図.commodity テーブルのテーブル定義とテーブルへの列の挿入


    図.上記の実行結果

    commodity テーブルに対する SQL の例

    ----------------------ここから---------------------
    select * from commodity;
    ----------------------ここまで----------------------
    

    期待される結果

     TYPE NAME       PRICE
     ---- ---------- -----
        1 apple         50
        2 orange        20
        3 strawberry   100
        4 watermelon   150
        5 melon        200
        6 banana       100
    


    図.commodity テーブルに対する SQL の例


    図.上記の実行結果

    見本2.科目テーブル,学生テーブル,履修登録テーブル

    今度の見本(見本2)では,日本語のテーブル名,日本語の列名を試します.

    ※ テーブル名に日本語を使っていますが、特に問題ありませんでした.(とはいっても、「@」や「〜」などを使うのは避けておきましょう).

    ----------------------ここから---------------------
    create table 科目 (
           科目番号	  integer	not null,
           科目名	  varchar(100)	not null,
           単位数	  integer	not null,
           担当教員名 varchar(100) 	not null,
           primary key (科目番号)
    );
    
    create table 学生 (
           学生番号	  integer	not null,
           氏名	  varchar(100)	not null,
           primary key (学生番号)
    );
    
    create table 履修登録 (
           科目番号	  integer	not null,
           学生番号	  integer	not null,
           primary key (科目番号,学生番号),
           foreign key (科目番号) references 科目(科目番号),
           foreign key (学生番号) references 学生(学生番号)
    );
    insert into 科目 values ( 1001, 'データベース',    2, 'X' );
    insert into 科目 values ( 1002, 'プログラミング',  2, 'Y' );
    insert into 学生 values ( 2008001, 'AA AAA' );
    insert into 学生 values ( 2008002, 'BB BBBB' );
    insert into 履修登録 values ( 1001, 2008001 );
    insert into 履修登録 values ( 1001, 2008002 );
    insert into 履修登録 values ( 1002, 2008002 );
    ----------------------ここまで----------------------
    


    図.科目テーブル,学生テーブル,履修登録テーブルのテーブル定義とデータベースの生成


    図.上記の実行結果

    科目テーブル,履修登録テーブルに対する SQL の例

    ※ データベースの中身に日本語が含まれていますが、特に問題ありませんでした.

    ----------------------ここから---------------------
    select 科目.科目番号, 科目.科目名
    from 科目, 履修登録
    where 履修登録.学生番号 = 2008001 AND 履修登録.科目番号 = 科目.科目番号;
    ----------------------ここまで----------------------
    


    図.科目テーブル,履修登録テーブルに対する SQL の例


    図.上記の実行結果

    データとして「@」や「〜」を扱う例

    ※ 特に問題ありませんでした.

    ----------------------ここから---------------------
    insert into 科目 values ( 1003, 'プログラミング演習V@〜A', 2, 'X' );
    ----------------------ここまで----------------------
    


    図.データとして「@」や「〜」を扱う例


    図.上記の実行結果

  6. SQL 実行結果の保存

    SQL 実行結果が表示されているウインドウで右クリックすることで, 実行結果を,簡単にファイルに保存できます.

テーブルの一覧表示と中身の表示と更新(行の追加,行の削除,更新)

テーブルの中身を簡単に見ることができ, データの更新や,行の追加,削除も簡単に行えるツールです. SQL を使わずに簡単にできます.

上記の「Java DB (Derby) への『接続』の設定」が終わっていること.

  1. (前準備) 上記の「Java DB (Derby) への『接続』の設定」が終わっていること.

  2. (前準備) データ・ソース・エクスプローラ (Data Source Explorer) が,開いていなければ,下記の手順で開く.

    「ウインドウ (Window)」-> 「パースペクティブを開く (Perspective)」-> 「その他」-> 「データベース開発 (Database Development)」と操作し, 「OK」をクリック.

  3. 接続

    データ・ソース・エクスプローラ (Data Source Explorer) で, 先ほど作った「接続」である「新規 Derby」を右クリック. 「接続」を選ぶ.

    ※ 「接続」が薄い文字になって選べないときは,「すでに接続済み」という意味なので,気にせずに次に進む.

  4. 新規 Derby」のにある Java DB データベースディレクトリ(相対パス形式)「 dbdir」を展開(左横の「+」をクリック).

  5. dbdir」の下の「スキーマ」を展開(左横の「+」をクリック).

  6. スキーマ」の下の「APP」を展開(左横の「+」をクリック).

  7. APP」の下の「テーブル」を展開(左横の「+」をクリック).

    展開の結果,テーブル名の一覧が表示される.

  8. 扱いたいテーブル(ここでは「 COMMODITY」を右クリック.「データ」→「編集」と操作する.

  9. テーブル編集用のウインドウが開く. これで,更新,行の挿入,行の削除が簡単にできる.

    (参考)日本語を使っても,特に問題はなさそうです.

テーブルのインポート・エクスポート

CSV 形式のファイルなどと,テーブルの中身をインポート・エクスポートすることも 簡単に行えます.

閲覧,編集したいテーブル名を右クリック. 「データ」-> 「ロード」でインポート. 「データ」-> 「抽出」でエクスポート.