# Wahl von Datenbanktyp



## ie (6. Apr 2012)

Liebe Java-Gemeinde,

ich bin dabei, eine kleine Datenbank-Anwendung zu programmieren.
Hatte dabei ursprünglich an eine .mdb-Datenbank gedacht und die zu Testzwecken auch brav in der Systemsteuerung eingetragen. Funktioniert soweit auch.
Weil ich aber nicht will, dass mein User das auch in der Systemsteuerung eintragen muss und ich gelesen hab, dass man dafür Access installiert haben muss, hab ich mich auf die Suche nach nem anderen Datenbanktypen gemacht. Dabei wurde ich von der Vielfalt regelrecht erschlagen.

Folgende Eigenschaften sollte die Datenbank haben:
- sollte in einer einzelnen(einzigen) Datei vorliegen
- muss keine Multimediainhalte oder Dateien verwalten können
- Datenbank (Datei) sollte aus dem Java-Programm heraus angelegt werden können
- Sollte sich mit SQL bearbeiten lassen
- Muss auf jeden Fall unter Windows laufen, Plattformunabhängigkeit wäre aber wünschenswert.
- Ich sollte die Datenbank auch in einem Datenbankverwaltungsprogramm (Ähnlich Access/ LibreOffice-Base/PHPMyAdmin) anzeigen und bearbeiten können


Wer kann mir einen Datenbanktypen mit dazugehörigem Treiber empfehlen? Vielen Dank!


----------



## tfa (6. Apr 2012)

H2 Database Engine erfüllt deine Anforderungen bis auf vielleicht die erste.


----------



## Lumaraf (6. Apr 2012)

Mir fallen da spontan 3 mögliche Kandidaten für dich ein. Die kann man afaik alle ohne extra Server verwenden und laufen überall wo ein passende Java-Version verfügbar ist.

H2 Database Engine
HSQLDB
Mckoi SQL Database


----------



## turtle (6. Apr 2012)

Es gibt viele Datenbanken wie hier zusammengefast ist.

Daher kannst Du dir aus der Menge an Db's eine aussuchen. Ich nehme häufig Derby.


Zu Deinen Anforderungen habe ich folgendes beizutragen:


> - sollte in einer einzelnen(einzigen) Datei vorliegen


Das verstehe ich nicht, warum das wichtig sein soll. Derby legt die Datenbank immer in einem Ordner ab,. Darin sind spezifische Dateien enthalten, die den Inhalt der Tabellen und deren Indizes enthalten.


> - muss keine Multimediainhalte oder Dateien verwalten können


kann Derby in BLOB oder CLOP Spalten verwalten.


> - Datenbank (Datei) sollte aus dem Java-Programm heraus angelegt werden können


Klar geht das. Mein Lielingsframework myBATIS  kann natürlich auch DDL-Befehle an die DB schicken.


> - Sollte sich mit SQL bearbeiten lassen


Ich nehme immer Squirrel, aber es sollte jedes Tools funktionieren das eine JDBC-Verbindung unterstützt.


> - Muss auf jeden Fall unter Windows laufen, Plattformunabhängigkeit wäre aber wünschenswert.


Daher bevorzuge ich Derby (a.ka. JavaDB)


> - Ich sollte die Datenbank auch in einem Datenbankverwaltungsprogramm (Ähnlich Access/ LibreOffice-Base/PHPMyAdmin) anzeigen und bearbeiten können


Für mich reichen Tools wie Squirrel aus, alles andere kann hoffentlich mein Programm.


----------



## ie (7. Apr 2012)

Danke euch erstmal!
Ich muss mich jetzt mal einlesen und versuchen, mit den Datenbanken klarzukommen 
Wundert euch also nicht wenn ihr erstmal nix von mir hört.


----------

