Datanbank für Java-Programmierung

publicmain

Mitglied
Hallo,

ich suche eine kostenlose Datenbank für den Privatgebrauch.

Ich habe bereits mysql und (eine wohl unbekannte Datenbank namens) mariadb heruntergeladen und installiert, aber ich hatte keine Ahnung, wie ich die Datenbanken öffne und benutze, darum habe ich sie wieder gelöscht.

Kann mir jemand eine kostenlose Datenbank nennen, die man einfach installiert und anspricht? Oder mir gegebenfalls sagen, wie man mysql installiert und benutzt?

Ich hätte gerne etwas wie hsqldb. Das konnte ich herunterladen und direkt über einen Manager öffnen und Tabellen erstellen etc. Natürlich möchte ich danach auch per Java auf die Datenbank zugreifen können.

Vielen Dank für eure Hilfe!
 

Dukel

Top Contributor
MySql ist ein Client/Server DB System. Du installierst den Server und greifst mit diversen APIs oder Management Tools darauf (für MySql gibt es "MySql Workbench"). Btw. MariaDB ist ein fork von MySql.
Wieso nimmst du dann nicht hsqldb, wenn du das schon kennst?

Du solltest unterscheiden und wissen was du willst. MySql (alternativ: Postgresql, Oracle, MsSql,...) sind Serversysteme. Diese installiert man und greift mit einer API idR übers Netzwerk auf den Dienst zu.
Hsqldb (Alternativ: SqlLite, H2, MsSql Compact,...) sind Datenbanken, die zusammen mit einer Applikation genutzt werden.

Was hast du denn generell vor? Hast du die MySql Dokumentation angeschaut http://dev.mysql.com/doc/refman/5.7/en/ ?
 

mirisbowring

Bekanntes Mitglied
Was in Java für den Privatgebrauch recht Sinnvoll sein kann, ist DerbyDB (von Apache)...
Seit Java 5 oder so ist die Standart im JDK...
Diese DB kann man sowohl embedden (also in die Applikation einbinden, sodass kein DBServer gestartet werden muss), als auch als Netzwerk Datenbank nutzen. Dazu importierst du lediglich die Derby.jar(für embedded) oder DerbyClient (für Netzwerk) in dein Projekt.
Die Jars findest du unter:
Java>JDK>DB>lib
Anschließend öffnest du im Code eine Verbindung, benennst die Datenbank, lädst den "Treiber", etc.

Hier wird lediglich Java und eine Entwicklungsumgebung benötigt... ;)
 

SeriousD0nkey

Bekanntes Mitglied
Was hast du denn genau vor? Willst du eine clientseitige Anwendung oder eine serverseitige Anwendung entwickeln?
Clientseitig würde ich, wie mein Vorposter schon geschrieben hat Derby bevorzugen (da von Haus aus schon dabei), willst du serverseitig programmieren, dann kannst du auch sehr gut MySQL nehmen (zum Testen kannst du dir XAMPP installieren, da ist dann ein Apache Webserver, MySQL und phpMyAdmin (grafische Webanwendung für die Datenbankverwaltung) dabei).
 

Devox

Mitglied
Meine Idee wäre du nutzt SQLite. Brauchst keinen Server installieren, was dir bei deiner Unerfahrenheit aufjedenfall zugute kommt.
SQLite ist lediglich eine Datei auf deinem Computer und bietet auch inzwischen eine recht Umfangreiche Funktionalität.
 

mirisbowring

Bekanntes Mitglied
Meine Idee wäre du nutzt SQLite. Brauchst keinen Server installieren, was dir bei deiner Unerfahrenheit aufjedenfall zugute kommt.
SQLite ist lediglich eine Datei auf deinem Computer und bietet auch inzwischen eine recht Umfangreiche Funktionalität.
Da finde ich Derby ehrlich gesagt etwas sinnvoller... (nicht schwieriger, ein Ordner statt einer Datei und etwas umfangreicher)...
 

lam_tr

Top Contributor
Hallo mirisbowring,
ich weiss passt eventuell nicht zu dieser Topic, aber ich benutze momentan h2, aber was spricht den genau für Derby? Wird die Datenbank als Verzeichnis - Datei abgelegt?

Viele Grüße
lam
 

mirisbowring

Bekanntes Mitglied
@lam_tr ,
mit H2 habe ich mich nur flüchtig beschäftigt (habe aber in Erinnerung, dass sie Derby sehr ähnelt).

Wenn man mit Derby eine embedded Datenbank erstellt, wird diese beim Erstellen als Verzeichnis im Installationsordner (bzw. da wo die anderen Klassen liegen) abgelegt. Der Name des Verzeichnisses ist der selbe wie der der Datenbank.

Außerdem kann man erstmal nicht an die Daten ran, da die nicht nur Verschlüsselt sind, sondern auch merkwürdig in verschiedene Dateien aufgesplittet werden (ich habe das System dahinter noch nicht entdeckt), es werden also nicht eine Datei pro Tabelle, Spalte o.ä. erstellt. Das gewährt unter anderem ein gewissen Grad an Datenschutz (für meine Bisherigen Projekte sehr von Bedeutung).

Ein anderer Punkt ist, dass Derby wie bereits geschrieben in jedem JDK ab der Version 6 enthalten ist. Für mich ein weiterer Punkt, da ich des Öfteren die Geräte, auf denen ich programmiere, tausche, am selben Programm schreibe und ich bei einigen Geräten kaum Rechte habe. Hier importiere ich lediglich die Library, welche dann in das Jar bzw. exe, o.ä. mit integriert wird.

Um eine Verbindung zu öffnen, oder die Datenbank zu erstellen benötige ich nur 5 Zeilen (glaube ich), ist also schnell getan.

Da die Klasse nur 2 MB groß ist, und man ja nicht das ganze jar mitnehmen muss, sondern nur die verwendeten Klassen/Methoden, kann man von einer effizienten Speichernutzung (relevant für Microcomputer) reden.

Außerdem ist Derby (JavaDB) von der Syntax her sehr nah an Java dran...

Ich möchte nicht sagen, dass Derby die beste Datenbank ist (es gibt sehr viele andere gute und vielleicht auch bessere). Ich habe bisher mit einigen Datenbanken gearbeitet und bin letztendlich bei dieser geblieben. Als Netzwerk basierte Datenbank würde ich Derby allerdings nicht benutzen (da gibt es definitv bessere).

Wenn du mit H2 zufrieden bist, kannst du ruhig dabei bleiben :)
Dennoch lohnt sich ein Blick auf Derby.


MfG

mirisbowring
 

buggy84

Bekanntes Mitglied
Für kleine Anwedungen reicht Derby aus. Wenn sich der TS nicht mit Datenbanken auskennt, sollte hier zuerst angesetzt werden. Nachdem der Wissensstand ausreichend ist, kann man auch z.B. XAMP nehmen, und schnell und unkompliziert eine Datenbank aufzubauen und zu administrieren.
Ohne sich mit dem Thema zu beschäftigen, scheitert das Projekt. Mit Datenbanken zu arbeiten ist eben nicht unbedingt das trivialste.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Apache DERBY - Datanbank erstellen Datenbankprogrammierung 2
D Verknüpfung auflösen für Frontend Datenbankprogrammierung 7
R Beste Lösung für User Erstellung in mongodb Datenbankprogrammierung 1
I SaaS Applikation: pro Kunde eine Datenbank / Schema oder eine DB für alle Kunden? Datenbankprogrammierung 76
O apache derby in eclipse für Datenbanken einbauen Datenbankprogrammierung 3
Zrebna Empfehlung für ein kostenloses DB-Hosting gesucht Datenbankprogrammierung 6
M Lösungsvorschläge für Multi-User Datenbankprogrammierung 1
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
Kirby.exe Denkanstoß für Ranking Datenbankprogrammierung 1
L Oracle Repräsentative Namen für die Column Types Datenbankprogrammierung 9
OnDemand Struktur für Parent / Child Produkt Datenbankprogrammierung 5
N ORM für Sqlite Datenbankprogrammierung 4
I Konzept: Klasse / Entity für Einstellung der Software Datenbankprogrammierung 3
H suche eine Login system Bibliothek für Java Datenbankprogrammierung 5
ruutaiokwu MySQL MariaDB-Client-Zertifkate, nur für einen bestimmten User Datenbankprogrammierung 5
B Datenmodell für Regeln + Bedingungen & Referenz auf andere Tabelle Datenbankprogrammierung 12
O Dokumentation für MariaDB 10.3. Datenbankprogrammierung 2
F MariaDatabase Einstellungen für Verbindungen Datenbankprogrammierung 5
Dimax MySQL Trigger für eine Spalte Datenbankprogrammierung 5
Dimax MySQL Maximale Datenlänge für eine Spalte einer Datenbank in java ermitteln Datenbankprogrammierung 15
platofan23 MySQL Java Programm findet Treiber für mySQL auf Debian-Server nicht? Datenbankprogrammierung 11
B Brauche Tipps für Datenbankdesign Datenbankprogrammierung 8
B Tabelle für "wiederkehrende Rechnungen" Datenbankprogrammierung 12
Danloc Informationen für Datenbankverbindung wo/wie speichern? Datenbankprogrammierung 11
J Warum sind Sockets für einen Live-Chat sinnvoll? Datenbankprogrammierung 8
R Java-Befehle/Operatoren für copy&paste Datenbankprogrammierung 2
X PostgreSQL Datenbankdesign für Vokabeltrainer Datenbankprogrammierung 48
@SupressWarnings() HSQLDB Datenbank für mein Dorfbauspiel "Time of Kings" Datenbankprogrammierung 6
M Idee Umsetzung //NFC Eintrittskarten für Geburtstag Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
M Feedback für neues Buch über "Java und Datenbanken" erwünscht Datenbankprogrammierung 8
J SQLite Ich muss für mein Projekt meine Datenbank Kapseln Datenbankprogrammierung 2
J Tipps für ERM Datenbankprogrammierung 4
P Highlevel-Lösung für Speicherung von Baumstruktur mit unbekannter Tiefe Datenbankprogrammierung 1
F welche Datenbank für Messwerte? Datenbankprogrammierung 4
E Warum werden für Datenbanktabellen Schemanamen festgelegt? Datenbankprogrammierung 1
M DB Schema für Vokabeltrainer Datenbankprogrammierung 2
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
E Kann man, wenn man in DB2 Tabellen erstellt hat für dessen auch einen Command-File erstellen? Datenbankprogrammierung 1
T NoSQL Connection für die Thesis [GWT] Datenbankprogrammierung 1
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
S HSQLDB Fehlermeldung für den Bildschirm Datenbankprogrammierung 3
L Datenmodell erstellen für eine Nutzertanalyse Datenbankprogrammierung 1
I Query für Geburtstage Datenbankprogrammierung 6
L Zentrale Datenbank im Internet für Spiele Highscores? Datenbankprogrammierung 1
P Derby/JavaDB Csv Datei für dieses Musterprogramm Datenbankprogrammierung 12
ruutaiokwu code-formatter für t-sql... Datenbankprogrammierung 12
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
T Mehrsprachigkeit für Tabellenfelder Datenbankprogrammierung 6
E MySQL Große Datenmengen reibungslos speichern für Gameserver Datenbankprogrammierung 6
F MSSql oder MongoDB für die Speicherung von POI Datenbankprogrammierung 9
G SQLite SQLite Select für View vereinfachen/optimieren Datenbankprogrammierung 4
P MySQL Historie für ein Objekt anlegen Datenbankprogrammierung 5
P MySQL eine richtige Datenbank für einen routenplaner erstellen Datenbankprogrammierung 2
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J Datenbank für Fragen/ Antworten Datenbankprogrammierung 7
O Datenbankschnittstelle für Java Datenbankprogrammierung 8
L Datenbank für kleinere Anwendungen Datenbankprogrammierung 3
N Query für Derby DB mit Enterbrise Bean Datenbankprogrammierung 4
S ich brauche tipps für JDBC Datenbankprogrammierung 4
I Hibernate - Best Practice für Lazy Loading Datenbankprogrammierung 3
R MySQL Voraussetzungen für eine erfolgreiche Datenbankanbindung mittels JDBC Datenbankprogrammierung 2
GianaSisters SQL Befehl für allgemeine Datenbankexistenz Datenbankprogrammierung 4
B Beispiel für sicheres DBUsername/DBPassword handling Datenbankprogrammierung 4
I Anfänger-Tutorial für Hibernate gesucht Datenbankprogrammierung 3
heart_disease Beratung für Datenbankdesign Datenbankprogrammierung 13
C Embedded DB für Java Datenbankprogrammierung 26
J Unterstützung für verschiedene Datenbanken Datenbankprogrammierung 2
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
F suche Erstanschub für DB-Zugriff Datenbankprogrammierung 9
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
T ResultSet befehl für leere Spalte nicht lesen Datenbankprogrammierung 4
F Performance-Tool für Oracle Datenbankprogrammierung 2
T Kleine Tabellen für schnellere abfragen? Datenbankprogrammierung 3
C Split String für SQl query Datenbankprogrammierung 10
A update methode für datenbank Datenbankprogrammierung 2
N Datenbank für Dateien Datenbankprogrammierung 6
N Datenbank für einen Stundenplan Datenbankprogrammierung 4
G welche Datenbanktabellen für folgende Attribute Datenbankprogrammierung 3
R Connection Problem für eine externe DB mit Java (JDBC) Datenbankprogrammierung 9
S JPA (EntityManager für jeden Nutzer?) Datenbankprogrammierung 8
J Buffer Manager für Datenbank Datenbankprogrammierung 4
F SQL Voraussetzung für JDBC? Datenbankprogrammierung 10
R Bei Webformular DropDown Felder JA, NEIN! Was für einen Datentyp verwenden? Datenbankprogrammierung 7
T SSL Zertifikat für mysql datenbankzugriff Datenbankprogrammierung 6
T Debugger für SQL? Datenbankprogrammierung 5
Chtonian Effizientes Query System für Wortnachschlagewerk Datenbankprogrammierung 9
G Tabelle für Zeitraum sperren Datenbankprogrammierung 4
A Struct für Datenbank abfrage? Datenbankprogrammierung 12
O Hibernate für Eclipse Datenbankprogrammierung 5
T JPQL Query für eine Tabellenansicht Datenbankprogrammierung 2
D Sicherheit für Datenbankverbindung Datenbankprogrammierung 19
S Standard für Datenbanken Datenbankprogrammierung 3
R Entfernte MySQL Datenbank für lokale Swing-App Datenbankprogrammierung 8
Landei Mehre Werte für einen Prepared-Statement_Parameter übergeben? Datenbankprogrammierung 3
G Einheitliches Casting für Decimal und Integer-Werte Datenbankprogrammierung 5
G TippSpiel für Bundesliga programieren Datenbankprogrammierung 4
-horn- [Anfänger] Ein einfaches Beispiel für Abfrage von MxSQL? Datenbankprogrammierung 8
G persistence.xml für MySQL - Verbindung Datenbankprogrammierung 6

Ähnliche Java Themen

Neue Themen


Oben