Erste Schritte mit Derby

2010-03-15

Installieren von Java6 und der Derby DB unter Ubuntu:

sudo aptitude install sun-java6-javadb

Umgebungsvariablen setzen, bzw. am besten direkt in .bashrc hinterlegen:

export JAVA_HOME=/usr/lib/jvm/java-6-sun/
export DERBY_HOME=$JAVA_HOME/db
export PATH=$PATH:$DERBY_HOME/bin/

Server starten:

startNetworkServer

Mit DB-Server verbinden und gleichzeitig eine neue DB anlegen:

ij
ij>connect 'jdbc:derby://localhost:1527/my_new_db;create=true';

Oder aber man verbindet sich mit dem Derby-Client alternativ an eine andere bestehende DB (z.B. Mysql). Dazu ist natürlich der DB-spezifische Connector zuvor im CLASSPATH zu berücksichtigen:

ij>connect 'jdbc:mysql://localhost:3306/your_mysql_db?user=username&password=secret';

Anlage einer Tabelle:

ij>create table foo(anId int primary key, bar varchar(100));

Schemainfo via SQL:

ij>describe foo;
-- COLUMN_NAME         |TYPE_NAME|DEC&|NUM&|COLUM&|COLUMN_DEF|CHAR_OCTE|IS_NULL
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ANID                |INTEGER  |0   |10  |10    |NULL      |NULL      |NO
-- BAR                 |VARCHAR  |NULL|NULL|100   |NULL      |200       |YES

Daten einfügen:

ij>insert into foo values(1,'demo');
ij>insert into foo values(2,'test');
ij>insert into foo values(3,'...');

Selektieren der Tabelle:

ij> select * from foo;
-- ANID       |BAR
-- ++++++++++++++++
-- 1          |demo
-- 2          |test
-- 3          |...

Schemainfo via Kommandozeile:

dblook -d 'jdbc:derby://localhost:1527/my_new_db'

# Zeitmarke: 2010-03-15 17:50:11.757
# Quellendatenbank: my_new_db
# Verbindungs-URL: jdbc:derby://localhost:1527/my_new_db
# appendLogs: false
# 
# +++++++++++++++++++++++++++++++++++++++++++++
# DDL-Anweisungen für Tabellen
# +++++++++++++++++++++++++++++++++++++++++++++
# 
# CREATE TABLE "APP"."FOO" ("ANID" INTEGER NOT NULL, "BAR" VARCHAR(100));
# 
# +++++++++++++++++++++++++++++++++++++++++++++
# DDL-Anweisungen für Schlüssel
# +++++++++++++++++++++++++++++++++++++++++++++