トップページ -> インストール,設定,利用 -> SQLite 3 とSQL 演習 -> SQLite 上で Eclipse の DBViewer プラグインを使う
[サイトマップへ], [サイト内検索へ]

SQLite 上で Eclipse の DBViewer プラグインを使う

この Web ページでは,Eclipse の DBViewer プラグイン設定使い方を説明する.

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

  1. SQL の編集と実行,SQL 実行結果のファイル出力(SQL でなく,グラフィカル・ユーザ・インタフェースを使用),
  2. テーブルの中身の表示と更新(行の追加,行の削除,値の更新)(SQL でなく,グラフィカル・ユーザ・インタフェースを使用),
  3. テーブルのエクスポートなど

この Web ページでは,リレーショナルデータベース管理システムとして,SQLite を使う.

PostgreSQLJavaDB (Derby) など,他のリレーショナルデータベース管理システムについては,別のページで説明している.

参考 Web ページ: http://www.atmarkit.co.jp/fjava/rensai3/eclipseplgn09/eclipseplgn09_3.html


必要となるソフトウエア

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

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

設定項目

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

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


DBViewer の機能

エディターの設定

デフォルトでは,SQL 区切り文字が「\」になっています. 次の手順で,SQL 区切り文字を「;」に変えることが簡単にできる.

  1. Eclipse で 「ウインドウ (Window)」→「設定
  2. 設定用のウインドウが開くので「DBViewer」プラグインを展開
  3. SQL エディター」をクリック
  4. SQL 区切り文字の設定

    接続情報の設定

    【要点】ここでは,Eclipse で DBViewer からのJDBC 接続の設定を行う.

    これで,SQLite への接続の準備ができた.


    SQL の編集と実行

    SQL 実行・ビューを使い,任意の SQL の記述と実行ができる.

    【SQL の例】

    エディタ画面に,下記をカットアンドペースト.右クリックして「すべて実行」を選ぶ. SQL の結果のウインドウに結果が表示される.

    DBViewer で,複数のSQLを一度に実行することができる

    ※ SQL 区切り記号は,DBViewer では,デフォルトでは「\」になっています.ここでは,SQL 区切り記号の設定を「;」に変更済みだとして説明している (変え方は,この Web ページの上の方で説明している.

    ----------------------ここから---------------------
          BEGIN TRANSACTION;
          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 );
          SELECT * FROM commodity;
          COMMIT;
    ----------------------ここまで----------------------
    図.commodity テーブルのテーブル定義とテーブルの生成と問い合わせ
    

    期待される結果.

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

    [image]

    【SQL の例(2)】

    今度の例では,日本語のテーブル名日本語の列名を試します. ※ テーブル名や列名に日本語を使っみましたが,試した範囲では,特に問題ありませんでした.(とはいっても、テーブル名や列名に「①」や「〜」などを使うのは避けておきましょう. (他のリレーショナルデータベース管理システムに乗り換える必要が出てきたときに,円滑に移行したいので).

    ----------------------ここから---------------------
    begin transaction;
    
    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 );
    
    commit;
    ----------------------ここまで----------------------
    
    図.科目テーブル,学生テーブル,履修登録テーブルのテーブル定義とテーブルの生成
    
    ----------------------ここから---------------------
    select 科目.科目番号, 科目.科目名
    from 科目, 履修登録
    where 履修登録.学生番号 = 2008001 AND 履修登録.科目番号 = 科目.科目番号;
    ----------------------ここまで----------------------
    図.科目テーブル,履修登録テーブルに対する問い合わせの例
    

    期待される結果.

    科目番号  科目名
    1001      データベース
    

    [image]

    テーブルの中身に「①」や「〜」を扱う例

    ※ 列名やテーブル名に「①」や「〜」を使っているわけではない.特に問題ありませんでした.

    ----------------------ここから---------------------
    insert into 科目 values ( 1003, 'プログラミング演習Ⅲ①〜②', 2, 'X' );
    select * from 科目;
    ----------------------ここまで----------------------
    図.データとして「①」や「〜」を扱う例
    

    期待される結果.

    科目番号  科目名                      単位数  担当教員名
    1001      データベース                2       X
    1002      プログラミング              2       Y
    1003      プログラミング演習Ⅲ①〜②  2       Z
    

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

    テーブルの中身を簡単に閲覧でき,行の追加,削除,更新も簡単に行えるツールです. SQL を使わずに簡単にできる.

    テーブルのエクスポート

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

    閲覧,編集したいテーブル名を右クリック. 「CSVファイルの出力」でエクスポート.


本サイトのサイトマップは,サイトマップのページをご覧下さい. 本サイト内の検索は,サイト内検索のページをご利用下さい.

問い合わせ先: 金子邦彦(かねこ くにひこ) [image]