PowerGres

第 2 回 データベースの作成とアプリケーションの実行 – PowerGres Plus を使ってみよう

第 2 回 データベースの作成とアプリケーションの実行
『Java でアプリケーションを作ってみよう』

はじめに

「コンピュータ、ソフトがなければただの箱」という言葉がありました。 データベースもそのデータを有効に活用する業務、アプリケーションがあって初めて役に立ちます。

PowerGres Plus は、Java (JDBC)、Perl、PHP とさまざまな言語のインタフェースを用いてアプリケーションを作成することができます。 また、Administrator はもちろん、オープンソースの pgAdmin III など多くの GUI ツールを使用して簡単に、データベースやテーブルを作成できます。

第 2 回では、さまざまな周辺ツールを使用して簡単にデータベースを作成し、アプリケーションを作成する過程を説明します。

それでは実際に書籍データベースを作成しながら、PowerGres Plus での業務作成の流れを説明します。 書籍データベースは、書籍タイトルに含まれる文字や、作者の名前などから目的の書籍の情報を見つけ出すシステムです。 書籍データベースのシステムを作成するためには、データベースや、データベースにアクセスするためのアプリケーションを作成し、データのメンテナンスや保護をどのように行うかを考えなければなりません。 今回は、データベースの作成とアプリケーションの作成を以下の手順で行います。

データベースの構築

データベースを構築するには、まず、データベースを作成し、次に書籍情報を格納するためのテーブルを作成します。 その後、書籍情報のデータを入力します。 今回は、以下の順で説明します。

第 1 回目で紹介したセットアップが完了すると、Administrator を起動するための URL が表示されます。

https://server:13000/admin/postgres.html

server セットアップを行ったサーバ名
postgres.html setup で作成したインスタンス名が「postgres」の場合、「postgres.html」になります。

Administrator の起動

ブラウザで、Administrator を起動するための URL を入力すると、最初に日本語表示か、英語表示かを選択する画面が表示されるので、日本語表示画面の方を選びます。

初期画面が表示されるので、インスタンス管理者用のユーザ ID とパスワードを入力します。

画面左の インスタンスの起動停止 を選択し、インスタンスが起動されているかを確認します。 停止 状態のときは、起動 ボタンをクリックして、インスタンスを起動します。

なお、以下の説明では、PowerGres Plus でリソースの格納に必要なディレクトリを指定します。

インスタンスを格納するディレクトリ /PlusData/postgres
データベーススペースを割り当てるディレクトリ /PlusDbspace/postgres

データベースの追加

起動が確認できたら、画面左の データベースの操作 – データベースの追加・削除 を選択します。 データベースの追加画面が表示されるので、以下のようなデータベースを作成します。

データベース名 dbsample
データベーススペース名 dbsamplespace
パス名 /PlusDbspace/postgres/dbsamplespace
サイズ 100 MB

各画面には、ヘルプ ボタンがあり、入力する内容もわかるようになっています。

Administrator によるデータベース作成
図 1: Administrator によるデータベース作成

テーブルの作成

これで、データベースの作成が終わりました。データベースには、格納する情報の形式に合わせて、さまざまなテーブルを作成することができます。 今回は書籍の情報を検索するためのテーブルを作成します。 テーブルの作成には pgAdmin III というツールを使ってみます。

pgAdmin III の入手

以下の URL からダウンロードすることができます。

https://www.pgadmin.org/

2005 年 11 月 10 日現在では、pgadmin3-1.4.0.zip が最新でした。

pgAdmin III のインストール

ダウンロードしたファイルを解凍して作成される、「pgadmin3.msi」を実行してインストールします。 インストールは、ウィザード形式で簡単行なえます。

pgAdmin III インストール画面
図 2: pgAdmin III インストール画面

pgAdmin III では、ODBC ドライバを使用するので、ODBC ドライバをインストールします。

ODBC ドライバの入手

ODBC ドライバは以下から入手できます。 バージョンは、7.03.02.00 以降を推奨します。

https://www.postgresql.org/ftp/odbc/versions/msi/

ODBC ドライバのインストール

Windows システムに PostgreSQL ODBC Driver をインストールします。

ODBC ドライバの設定

インストールした ODBC ドライバを選択して、「PowerGresPlus」というデータソースを新規に追加します。 この例では、あらかじめ作成した「dbsample」というデータベース名を指定します。

ODBC ドライバセットアップ画面
図 3: ODBC ドライバセットアップ画面

pgAdmin III の起動

スタートメニューの pgAdmin III 1.4 – pgAdmin III を選択します。

サーバの追加

ファイル – サーバの追加 を選択して以下のように入力します。

アドレス アクセスするサーバ名を入力します。
記述 ODBC ドライバで作成したデータソース名を設定します。
Port 使用する Port を設定します。
DB メンテナンス アクセスするデータベースとして先ほど作成した「dbsample」を指定します。
ユーザ名 アクセスするデータベースのインスタンス管理者を指定します。
パスワード インスタンス管理者のパスワードを指定します。

新しいサーバの登録画面
図 4: 新しいサーバの登録画面

ツリーに、PowerGresPlus が追加され、そのツリーを展開すると、dbsample の内容が閲覧できます。

テーブルの追加

ツリーから、データベース – dbsample – テーブル を選択し、ポップアップメニューで、新しいテーブル を選択し、以下のようにテーブルを作成します。

新しいテーブル
図 5: 新しいテーブル

データの追加

データビューから、以下のデータを入力します。 以下のデータは、amazon.co.jp で「PostgreSQL」をキーに検索した書籍データをランダムに抽出したものです。

ISBN TITLE AUTHOR PRICE
4798109576 PostgreSQL 徹底入門8対応 石田朗雄、浅羽義之 3444
4844320998 PostgreSQL 徹底活用ガイド for Windows 斉藤 浩 3129
484432053X まるごとPostgreSQL!Vol.1 石井達夫 1890
4774118117 PostgreSQL全機能リファレンス アドバンストリファレンスシリーズ 鈴木啓修 3129
4873111021 実践PostgreSQL John Worsley, Joshua Drake 5040
0201703319 Postgresql: Introduction and Consepts Bruce Momjian 5829

データビュー
図 6: データビュー

アプリケーションの作成

アプリケーションは、先ほど作成したテーブルを検索し、価格の安い順に、以下のようにフォーマットして出力するプログラムを JDBC で作成してみます。

=[ISBN番号]============================================
タイトル:xxxxxxxxxxxxxxxxxxxxx
著者:yyyyyyyyyyyyyyyyyyyyy
価格(税込み):zzzz円
=======================================================

アプリケーション概要
図 7: アプリケーション概要

アプリケーションは、Windows の Eclipse で開発します。 以下の手順で説明します。

J2SE のインストール

J2SE の入手

以下の URL よりダウンロードできます。

https://java.sun.com/

2005 年 11 月 10 日現在では、1.4.2_10 が最新です。 Windows Platform 用で、インストーラ付きのものをダウンロードします。 ファイル名は、以下となります。

j2sdk-1_4_2_10-windows-i586-p.exe

J2SE のインストール

ダウンロードが完了したら、上記のファイルを実行しインストールします。 インストールは、ウィザード形式なので、簡単にできます。 C:\j2sdk-1.4.2_10 にインストールします。

J2SE の環境設定

以下のように環境変数をシステムに設定します。

JAVA_HOME=C:\j2sdk-1.4.2_10
PATH=%JAVA_HOME%\bin;%PATH%

私の環境ではすでに j2sdk-1.4.2_04 がインストールされているので、環境変数は以下のように設定しました。

JAVA_HOME=C:\j2sdk-1.4.2_04
PATH=%JAVA_HOME%\bin;%PATH%

JDBC ドライバの設定

PowerGres Plus に添付の JDBC ドライバを任意のディレクトリに複写、または、インストールして環境変数を設定します。

JDBC ドライバのインストール

以下に JDBC ドライバをインストールしました。

C:\JDBC\jdbc3\postgresql.jar

JDBC ドライバの環境設定

以下のように環境変数を設定します。

CLASSPATH=.;"C:\JDBC\jdbc3\postgresql.jar";%CLASSPATH%

Eclipse のインストール

Eclipse は最新の R3.1.1 Windows 版を使用して開発します。

Eclipse の入手

Windows 用の最新ファイルを入手します。 以下の URL からダウンロードできます。

https://eclipse.org/downloads/

2005 年 11 月 10 日現在、eclipse-SDK-3.1-win32.zip が最新でした。

Eclipse のインストール

上記のファイルを解凍して作成された eclipse というディレクトリを任意の場所に複写します。 「C:\eclipse」に複写します。

Eclipse による開発手順

C:\eclipse\eclipse.exe を起動します。

最初の起動では、ワークスペースを作成する場所を尋ねてきます。 今回は、以下のように入力します。

C:\workspaces

以下のような画面が表示されるので、右上の矢印をクリックしてワークベンチを開きます。

Eclipse 初期画面
図 8: Eclipse 初期画面

プロジェクトの新規作成

プロジェクトの新規作成では、Eclipse のウィザードを利用して、Java 用のプロジェクト「PGSAMPLE」を作成します。 また、プロジェクトで使用するクラスとして、JDBC ドライバを追加します。

以下に手順を説明します。

File メニューの Project を選択し、Java Project を選択して、Next ボタンをクリックします。

次の画面で、Project Name に「PGSAMPLE」と入力し、Next ボタンをクリックします。

次の画面では、Library タグを選択し、Add External JARs ボタンをクリックし、postgresql.jar を追加します。

Java Settings
図 9: Java Settings

最後に Finish ボタンをクリックします。

プログラムの作成

プログラムは、メインとなるクラスを 1 つ作成し、そこでデータベースにアクセスする処理を記述します。

File メニューの New から Class を選択し、以下のように入力します。

Java Class
図 10: Java Class

Finish をクリックすると、main メソッドを持つ、PGSAMPLE クラスが作成されます。

以下のようなソースコードを作成します。

import java.sql.*;

public class PGSAMPLE {ldelim}


    String url="jdbc:postgresql://Server1:5432/dbsample";
    String username="postgres";
    String password="post000";
    /**
     * @param args
     */
    public static void main(String[] args) {ldelim}
        // TODO Auto-generated method stub
        PGSAMPLE object = new PGSAMPLE();
        object.run(args);
    {rdelim}

    public void run(String[] args){ldelim}
        try {ldelim}
            Class.forName("org.postgresql.Driver");
            Connection db = DriverManager.getConnection(url, username, password);
            Statement st = db.createStatement();
            ResultSet rs = st.executeQuery("SELECT * FROM books ORDER BY \"PRICE\" ");
            while (rs.next()) {ldelim}
                System.out.println("=["+rs.getString(1)+"]=====================================");
                System.out.println("タイトル:"+rs.getString(2));
                System.out.println("著者:"+rs.getString(3));
                System.out.println("価格(税込み):"+rs.getString(4)+"円");
            {rdelim}
            System.out.println("==================================================");
            rs.close();
            st.close();

        {rdelim}
        catch (Exception e){ldelim}
            System.out.println("error occurred."+e.getMessage());
        {rdelim}
    {rdelim}

{rdelim}

補足

SELECT 文では、カラム名を記述するとき、ダブルクォーテーション (“) で囲みます。 これは、pgAdmin III でテーブルを定義するときに、初期設定でカラム名をダブルクォーテーションで囲んで定義しているためです。 本来は、ダブルクォーテーションは、SQL の予約語や、英字の大文字、小文字を識別するために指定します。 PowerGres Plus では、ダブルクォーテーションを指定しない場合は、英小文字として扱われるため、これを回避するために、ダブルクォーテーションで囲んでいます。

実行結果

実行は、Run メニューの Run を選択し、表示された画面で、実行クラス「PGSAMPLE」を指定して実行します。

実行画面
図 11: 実行画面

以下のように Eclipse のコンソールに表示されます。

=[484432053X]=====================================
タイトル:まるごとPostgreSQL!Vol.1
著者:石井達夫
価格(税込):1890円
=[4844320998]=====================================
タイトル:PostgreSQL 徹底活用ガイド for Windows
著者:斉藤 浩
価格(税込):3129円
=[4774118117]=====================================
タイトル:PostgreSQL全機能リファレンス アドバンストリファレンスシリーズ
著者:鈴木啓修
価格(税込):3129円
=[4798109576]=====================================
タイトル:PostgreSQL 徹底入門8対応
著者:石田朗雄、浅羽義之
価格(税込):3444円
=[4873111021]=====================================
タイトル:実践PostgreSQL
著者:John Worsley, Joshua Drake
価格(税込):5040円
=[0201703319]=====================================
タイトル:Postgresql: Introduction and Consepts
著者:Bruce Momjian
価格(税込):5829円
==================================================

デバッグ

Eclipse でデバッグを行う場合は、Run メニューの Debug を選択して行います。

デバッグ用の Perspective に切り替わります。

デバッグ用画面
図 12: デバッグ用画面

ブレークポイントの設定は、Run メニューの Toggle line breakpoint または、Ctrl + Shift + b キーで設定・解除できます。

while 文中の先頭の行にブレークポイントを設定して実行すると、以下のようにブレークポイントで停止している状態が表示されます。

Debug Perspective
図 13: Debug Perspective

クラス内から参照できる変数や、クラスの内容は Variables に表示されます。

変数表示
図 14: 変数表示

デバッグを終了する場合は、Run メニューの Terminate を選択します。

その他のデバッグの詳細については、Eclipse のヘルプを参照してください。

最後に

PowerGres Plus で、Administrator、pgAdmin III を使用して簡単にデータベース定義ができることを説明しました。 今回は、Java によるアプリケーションを作成しましたが、PowerGres Plus には他にも C 言語、Perl、PHP などのインタフェースが装備されていますので、お好きな言語でプログラミングすることができます。 次回は、今回作成した dbsample データベースのバックアップとリカバリを行い、その内容を皆様にお伝えします。

製品・サービスに関するお問い合わせ
03-5979-2701

お問い合せ受付時間 月 - 金 10:00 - 17:00

メールフォームでのお問い合わせ

ページトップへ