Java DB (Derby) データベースの操作
このドキュメントでは、NetBeans IDE で Java DB データベースへの接続を設定する方法を紹介します。いったん接続が作成されると、IDE でデータベースの操作を開始することができ、表の作成、表へのデータの生成、および SQL 文やクエリーの実行が可能になります。
Java DB データベースは、Sun がサポートする Apache Derby のディストリビューションです。Java DB は、完全なトランザクション型で、規格に準拠した、安全なデータベースサーバーです。すべて Java で記述されており、SQL、JDBC API、および Java EE テクノロジを完全にサポートしています。Java DB データベースは GlassFish アプリケーションサーバーとともにパッケージ化されており、JDK 6 にも含まれています。Java DB データベースの詳細は、公式ドキュメントをお読みください。
目次
このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
注:
- JDK 6 をインストールすると、Java DB がインストールされます (Mac OS X の場合を除く)。Mac OS X を使用する場合、Java DB を手動でダウンロードしてインストールするか、NetBeans IDE インストーラの Java EE バージョンによってインストールされる Java DB を使用できます。
データベースの構成
NetBeans IDE のインストールで GlassFish Enterprise サーバーを登録した場合、Java DB はすでに登録されています。このため、「サーバーの起動とデータベースの作成」に進むことができます。
GlassFish サーバーを別途ダウンロードしていて、NetBeans IDE への登録方法が不明な場合は、IDE のヘルプ目次 (F1) にある「GlassFish アプリケーションサーバーインスタンスの登録」を参照してください。
Java DB を単独でダウンロードした場合は、次の手順を実行します。
- 自己抽出型のファイルを実行します。このファイルと同じ場所に「javadb」というフォルダが作成されます。Java DB をダウンロードしただけで、抽出先とは異なる場所にデータベースサーバーを置く場合は、ここで場所を変更します。
- システム上で、データベースサーバーの個々のインスタンスのホームディレクトリとして使用する新しいディレクトリを作成します。たとえば、このフォルダを Java DB ルートディレクトリ (javadb) などの場所に作成できます。
次に進む前に、Java DB のルートディレクトリにあるコンポーネントについて理解しておく必要があります。
- demo サブディレクトリには、すべてのデモプログラムが含まれています。
- bin サブディレクトリには、ユーティリティーの実行や環境設定用のスクリプトが含まれています。
- javadoc サブディレクトリには、ソースコードのコメントから生成された API のドキュメントが含まれています。
- docs サブディレクトリには、Java DB のドキュメントが含まれています。
- lib サブディレクトリには、Java DB jar ファイルが含まれています。
NetBeans IDE へのデータベースの登録
データベースが構成されたので、次の手順を実行して、Java DB を IDE に登録します。
- 「サービス」ウィンドウで、「Java DB データベース」ノードを右クリックし、「プロパティー」を選択して、「Java DB プロパティー」ダイアログボックスを開きます。
- 「Java DB インストール」テキストフィールドに、前の手順で指定した Java DB ルートディレクトリ (javadb) へのパスを入力します。
- 「データベースの場所」で、場所がすでに指定されている場合、デフォルトの場所を使用します。「了解」をクリックします。
たとえば、デフォルトの場所は、Windows マシンでは C:\Documents and Settings\username\.netbeans-derby などになります。
注: 「データベースの場所」フィールドが空の場合、データベースを格納するディレクトリへのパスを設定する必要があります。データベース用のディレクトリが存在しない場合は、作成する必要があります。
サーバーの起動とデータベースの作成
「サービス」ウィンドウで「Java DB」ノードを右クリックすると、Java DB データベースのメニューオプションが表示されます。このコンテキストメニューの項目を使用して、データベースサーバーの起動や停止、新規データベースインスタンスの作成、および IDE へのデータベースサーバーの登録 (前の手順で紹介) ができます。データベースサーバーを起動するには、次の手順に従います。
- 「サービス」ウィンドウで「Java DB」ノードを右クリックし、「サーバーを起動」を選択します。「出力」ウィンドウの次の出力は、サーバーが起動したことを示しています。
- 「Java DB」ノードを右クリックし、「データベースを作成」を選択して、「Java DB データベースを作成」ダイアログを開きます。
- 「データベース名」に「contact」と入力します。
- 「ユーザー名」および「パスワード」に「nbuser」と入力します。「了解」をクリックします。
「データベースの場所」は、GlassFish からの Java DB のインストール中に設定したデフォルトの場所です。Java DB を別途インストールした場合は、この場所が異なることがあります。
データベースへの接続
ここまでの手順で、データベースサーバーを起動させ、constant というデータベースインスタンスを IDE に作成することに成功しました。「サービス」ウィンドウからアクセスできる、NetBeans IDE のデータベースエクスプローラには、データベース構造での一般的なタスク用の機能が用意されています。これには、次のものがあります。
- 表の作成、削除、変更
- 表へのデータの生成
- 表形式のデータの表示
- SQL 文とクエリーの実行
contact データベースの操作を始めるには、そのデータベースへの接続を作成する必要があります。contact に接続するには、次の手順に従います。
「サービス」ウィンドウでデータベースエクスプローラを展開し、新しいデータベースを指定します。

sample [APP の app] は、デフォルトのデータベーススキーマです。
データベース接続ノード (jdbc:derby://localhost:1527/car_database[NBUSER の nbuser]) を右クリックし、「接続」を選択します。
接続ノードのアイコンの全体が表示されます (
)。これは接続に成功したことを示します。
- データベース接続ノード (jdbc:derby://localhost:1527/contact [nbuser on NBUSER]) を右クリックし、「名前を変更」を選択して、データベースのわかりやすい表示名を作成します。テキストフィールドに「Contact DB」と入力し、「了解」をクリックします。
表の作成
作成した contact データベースは現在空です。まだ表やデータは含まれていません。NetBeans IDE では、「表を作成」ダイアログを使用するか、SQL 文を入力して SQL エディタから直接実行することで、データベースに表を追加できます。次の両方の方法について学習できます。
表へのデータの追加
contact データベースに 1 つ以上の表を作成したので、表へのデータの生成を開始できます。表にレコードを追加するには、次のようないくつかの方法があります。
これらのすべての方法を学習し、FRIENDS 表にデータを生成するには、次の各節を参照してください。
SQL 文の実行
- データベースエクスプローラで「表」ノードを展開し、「FRIENDS」表を右クリックして「コマンドを実行」を選択します。SQL エディタウィンドウ内に空白のキャンバスが表示されます。
- SQL エディタに次の文を入力します。入力中は SQL エディタのコード補完を使用できます。
INSERT INTO APP.FRIENDS VALUES (1,'Theodore','Bagwell','T-Bag','2004-12-25','tbag@foxriver.com')
- SQL エディタ内を右クリックし、「文を実行」を選択します。「出力」ウィンドウに、文の実行に成功したことを示すメッセージが表示されます。
-
FRIENDS 表に新しいレコードが追加されたことを確認するには、「サービス」ウィンドウで「FRIENDS」表ノードを右クリックし、「データを表示」を選択します。
「データを表示」を選択すると、表からすべてのデータを選択する SQL クエリーが SQL エディタの上部区画に自動的に生成されます。文の結果は、SQL エディタの下部区画に表示されます。この場合、FRIENDS 表は下部区画に表示されます。SQL 文から供給されたデータを使用して、新しい行が追加されています。

SQL エディタの使用
- 「FRIENDS」表ノードを右クリックして、「データを表示」を選択します (前の節の最後の手順で実行しなかった場合)。
- 「レコードを挿入 (Alt+I)」ボタンをクリックして、行を追加します。
「レコードを挿入」ダイアログが表示されます。
- 各セルでクリックして、レコードを入力します。Date データ型のセルでは、カレンダから日付を選択できます。完了したら、「了解」をクリックします。

SQL エディタでは、行のヘッダーをクリックして結果をソートしたり、既存のレコードを変更および削除したり、(ポップアップメニューの「SQL スクリプトを表示」コマンドで) エディタで行なっている操作の SQL スクリプトを表示したりできます。
表の削除
次の手順では、外部 SQL スクリプトを使用して、新しい COLLEAGUES 表を作成します。しかし、COLLEAGUES 表は前述の「SQL エディタの使用」節で作成したばかりです。SQL スクリプトによって本当に新しい表が作成されることが明確に分かるよう、ここでは、すでに作成した COLLEAGUES 表を削除します。データベースの表を削除するには、次の手順に従います。
- データベースエクスプローラで表のノードを右クリックし、「削除」を選択します。
表のノードは、確認なしですぐにデータベースエクスプローラから削除されるため、注意してください。
外部 SQL スクリプトの使用
外部 SQL スクリプトからコマンドを発行するのは、データベースを管理するのに一般的な方法です。ほかの場所で SQL スクリプトをすでに作成している場合、そのスクリプトを NetBeans IDE にインポートし、指定したデータベースに対して実行します。
デモの目的で、ファイル colleagues.sql をローカルに作成し、colleagues.sql の内容をそのファイルにペーストします。
または、colleagues.sql をローカルシステムにダウンロードし、メインメニューから「ファイル」>「ファイルを開く」を選択し、ファイルの場所に移動して、SQL エディタで colleagues.sql を開きます。
このスクリプトは、COLLEAGUES という新しい表を作成し、その表にデータを生成します。contact データベースでこのスクリプトを実行するには、次の手順に従います。
- IDE のメインメニューから「ファイル」>「ファイルを開く」を選択します。ファイルブラウザで colleagues.sql ファイルを保存した場所に移動し、「開く」をクリックします。SQL エディタで自動的にスクリプトが開きます。
-
エディタの最上部のツールバーにある「接続」ドロップダウンボックスで Contact DB への接続が選択されていることを確認します。

- SQL エディタのタスクバーにある「SQL を実行」(
) ボタンをクリックします。選択したデータベースに対してスクリプトが実行され、「出力」ウィンドウにフィードバックが生成されます。
- 変更内容を確認するには、「サービス」ウィンドウで「Contact DB」接続ノードを右クリックし、「再表示」を選択します。SQL スクリプトからの新しい COLLEAGUES 表が、「サービス」ウィンドウの「contact」の下に表ノードとして表示されます。
- 新しい表に含まれているデータを表示するには、COLLEAGUES 表を右クリックして「データを表示」を選択します。このように、表形式のデータと SQL スクリプトに含まれるデータとを比較して、一致しているかどうかを確認することもできます。
異なるデータベースの表の再作成
異なるデータベースにある表を、NetBeans IDE から操作中のデータベースで再作成したい場合、IDE には便利なツールが用意されています。まず、このチュートリアルの最初に説明したものに似た 2 つ目のデータベースが IDE に登録されている必要があります。このチュートリアルの目的で、Java DB にパッケージされている sample データベースを使用します。この手順は基本的に 2 つの段階に分けて実行されます。まず、選択した表の表定義を「保存」し、そのあと選択したデーベースに表を再作成できます。
- データベースエクスプローラで接続ノードを右クリックし、「接続」(ユーザー名およびパスワードは app) を選択して、sample データベースに接続します。
-
「表」ノードを展開します。「CUSTOMER」表ノードを右クリックし、「構造を保存」を選択します。

- 開いた「表を保存」ダイアログで、作成される保存 (grab) ファイルを配置する場所を指定します。「保存」をクリックします。保存ファイルには、選択した表の表定義が記録されます。
- データベースエクスプローラで、Contact DB データベース接続の下にある「表」ノードを右クリックし、「表を再作成」を選択します。
開いた「表を再作成」ダイアログで、CUSTOMER 保存ファイルを保存した場所に移動し、「開く」をクリックします。「表に名前を付ける」ダイアログが開きます。

-
ここで表の名前を変更したり、表定義を編集したりできます。それらを行わない場合、「了解」をクリックすると、contact データベースにすぐに表が作成されます。「Contact DB」接続ノードの下に「CUSTOMER」表ノードが新しく表示されます。

関連項目
これで、「Java DB (Derby) データベースの操作」チュートリアルは終わりです。このチュートリアルでは、NetBeans IDE で Java DB データベースへの接続を設定する方法を紹介しました。そして、IDE の「サービス」ウィンドウからデータベースエクスプローラを使用して、表を作成、表示、変更、および削除する方法を紹介しました。SQL エディタを操作して表にデータを追加する方法や、ほかのデータベースの定義を使用して表を再作成する IDE の機能の使用方法も示しました。
関連するチュートリアルおよびさらに高度なチュートリアルについては、次のリソースを参照してください。