Datenbank oder Textdatei?

MaggyMo

Aktives Mitglied
Hey,

ich stehe vor der Aufgabe eine Anwendung zu entwickeln, die Daten von bestimmten Objekten sortieren soll. In meinem Fall handelt es sich um ein Nachschlagewerk für Lebensmittel. Die grafische Oberfläche soll mit JavaFX programmiert werden und noch dazu soll es möglich sein, die Lebensmittel nach bestimmten Merkmalen (Bezeichnung, Art, Kalorien) zu filtern und zu sortieren. Nun stehe ich vor der Entscheidung, ob eine Textdatei reicht oder ob ich lieber eine Datenbank mit MySQL aufsetzen soll.

Bei den folgenden Punkten bin ich mir noch unsicher und vielleicht kann mir hier ja einer helfen.

Müssen die Informationen der Datenbank auf dementsprechende Objekte abgebildet werden können? - Muss für die Information: Haferkeks - Gebäck - 120 ein Objekt mit den Attributen Haferkeks, Gebäck und 120 erstellt werden?

Welche Datenbank eignet sich am besten ? : MySQL?

Reicht bei dem Auslesen der Informationen aus einer Textdatei ein Stream?

Und wieviel Zeit benötigt die Einarbeitung in das Datenbank-Thema, dabei muss man ja auch einen Datenbank-Server verwenden.


Schonmal Danke im Vorraus.
 

White_Fox

Top Contributor
Naja, kommt - wie immer - darauf an, was du willst. Wenn du einfach nur ein Datenklo brauchst um die Daten z.B. auf der Festplatte abzulegen, reicht eine Datei. Dafür extra eine Datenbank zu bemühen wäre m.E. schlechtes Design, weil völlig überzogen.

Eine Datenbank macht eher Sinn, wenn du z.B. mit mehreren Leuten gleichzeitig auf den Daten arbeiten willst.

Ich würde an deiner Stelle das Problem in eine eigene Klasse einsperren. Wenn du meinst daß du das später ändern willst, dann brauchst du nur die eine Klasse zu ändern. Noch besser ist es, wenn du an einer Stelle einfach nur die Klasse austauschen mußt. Das Strategiemuster kannst du dir ja mal anschauen.


Und wieviel Zeit benötigt die Einarbeitung in das Datenbank-Thema, dabei muss man ja auch einen Datenbank-Server verwenden.
Es soll Fälle geben, da kriegen die Leute schon nach einem Nachmittag Datenbankzugriffe zustande, und bauen noch am Abend eine Datenbank in ihr Programm ein.
Und es gibt Leute, die verdienen ihr Geld ausschließlich mit Datenbankkram und machen nichts anderes.

Wieviel Zeit du in die Einarbeitung stecken willst hängt sehr stark davon ab, wie gut du das machen willst.
Um mal ein echtes Negativbeispiel zu bringen: Ich mußte mal Produkte für eine Firma in deren Warenwirtschaftsproduktmanagementschlagallestotprogramm einpflegen. Das war nichts selbstgestricktes, sondern die Firma hat für das Programm recht viel Geld bezahlt.
Preise und Produkte wurden von den Herstellern als Textdateien (GAEB-Format wenn ich mich recht erinnere) angeliefert.

Dieses verfluchte Drecksprogramm hat tatsächlich stundenlang an der Datenbank rumgeeiert, um eine Handvoll simpler Textdateien (die größte war ca. 20kB groß, insgesamt lag die Daten"menge" definitiv <1MB) in die Datenbank einzutragen. Ich habe damit erst um 1600 anfangen können, damit die anderen in Ruhe arbeiten konnten, und bin erst um 1900 oder 2000 in den Feierabend.

Überleg dir selbst, wo dein Anspruch liegt.

Da ich finde, das bei solcher Frickelsoftware Roß und Reiter genannt gehören: Das verfluchte Drecksprogramm hieß übrigens Mosaik, Firmenverwaltungssoftware von Moser. Das muß etwa 2017 oder so gewesen sein.
 
Zuletzt bearbeitet:

MaggyMo

Aktives Mitglied
Naja, kommt - wie immer - darauf an, was du willst. Wenn du einfach nur ein Datenklo brauchst um die Daten z.B. auf der Festplatte abzulegen, reicht eine Datei. Dafür extra eine Datenbank zu bemühen wäre m.E. schlechtes Design, weil völlig überzogen.

Eine Datenbank macht eher Sinn, wenn du z.B. mit mehreren Leuten gleichzeitig auf den Daten arbeiten willst.

Ich würde an deiner Stelle das Problem in eine eigene Klasse einsperren. Wenn du meinst daß du das später ändern willst, dann brauchst du nur die eine Klasse zu ändern. Noch besser ist es, wenn du an einer Stelle einfach nur die Klasse austauschen mußt. Das Strategiemuster kannst du dir ja mal anschauen.

Also ich muss im Rahmen meines Studiums eine Anwendung entwickeln, die das Filtern, Sortieren und Suchen von verschiedenen Daten über eine Oberfläche ermöglichen soll. Die Daten werden also nur von mir verändert, sie müssen halt nur von außen aufrufbar sein.
 

White_Fox

Top Contributor
Schau dir meinen Edit im vorherigen Beitrag an.

Gerade dann solltest du zusehen, etwas handwerklich vernünftiges abzuliefern.
Programmierer und Softwareentwickler, die wie im o.g. Beispiel die Zeit ihrer Benutzer derart verschwenden, gehören geteert, gefedert, ausgepeitscht und durch die Straßen getrieben. Und zwar in allen Städten, wo Benutzer ihrer Software wohnen.
Also, mach es ordentlich. ;)
 

LimDul

Top Contributor
Wenn Datenbank würde ich bei der Anforderung die du hast, auf eine embedded DB wie H2 oder sqlite setzen.

Grundsätzlich ist das aber etwas, was bei vernünftigen Software-Design (fast) vollkommen egal. Du hast Daten-Objekte, die können gespeichert und geladen werden. Und ob die in einer Datenbank landen, in einer Textdatei oder übers Netzwerk gelesen/geschrieben werden sollte deinem Programm vollkommen egal sein.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Datenbank in eine Textdatei speichern Java Basics - Anfänger-Themen 13
J Textdatei in Datenbank? Java Basics - Anfänger-Themen 2
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
M Daten aus errechneter Methode in Datenbank(SQLite) schreiben Java Basics - Anfänger-Themen 60
S Best Practice Fragen zu Projektstruktur einer Datenbank-Abfrage-App (MVC) Java Basics - Anfänger-Themen 13
I Element n aus Datenbank Query (JPA / Hibernate) Java Basics - Anfänger-Themen 3
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
S OOP Java Eingabe in verschiedene Datenbank Tabellen eintragen Java Basics - Anfänger-Themen 7
I H2 Datenbank starten / Daten in File speichern Java Basics - Anfänger-Themen 25
E schneller von der Datenbank abfragen Java Basics - Anfänger-Themen 15
E Datenbank Spalte zusammenzählen Java Basics - Anfänger-Themen 2
R Datenbank Java Basics - Anfänger-Themen 1
I API Key´s in der Datenbank decrypt / encrypten? Java Basics - Anfänger-Themen 23
I Werte (u.a. Geldbeträge) in Datenbank speichern und Rundungen? Java Basics - Anfänger-Themen 8
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
S Datenbank Befehl nach Login Java Basics - Anfänger-Themen 5
S Datenbank Tabelle eine Zeile an einer bestimmten Stelle einfügen Java Basics - Anfänger-Themen 2
M Von der Datenbank zum Textfield Java Basics - Anfänger-Themen 16
R Best Practice Logik in der Datenbank oder in Java? Java Basics - Anfänger-Themen 3
R Datenbank-Werte dynamisch ausgeben Java Basics - Anfänger-Themen 19
B Frage zu Datenbank Design - Rechnungen, Angebote... und deren Positionen Java Basics - Anfänger-Themen 4
B Datenbank: Entity mit vielen Referenzen? Ansatz so ok? Java Basics - Anfänger-Themen 8
T Datenbank | Welche am Sinnvollsten? Java Basics - Anfänger-Themen 5
S Daten speichern, ohne Datenbank Java Basics - Anfänger-Themen 8
L Daten aus ArrayList in Datenbank durchsuchen Java Basics - Anfänger-Themen 5
M Datenbank in jTable Laden Java Basics - Anfänger-Themen 49
M Datenbank verbindung Java Basics - Anfänger-Themen 19
J Java Verbindung mit mysql Datenbank Java Basics - Anfänger-Themen 3
B Datenbank, aktuelle Ende als Zahl an Label übergeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
B Treetable (rekursive Funktion) aufbauen von Datenbank Java Basics - Anfänger-Themen 4
R Input/Output Verbindung mit mySql-Datenbank Java Basics - Anfänger-Themen 9
D Compiler-Fehler Wert auf Datenbank übertragen und Sleep Thread Java Basics - Anfänger-Themen 3
N (Java) Regristrierung und Login System mit einer Datenbank Java Basics - Anfänger-Themen 5
J Datenbank Zugriff Java Basics - Anfänger-Themen 24
J Mit JSF Formular in Datenbank schreiben Java Basics - Anfänger-Themen 3
DaCrazyJavaExpert Verschiede Aktionen der Datenbank getrennt durchführen Java Basics - Anfänger-Themen 4
DaCrazyJavaExpert Datenbank wird nicht erstellt Java Basics - Anfänger-Themen 31
E Daten gehen nicht in Datenbank Java Basics - Anfänger-Themen 14
C JTable update mit MySQL Datenbank Java Basics - Anfänger-Themen 1
Meeresgott OOP Gui, Logik und Datenbank richtig aufbauen Java Basics - Anfänger-Themen 43
B Schreiben von zu vielen Einträgen in einer Datenbank Java Basics - Anfänger-Themen 9
S Datenbank auf Knopfdruck abfragen Java Basics - Anfänger-Themen 8
M Java als Webanwendung mit Datenbank abfrage Java Basics - Anfänger-Themen 3
N Datenbank mit GUI verbinden - Wie? Java Basics - Anfänger-Themen 5
1 Datenbank in Java Java Basics - Anfänger-Themen 1
M Erste Schritte Java Applet - HTML Seiten auslesen und in Access Datenbank schreiben? Java Basics - Anfänger-Themen 15
J Bücher Datenbank Java Basics - Anfänger-Themen 5
S Best Practice MVC und große Datenmengen aus einer mySQL - Datenbank Java Basics - Anfänger-Themen 24
J Datum und Uhrzeit in Datenbank falsch hinterlegt Java Basics - Anfänger-Themen 13
R Erstversuch Datenbank Java Basics - Anfänger-Themen 6
I Daten speichern ohne Datenbank Java Basics - Anfänger-Themen 20
A Erste Schritte Verbindung zu MySQL Datenbank herstellen Java Basics - Anfänger-Themen 7
T Sql Datenbank - variable übergeben? Java Basics - Anfänger-Themen 8
C Passwörter möglichst sicher in Datenbank speichern Java Basics - Anfänger-Themen 18
W Erste Schritte Exceltabelle in Datenbank übertragen mittels XDEV Java Basics - Anfänger-Themen 7
J GUI mit phpMyAdmin Datenbank verbinden Java Basics - Anfänger-Themen 0
K Erste Schritte Datenbank SQL erklärung Java Basics - Anfänger-Themen 15
B Lokale Datenbank Java Java Basics - Anfänger-Themen 2
B Klassen Doppelte werte Filtern XML, Datenbank und DOM Java Basics - Anfänger-Themen 3
Todesbote Int Array mit Hibernate in Datenbank speichern. Java Basics - Anfänger-Themen 2
U Datenbank in Java Java Basics - Anfänger-Themen 8
M Keine Datenbank verbindung Java Basics - Anfänger-Themen 14
N mit Werten aus einer mysql datenbank in java rechnen Java Basics - Anfänger-Themen 17
Q Datenbank nicht über separaten Server Java Basics - Anfänger-Themen 4
B Dateiname in Datenbank schreiben Java Basics - Anfänger-Themen 2
J fortlaufende Objekte durch Variable auswählen; Datenbank Java Basics - Anfänger-Themen 4
S ArrayList in mysql Datenbank speichern Java Basics - Anfänger-Themen 6
C Datenbank - Welche Java Basics - Anfänger-Themen 5
B Java Objektorientierte Datenbank - Assoziation Hilfe Java Basics - Anfänger-Themen 4
G Input/Output Serialisierung oder Datenbank Java Basics - Anfänger-Themen 6
J Erste Schritte Objekte in Datenbank speichern Java Basics - Anfänger-Themen 26
A Android Datenbank gaaanz einfaches Insert geht nicht - warum? Java Basics - Anfänger-Themen 4
L Erste Schritte Datenbank Zugangsdaten sicher? Java Basics - Anfänger-Themen 15
S Input/Output Primzahlen Datenbank Java Basics - Anfänger-Themen 11
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
K Input/Output Datenbank Java Basics - Anfänger-Themen 27
M Datenbank in die Gui Java Basics - Anfänger-Themen 4
J JTable mit Daten aus Datenbank füllen Java Basics - Anfänger-Themen 3
F Erfassung von PCs in eine SQLite-Datenbank über JDBC Java Basics - Anfänger-Themen 9
T Datenbank Abfrage Exception Null Java Basics - Anfänger-Themen 2
M Brauche ich ein Datenbank oder nicht? Java Basics - Anfänger-Themen 6
D JDBC Datenbank fail?! Java Basics - Anfänger-Themen 20
A Problem beim einfügen in eine Datenbank Java Basics - Anfänger-Themen 2
F Classpath Datenbank ... nur wo? Java Basics - Anfänger-Themen 24
H Datenbank suche in kleine Schritte Java Basics - Anfänger-Themen 6
B Personalnummer aus Datenbank Java Basics - Anfänger-Themen 3
M Welche Datenbank? Java Basics - Anfänger-Themen 5
J RadioButtonInhalt in Datenbank übergeben Java Basics - Anfänger-Themen 3
R Datenbank bei Klassenverteilung führt zu NullPointerException Java Basics - Anfänger-Themen 7
J PW von Datenbank wie abspeichern? Java Basics - Anfänger-Themen 2
F Verbindung zu MySql Datenbank Java Basics - Anfänger-Themen 4
MU5T4NG JPasswordField als Hash in Datenbank abspeichern Java Basics - Anfänger-Themen 3
J Kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
J Eigene kleine Datenbank programmieren Java Basics - Anfänger-Themen 2
F Collections Datenbankdaten in einer Map speichern, bearbeiten, sortieren und wieder in Datenbank schreiben Java Basics - Anfänger-Themen 20
T Zugangsdaten für Datenbank in Java-Programm speichern? Java Basics - Anfänger-Themen 5
S Schnittstelle für Datenbank bzw. Dateiformat Java Basics - Anfänger-Themen 2
C ComboBoxModel mit Daten der Datenbank verändern Java Basics - Anfänger-Themen 2
T Datenbank automatisch erzeugen beim ersten Start Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben