Warning: preg_replace() [function.preg-replace]: The /e modifier is no longer supported, use preg_replace_callback instead in /users/mphinfo/www/inc/auth.php on line 670
Warning: preg_replace() [function.preg-replace]: The /e modifier is no longer supported, use preg_replace_callback instead in /users/mphinfo/www/inc/auth.php on line 670
Warning: preg_replace() [function.preg-replace]: The /e modifier is no longer supported, use preg_replace_callback instead in /users/mphinfo/www/inc/auth.php on line 670
Warning: preg_replace() [function.preg-replace]: The /e modifier is no longer supported, use preg_replace_callback instead in /users/mphinfo/www/inc/auth.php on line 670
Warning: Cannot modify header information - headers already sent by (output started at /users/mphinfo/www/inc/auth.php:670) in /users/mphinfo/www/inc/actions.php on line 644
Warning: Cannot modify header information - headers already sent by (output started at /users/mphinfo/www/inc/auth.php:670) in /users/mphinfo/www/inc/actions.php on line 644
Warning: Cannot modify header information - headers already sent by (output started at /users/mphinfo/www/inc/auth.php:670) in /users/mphinfo/www/inc/actions.php on line 644
====Erste Schritte mit der Derby-Datenbank====
Derby kann [[http://db.apache.org/derby/derby_downloads.html|hier]]
herunter geladen werden.
Alles, was auf dieser Seite kurz erklärt wird, gibt es noch viel
[[http://db.apache.org/derby/papers/DerbyTut/index.html|ausführlicher]]. Nach kurzer Zeit will man [[http://db.apache.org/derby/docs/dev/ref/|mehr über die Befehle]] wissen.
Oder [[http://publib.boulder.ibm.com/infocenter/cscv/v10r1/index.jsp|hier]]
''ij'' ist ein Skript, das intensiv nach seiner eigenen Lage forscht und dann
die entsprechende Klasse startet. Folgendermaßen wird eine Datenbank in dem
Verzeichnis angelegt, in dem ''ij'' gestartet wurde und ein
Nicht-Server-Prozess
gestartet:
pfadzu/ij
> connect 'jdbc:derby:hierbank;create=true';
Die meisten anderen Skripte finden sich und ''derby.jar'' nicht so leicht
automatisch, weshalb es sinnvoll ist, ''DERBY_HOME'' zu setzen mit z.B.
export DERBY_HOME=/pfad/zu/derby
bzw. in Windows
set DERBY_HOME=/pfad/zu/derby
Praktisch viel wichtiger ist aber die Umgebungsvariable ''CLASSPATH''.
Erst wenn sie korrekt gesetzt ist, kann ein beliebiges Java-Programm
automatisch die entsprechenden Klassen einbinden. Den Classpath kann
man selber setzen oder durch Aufruf eines Skripts. Damit das Ergebnis
erhalten bleibt, muss ein solches Skript in Linux gesourct werden, z.B.
. /bin/setEmbeddedCP
. /bin/setNetworkServerCP
In Windows ruft man es einfach auf; die darin definierten Umgebungsvariablen
bleiben global erhalten.
Einen Server, der von überallher Anfragen annimmt, startet und stoppt man mit
java -jar lib/derbyrun.jar server start -h 0.0.0.0 &
java -jar lib/derbyrun.jar server shutdown
Auf einen entfernten Server greift man z.B. aus ''ij'' heraus zu per
connect 'jdbc:derby://localhost:1527//pfad/zu/hierbank';
Von den [[http://db.apache.org/derby/docs/10.1/ref/|wichtigsten SQL-Befehlen]]
folgen hier einige Auszüge:
create table person(
pid integer primary key generated always as identity,
name varchar(20) not null,
geb date
);
create table mag(
moeger integer not null,
gemocht integer not null,
primary key(moeger,gemocht),
constraint m_fs foreign key(moeger) references person(pid),
constraint g_fs foreign key(gemocht) references person(pid)
);
insert into person(name, geb) values('Cindy','1946-07-12');
insert into person(name, geb) values('Bert', '1944-03-02');
insert into person(name, geb) values('Franz','1965-03-26');
insert into mag values(1,1);
insert into mag values(1,2);
insert into mag values(2,2);
update person set geb='1946-07-22' where pid=1;
delete from person where name='Franz';
select a.name, b.name
from person a, person b, mag m
where a.pid=m.moeger and b.pid=m.gemocht;
describe mag;
===Anmerkungen===
* Automatisch inkrementierende Primärschlüssel mit
id integer primary key generated always as identity
id integer primary key generated by default as identity