# Bitte um Hilfe bei Wahl einer Datenbank



## mabe42 (9. Apr 2010)

Hallo zusammen,

ich habe mit der Programmierung von Datenbanken bisher noch nichts zu tun gehabt. Jetzt möchte ich aber ein Projekt starten, bei dem ich den Einsatz einer DB als sinnvoll ansehe.

Die Anforderungen an die DB habe ich hier mal aufgelistet:
1. Die DB soll max. ca. 100-200 Datensätze à 10-20 Strings enthalten. Einige der Strings werden so im Bereich 100-1000 Zeichen lang sein.
2. Die DB soll manuell über eine GUI befüllt werden, d.h. ich möchte eine GUI haben, die ich nur noch an die DB anpassen muss, nicht ein Programm selbst schreiben. Und ich möchte schon gar nicht die DB per Kommandozeile füllen müssen.
3. Änderungen sollen ebenfalls nur manuell über die GUI geschehen.
4. Die Abfrage (nur lesend) der DB soll aus verschiedenen Java-Programmen (meine noch zu schreibenden Anwendungen) möglich sein. Evtl. auch gleichzeitig.
5. Die DB *muss* ohne Admin-Rechte unter Windows installierbar sein.

Die Anforderungen 1-3 und 5 könnte ich z.B. mit OOo Base (portable app) erfüllen. Aber was ich so über den Zugriff von Java auf eine solche DB im Netz gefunden habe, hört sich nicht so ganz straight forward an. Außerdem ist OOo Base wohl ein bisschen übertrieben für so eine kleine DB.

Ich denke eher, dass JavaDB oder H2 (was ich so nach ein bisschen suchen gelesen habe) passend sein sollten. 

Mir ist jedoch nicht klar, welche der beiden DBs alle meine Anforderungen erfüllt. 1 und 4 sollten mit beiden kein Problem sein, wobei mir nicht klar ist, ob der Zugriff von mehreren Programmen aus möglich ist. H2 bringt wohl eine Web-Application mit, die die Punkte 2 und 3 erfüllen sollte. Bei JavaDB ist mir das spontan nicht klar.

Punkt 5 ist für mich sehr wichtig. Bevor ich aber mich in die Installation(en) mache und evtl. eine Menge Zeit damit verschwende (als DB-Neuling), würde ich gerne wissen, ob mir jemand zu diesem und den anderen offenen Punkten hilfreiche Hinweise geben kann.

Oder gibt es eine geeignetere DB?

Oder plane ich gar mit Kanonen auf Spatzen zu schießen?

Gruß,

Matthias.


----------



## hansmueller (9. Apr 2010)

Hallo,

also bezüglich Punkt 5:
Die JavaDB (= Derby) ist ein reines Java-Programm.
Es muß nicht installiert werden. Die jar-Datei (derby.jar) muß nur so abgelegt werden, daß dein Programm diese auch findet. Dafür braucht es keine Admin-Rechte. (Es sei den, du speicherst sie dort ab, wo der normale Benutzer keine Zugriffsrechte hat.)

MfG
hansmueller


----------



## MarcB (9. Apr 2010)

Die Java DB ist für dein Vorhaben zu groß (legt halt viele kleine Dateien an und die Jars sind auch recht groß). Außerdem unterstützt sie im Embedded Mode nur 1 aktive Verbindung (Widerspricht Punkt 4).

H2 kann alles was du vor hast.
Installieren musst du (bei beiden) gar nix.


----------



## mabe42 (9. Apr 2010)

Danke für die schnellen Antworten.

Gruß,

Matthias.


----------

