# db-neuling



## diggaa1984 (12. Nov 2008)

hiho, sry wegen titel aber nach 10 versuchen fällt einem nix weiter ein ^^

*problem:* 
Datenbanken an sich sind mir n Begriff und Abfragen auch etc., aber noch nie was in eine Anwendung integriert. 
So nun die erste Frage ... eingebettet oder extra-laufend.
Also eingebettet (sprich keine extra Server-service!?) wäre mir lieber und da bin ich bisher auf H2 und ApacheDerby gestoßen in dem Forum. Andere Variante wäre das ne externe DB rumliegt, und ich meine Anwendung (reine desktop-anwendung) ankoppel - wäre aber weniger schön. 

Was ich mir nun nicht beantworten konnte ... Ist es möglich auf sone eingebettete DB von versch. Rechnern aus zuzugreifen? Ich muss ja da nen host etc angeben, könnte man das dann über nen lokales Netzwerk laufen lassen? 

Idee also:

Rechner 1: hat die daten der eingebetteten DB (datei-modus oder sowas, eben Ablage auf Festplatte)
Rechner 1,2,3,4: können durch die Anwendung auf diese Daten zugreifen, manipulieren und weiss der geier was

ne extra datenbank wäre für meine begriffe auch sauberer, aber rein administrationstechnisch dürfte da keine arbeit über bleiben, oder später auftauchen. Die Daten an sich sind auch nicht zeitkritisch oder dergleichen, maximal 10 Arbeitsplätze, welche die Datenbank einsehen können. Manipulationen eher "selten".

schnittstelle hätte ich Hibernate genommen, wegen Forensuche und wegen der flexibilität durch die config-files und weils halt empfohlen wird, wenn ich hier so lese ^^

Äh ich hoffe ihr könnt mir n bissel helfen, was für mich das beste wäre ... also grob gefragt:

netzwerkzugriff auf diese eingebetteten systeme möglich?
Hibernate und Apache-Derby gute wahl oder beisst sich da was? 

gruss der diggee


----------



## tfa (12. Nov 2008)

Du kannst diese Java-DBs wie H2 und Derby auch im "Server-Modus" laufen lassen. Die verhalten sich dann wie ein normaler DB-Server, auf den du von verschiedenen Clients zugreifen kannst.
Oder du baust die Software gleich 3schichtig, also mit Application-Server. Dann kann die DB wieder eingebettet in dem Server-Programm laufen. Das ist allerdings technisch anspruchsvoller.


----------



## diggaa1984 (12. Nov 2008)

interpretier ich eben als:

Server-Modus = client aufmachen, connecten, lesen, schreiben, etc. ... Server ist quasi vorhanden wenn ich zugreifen will, ohne das ne zusätzliche Anwendung läuft oder nen Service.

bzw 2. Lösung als aktive Anwendung, welche den Server am Leben hält, im übertragenen sinn. Beendet man diese Anwendung, so ist kein Zugriff mehr auf den Server möglich, da eingebettet in diese Anwendung.

wäre die 1. Variante natürlich bequemer

so?  :roll:


----------



## tfa (12. Nov 2008)

Wenn die DB im Server-Modus gestartet wird, läuft natürlich eine eigene Anwendung, nämlich der DB-Server.
z.B. Derby: http://db.apache.org/derby/papers/DerbyTut/ns_intro.html


----------



## diggaa1984 (12. Nov 2008)

hm die seite gefällt mir 

werd ich mal ein wenig rumspielen. Hibernate ist dahingehend ja nicht mehr nötig, und würde nur JDBC ersetzen in dem fall oder? ... will erstma nicht mehr machen als nötig ^^


----------



## tfa (12. Nov 2008)

Warum sollte Hibernate dann nicht mehr nötig sein? (Mal abgesehen davon, dass es nie _wirklich_ nötig ist.)


----------

