Frage zur Datenbankwahl bei Umstieg auf Java

Wellmeier

Neues Mitglied
Hallo zusammen,
ich bin über Google auf eure Seite gestoßen. Die Forensuche hat nichts brauchbares ergeben, aber vielleicht habe ich nach den falschen Stichwörtern gesucht.

Folgende Situation:
Ich habe bisher in einem Excel File Daten zu Personen gespeichert. Es sind rund 40 Personen und zu jedem wurde drei Datenblätter mit jeweils ca. 100 Daten (Nur Text) abgespeichert. Das dies in Excel geschah kam aus der Not heraus. Uns war schnell klar, dass eine Datenbank her müsste. Nun bin ich am überlegen, in welche Richtung ich gehen sollte.

Ich habe früher mit Access und ASP gearbeitet, dies kommt allerdings nicht in Frage. Das Problem ist nämlich, dass ich einerseits einen compilierten Programmcode für später möchte, damit den nicht jeder mitnimmt und verändert (auch wenn ich das mitnehmen kaum verhindern kann :)). Andererseits muss das spätere Programm und die Datenbank auf einem Rechner laufen, auf dem wir nichts extra installieren können. Gestartet werden soll das Programm von einem Netzwerklaufwerk aus, auf dem die Daten auch liegen sollen, damit man sie von mehreren Rechnern (nicht zwingend gleichzeitig) im Netzwerk bearbeiten kann. Daher klappte Excel bisher auch so schön problemlos, ist aber nun endgültig an seinen Grenzen.

Ach so Access klappt auch nicht, da es schlicht dort nicht installiert ist.

Meine Frage ist nun, ob mein Gedanke, dies in Java mit der passenden Datenbank zu realisieren gut ist oder ob ihr meint, dass ich mich anderweitig umschauen sollte.

Sollte ich trotz der Forensuche doch den entscheidenden Beitrag übersehen haben, wäre ich für einen kurzen Link dankbar.

Gruß aus Hamburg
Janko
 

Landei

Top Contributor
Da du Access schon ausgeschlossen hast, kannst du ja nicht mehr viel falsch machen :)

Ich würde an deiner Stelle erst einmal MySQL ausprobieren. Später zu einer anderen vernünftigen DB wechseln ist eigentlich kein Ding.

Der Zugriff von Java aus kann bei sehr kleinen Projekten über JDBC erfolgen, aber generell würde ich schon zu JPA oder Hibernate raten: Ein paar Annotationen, und schon übernimmt der EntityManager den ganzen Datenbank-Schrapel - das ist schon recht bequem (auch wenn Java nicht ganz an Microsofts LINQ herankommt).
 

Wellmeier

Neues Mitglied
Hallo Landei,
vielen Dank für die Antwort. Das zeigt ja, dass ich zumindest gar nicht so falsch gedacht habt. Werde mich jetzt mal bei JPA. Hibernate und MySQL einlesen.

Ich lass das hier noch ein wenig offen, falls noch weitere Vorschläge kommen.

Gruß
Janko
 
N

nillehammer

Gast
Andererseits muss das spätere Programm und die Datenbank auf einem Rechner laufen, auf dem wir nichts extra installieren können. Gestartet werden soll das Programm von einem Netzwerklaufwerk aus, auf dem die Daten auch liegen sollen, damit man sie von mehreren Rechnern (nicht zwingend gleichzeitig) im Netzwerk bearbeiten kann.
MySQL muss als Server irgendwo installiert werden. Deswegen kommt es glaube ich für Dich nicht in Frage. Am ehesten wirst Du was mit embedded Java-DBs. Da gibt's mehrere, ich finde HSQLDB am besten.
 

ThreadPool

Bekanntes Mitglied
MySQL muss als Server irgendwo installiert werden.[...]

Das stimmt doch gar nicht. Es gibt eine MySQL noinstall Variante, da muss man nur 2-3 Optionen vorkonfigurieren und dann liefert man das ganze Geraffel als Zip zu seiner Software mit. Das Entpacken und an die richtigen Stellen kopieren kann man über einen Installer machen oder innerhalb des eigenen Programmes, das die Datenbank natürlich auch ordnungsgemäß startet und runterfährt. Man kann das sogar soweit treiben das die Datenbankdateien wg. der Schreibrechte im User-Ordner abgelegt werden und die Excecutables im Programmordner liegen, so machen wir das z.B.
 

tfa

Top Contributor
Das Entpacken und an die richtigen Stellen kopieren kann man über einen Installer machen oder innerhalb des eigenen Programmes, das die Datenbank natürlich auch ordnungsgemäß startet und runterfährt. Man kann das sogar soweit treiben das die Datenbankdateien wg. der Schreibrechte im User-Ordner abgelegt werden und die Excecutables im Programmordner liegen, so machen wir das z.B.
Mit einer embedded Java-DB (ich bevorzuge H2) brauchst du auch das alles nicht. Kein Auspacken, Entzippen, Kopieren oder Hoch- und Runterfahren. Einfach ein JAR in den Klassenpfad und fertig.
 

ThreadPool

Bekanntes Mitglied
Mit einer embedded Java-DB (ich bevorzuge H2) brauchst du auch das alles nicht. Kein Auspacken, Entzippen, Kopieren oder Hoch- und Runterfahren. Einfach ein JAR in den Klassenpfad und fertig.

Da die Schritte nicht aktiv vom User gemacht werden müssen ist mir das egal. Des Weiteren ist ein JAR was wohl auch in einem externen Verzeichnis liegt das Äquivalent zum Executable und davon abgesehen müssen die Datenbankfiles, wenn man sie persistieren möchte auch irgendwo landen wo man schreiben darf. Den einzigen Vorteil den ich da gerade sehe ist das es mit den eingebetteten Lösungen etwas bequemer geht.

Aber darum ging es mir nicht sondern um die Widerlegung der Aussage das man MySQL zwanghaft installieren müsste.
 
N

nillehammer

Gast
ThreadPool hat gesagt.:
Aber darum ging es mir nicht sondern um die Widerlegung der Aussage das man MySQL zwanghaft installieren müsste.
Und das war auch i.O., denn das wusste ich tatsächlich nicht. Das Muss-Kriterium "es darf nichts zu installieren sein" erfüllt dann wohl auch MySql. Aber abgesehen davon, kommt man mit embedded Java-DBs dem ürsprünglichen Nutzungsmodell "Excelfiles" am nächsten.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
K HQL Frage Datenbankprogrammierung 10
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14

Ähnliche Java Themen


Oben