Java DB とは?

インストール

環境設定

データベース管理コマンドについて(Embedded)

bat や sh で wrap されている中身は derbyrun.jar

ij

データベースに接続する。

create=true オプションをつけておくと指定したディレクトリに、新しい firstdb ができる。

C:\Program Files\Java\jdk1.6.0\db\frameworks\embedded\bin>setEmbeddedCP.bat

C:\Program Files\Java\jdk1.6.0\db\frameworks\embedded\bin>ij
ij バージョン 10.2
ij> connect 'jdbc:derby:C:\javadb\firstdb;create=true';
ij>

後は普通に DDL文、DML文を使える。

ij> CREATE TABLE FIRSTTABLE
     (ID INT PRIMARY KEY,
     NAME VARCHAR(12));
0 行が挿入/更新/削除されました
ij> INSERT INTO FIRSTTABLE VALUES
     (10,'TEN'),(20,'TWENTY'),(30,'THIRTY');
3 行が挿入/更新/削除されました
ij> SELECT * FROM FIRSTTABLE;
ID         |NAME
------------------------
10         |TEN
20         |TWENTY
30         |THIRTY

3 行が選択されました
ij> SELECT * FROM FIRSTTABLE
 WHERE ID=20;
ID         |NAME
------------------------
20         |TWENTY

1 行が選択されました
ij>

ijを終了させるのは exit;

ij> exit;
C:\Program Files\Java\jdk1.6.0\db\frameworks\embedded\bin>

DDL,DMLファイルを実行することができる

ij> run 'order.ddl';
ij> ALTER TABLE ORDER_TBL DROP CONSTRAINT ORDER_CUSTOMER_FOREIGN_KEY;
0 行が挿入/更新/削除されました
ij> ALTER TABLE ORDER_TBL DROP CONSTRAINT ORDER_ITEM_FOREIGN_KEY;
0 行が挿入/更新/削除されました
ij> DROP TABLE ORDER_TBL;
0 行が挿入/更新/削除されました
ij> ALTER TABLE CUSTOMER DROP CONSTRAINT CUSTOMER_PRIMARY_KEY;
0 行が挿入/更新/削除されました
ij> ALTER TABLE ITEM DROP CONSTRAINT ITEM_PRIMARY_KEY;
0 行が挿入/更新/削除されました
ij> DROP TABLE ITEM;
0 行が挿入/更新/削除されました
ij> DROP TABLE CUSTOMER;
0 行が挿入/更新/削除されました
ij> CREATE TABLE CUSTOMER (
    ID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY,
    NAME VARCHAR(32) NOT NULL,
    CREDIT_LIMIT INTEGER NOT NULL
  );
0 行が挿入/更新/削除されました
ij> ALTER TABLE CUSTOMER
  ADD CONSTRAINT CUSTOMER_PRIMARY_KEY PRIMARY KEY (ID);
0 行が挿入/更新/削除されました
ij> CREATE TABLE ITEM (
    ID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY,
(以下略)

コメントだけの行は入れられないようだ。

× // Primary Key の設定
   ALTER TABLE CUSTOMER
     ADD CONSTRAINT CUSTOMER_PRIMARY_KEY
     PRIMARY KEY (ID);
○ ALTER TABLE CUSTOMER // Primary Key の設定
     ADD CONSTRAINT CUSTOMER_PRIMARY_KEY
     PRIMARY KEY (ID);

ON DELETEON UPDTE に指定できるのは NO ACTIONRESTRICT のみのようだ

NO ACTION親タプルが変更/削除されても何もしない
RESTRICT子タプルを変更/削除しないと親タプルを変更/削除できない
×CASCADE親タプルが変更/削除されると、連動して子タプルが削除される
×SET NULL親タプルが変更/削除されると、連動してFKに null が書き込まれる

http://db.apache.org/derby/docs/dev/ja_JP/ref/rrefsqlj13590.html には、使えると書いてあるが・・・

sysinfo

Java DB の状態を表示する

DerbySysinfo.png

dblook

既存のデータベースからDDL文を作成する

DerbyDblook.png

データベース管理コマンドについて(Network)

ネットワークサーバの立ち上げ

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>setNetworkServerCP.bat

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>startNetworkServer.bat
サーバーは、ポート 1527 で接続を受け入れる準備ができました。

ij

サーバを立ち上げた DOSプロンプト とは別の DOSプロンプトを立ち上げて実行。
接続URLが少し違うだけで、Embedded のときと同じ。

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>setNetworkClientCP.bat

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>ij
ij バージョン 10.2
ij> connect 'jdbc:derby://localhost:1527/C:\javadb\firstdb';
ij> SELECT * FROM FIRSTTABLE;
ID         |NAME
------------------------
10         |TEN
20         |TWENTY
30         |THIRTY

3 行が選択されました
ij> exit;

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>

ネットワークサーバの停止

サーバを立ち上げた DOSプロンプト とは別の DOSプロンプトを立ち上げて実行。

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>setNetworkServerCP.bat

C:\Program Files\Java\jdk1.6.0\db\frameworks\NetworkServer\bin>NetworkServerControl.bat
shutdown -h localhost -p 1527
シャットダウンが正常に行われました。

※stopNetworkServer?.bat は、上手く動かなかった

JDBCからのアクセス

テスト用のテーブルの作成

いつぞや使った呪文一覧を作る (DDLファイルはこちら→ filemagics.ddl)

C:\Program Files\Java\jdk1.6.0\db\frameworks\embedded\bin>setEmbeddedCP.bat

C:\Program Files\Java\jdk1.6.0\db\frameworks\embedded\bin>ij
ij バージョン 10.2
ij> connect 'jdbc:derby:C:\javadb\firstdb';
ij> run 'C:\temp\magics.ddl';
ij> ALTER TABLE MAGIC
  DROP CONSTRAINT MAGIC_PRIMARY_KEY;
0 行が挿入/更新/削除されました
ij> DROP TABLE MAGIC;
0 行が挿入/更新/削除されました
ij> CREATE TABLE MAGIC (
  ID BIGINT NOT NULL GENERATED ALWAYS AS IDENTITY,
  NAME VARCHAR(32) NOT NULL,
  MP INTEGER NOT NULL,
  EXPLANATION VARCHAR(255)
);
0 行が挿入/更新/削除されました
ij> ALTER TABLE MAGIC
  ADD CONSTRAINT MAGIC_PRIMARY_KEY PRIMARY KEY (ID);
0 行が挿入/更新/削除されました
ij> INSERT INTO MAGIC (NAME,MP,EXPLANATION) VALUES ('メラ',2,'敵1体に約10のダメージ');
1 行が挿入/更新/削除されました
ij> INSERT INTO MAGIC (NAME,MP,EXPLANATION) VALUES ('メラミ',4,'敵1体に約80のダメージ');
1 行が挿入/更新/削除されました
ij> INSERT INTO MAGIC (NAME,MP,EXPLANATION) VALUES ('メラゾーマ',10,'敵1体に約180のダメージ');
1 行が挿入/更新/削除されました

(以下略)

組み込みモードでの読み込み

ネットワーク・クライアント・モードでの読み込み

ページ制御


Java#Env


添付ファイル: fileDerbyEnv.png 3113件 [詳細] fileDerbySysinfo.png 3251件 [詳細] fileDerbyDblook.png 3200件 [詳細] filemagics.ddl 3366件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2008-04-03 (木) 01:02:28 (6101d)
Short-URL: http://at-sushi.com/pukiwiki/pukiwiki.php?cmd=s&k=b175eb8dc5
ISBN10
ISBN13
9784061426061