Datenbank - Textfiles - Anderes

CroweHammer

Bekanntes Mitglied
Sers Leute,

wie sicher einige von euch mitbekommen haben, werde ich mich in naher Zukunft daran machen ein Filmmanagement zu schreiben.
Sollte ich ein halbwegs benutzerfreundliches Programm zustande bringen, was nicht ausgeschlossen ist, stell ich mir nun folgende Frage.
Wenn ich mein Programm mehreren Leuten, die jeder einen eigenen Rechner besitzen zur Verfügung stellen will, wie bewerkstellige ich das am geschicktesten?
Ihre Daten, die sie in dem Programm z.B. für Filmeinträge speichern müssen ja immer zur Verfügung stehen, daher frage ich mich wie das normalerweise gelöst wird. Brauch ich eine eigene Installation, welche ein paar lokale Ordner auf dem vorgesehenen Rechner anlegt und ich dort meine Daten z.B. in Txt-Form übermittel. Oder geht sowas über eine Datenbank, ohne dass die User diese Datenbank bei sich auf dem Rechner selbst anlegen müssen? Wer hat Erfahrung damit oder wer weiß wie man sowas am geschicktesten löst?

gruß und danke

CroweHammer
 

Sergeant_Pepper

Bekanntes Mitglied
wie sicher einige von euch mitbekommen haben, werde ich mich in naher Zukunft daran machen ein Filmmanagement zu schreiben
im Radio kam nix, in der Zeitung stand es auch nicht, Tom Buhrow weiß von nichts ;-)
Ihre Daten, die sie in dem Programm z.B. für Filmeinträge speichern müssen ja immer zur Verfügung stehen, daher frage ich mich wie das normalerweise gelöst wird. Brauch ich eine eigene Installation, welche ein paar lokale Ordner auf dem vorgesehenen Rechner anlegt und ich dort meine Daten z.B. in Txt-Form übermittel. Oder geht sowas über eine Datenbank, ohne dass die User diese Datenbank bei sich auf dem Rechner selbst anlegen müssen? Wer hat Erfahrung damit oder wer weiß wie man sowas am geschicktesten löst?
Soll jeder Benutzer mit seiner eigenen Datenbank arbeiten? Oder sollen alle auf die gleichen Daten zugreifen?
Arbeiten die Benutzer in so etwas wie einem Team, in einer Firma, in einem Verein? Will sagen: sitzen die alle in einem Intranet?
Oder willst du damit "fremde" Leute im Internet ansprechen?
 

Sergeant_Pepper

Bekanntes Mitglied
ja, nach einer Suche habe ich den Thread gefunden.

Für so was musst du eine Server-basierte Webanwendung schreiben.

Du willst den Nutzern ja nicht zumuten, für jede Recherche auf dem lokalen System eine DB zu installieren.

MySQL und PostgreSQL kennst du ja schon, die müssen vom Webserver aus erreichbar sein.

Möglichkeiten, die Anwendung zu realisieren, gibt es sehr viele. Die Themen MVC (Model-View-Controller), Java Server Faces (JSF) könnten da interessant sein. Oder du nimmst statt JSF "Apache Wicket"... sind nur einige von vielen Schlagwörtern.

Wieviel Erfahrung hast du schon?
 
G

Gas

Gast
Wenn jeder Nutzer eine eigene Datenbank hat und diese auch nur lokal und Internet für dein Programm eigentlich auch gar nicht benötigt wird (außer vielleicht als Feature um Infos über Filme aus dem Netz zu laden), dann kann ich dir zum Speichern der Daten eine embedded H2 Datenbank empfehlen: H2 Database Engine
 

CroweHammer

Bekanntes Mitglied
Mit Derby hatte ich mein letztes Projekt gemacht. Dort gibt es auch einen embedded-Treiber, ist es dass was du meinst?
Ich hab ein wenig Erfahrung mit Derby, mySQL und PostgreSQL, allerdings hatte ich immer nur Projekte am laufen, welche ich nur auf meinem Rechner laufen lassen musste.
Richtig, natürlich will ich es niemanden zumuten, dass er vorher erst noch eine Datenbank anlegen muss.
 

Sergeant_Pepper

Bekanntes Mitglied
Richtig, natürlich will ich es niemanden zumuten, dass er vorher erst noch eine Datenbank anlegen muss.
also eine Webanwendung. Wie gesagt, ein SEHR weites Feld ...

Fang klein an.
Auf jeden Fall musst du HTML können (nicht schwierig. Kannst du schon?)
Es gibt 'ne Menge Bücher dazu... (Verlage Addison-Wesley, d-punkt)
Online-Tutorials ...(z.B. Document Information - The Java EE 5 Tutorial)

Das Thema ist viel zu groß für einen einzelnen Thread ("wie geht das?")
 

CroweHammer

Bekanntes Mitglied
wieso eine Webanwendung, das Programm läuft doch lokal auf einer Maschine, die Daten sollen ebenfalls lokal gespeichert werden und das Internet ist nur dazu da um automatische Abgleiche zu machen. Was ist die Ursache, dass du meinst es würde eine Webanwendung werden?
Html, CSS sind aber natürlich in meinem Wissenstand schon integriert.
 

Sergeant_Pepper

Bekanntes Mitglied
Ich will damit die Privatanwender ansprechen, demzufolge hat jeder seine eigenen Daten und muss nicht auf die von anderen zugreifen. Dafür würde ich höchstens eine Möglichkeit zum Im-und Export von Daten zur Verfügung stellen.
Richtig, natürlich will ich es niemanden zumuten, dass er vorher erst noch eine Datenbank anlegen muss.

Das bedeutet, dass sich Benutzer bei deiner Anwendung identifizieren müssen. Denn wenn ein Benutzer in einer Sitzung in der Web-DB Daten ablegt, dann will er sie in der nächsten Sitzung wahrscheinlich auch wieder abrufen/bearbeiten können. Jeder braucht also eine persönliche ID und einen eigenen Datenbereich (nicht gemeint: eigene DB-Tabellen).
 

CroweHammer

Bekanntes Mitglied
Lässt sich ein Login nur über das Web bewerkstelligen? Die Frage ist, ob ich überhaupt ein Login brauche für mein Filmmanagement, wenn es lokal auf einem Rechner läuft?
 

Sergeant_Pepper

Bekanntes Mitglied
wieso eine Webanwendung, das Programm läuft doch lokal auf einer Maschine, die Daten sollen ebenfalls lokal gespeichert werden und das Internet ist nur dazu da um automatische Abgleiche zu machen.
Das bedeutet: ein potenzieller Nutzer muss die Anwendung erst aus dem Web herunterladen?
Oder willst du ein Applet schreiben und das über eine HTML-Seite oder über Java-Webstart verfügbar machen? Würde ich nicht tun... Applets sind Mist.
Erst recht, wenn ein Applet, dass aus dem Internet geladen wird, auf lokal gespeicherte Daten zugreifen soll.
Html, CSS sind aber natürlich in meinem Wissenstand schon integriert.
klingt gut
 

Sergeant_Pepper

Bekanntes Mitglied
Du hast oben irgendwo geschrieben, dass lokale Daten mit einer DB auf dem Webserver abgeglichen werden sollen.
Was genau heißt das?

Was soll z.B. passieren, wenn verschiedene Benutzer (die womöglich nichts voneinander wissen), die gleichen Filme abgleichen wollen? Bedeutet abgleichen, dass die Benutzer etwas in die zentrale DB hineinschreiben können? Was soll bei widersprüchlichen Aktionen passieren? (Regisseur von "Troja"= Ridley Scott , Regisseur von "Troja"=Wolfgang Petersen)

Dein Ansatz setzt auch voraus, dass sich jeder Benutzer ein Java-Plugin herunterladen und installieren muss. Würdest du das tun, um bei eBay einzukaufen, in einem Online-Shop was zu bestellen, um bei Wetter-Online Infos zu suchen?
 

CroweHammer

Bekanntes Mitglied
okay, dann werde ich es so machen, dass man sich nicht einloggen muss, sondern, dass es einfach ein Programm wird wie man es sich vorstellt. Man öffnet es und kann damit arbeiten. Ein Datenaustausch wird dann also nur mittels Import-Export möglich sein, dass hilft weiter bei der Lösung oder?
 

Sergeant_Pepper

Bekanntes Mitglied
okay, dann werde ich es so machen, dass man sich nicht einloggen muss, sondern, dass es einfach ein Programm wird wie man es sich vorstellt. Man öffnet es und kann damit arbeiten.
OK, aber das hat dann rein gar nichts mehr mit den Beispiel-Links aus dem anderen Thread zu tun.

Ein Datenaustausch wird dann also nur mittels Import-Export möglich sein, dass hilft weiter bei der Lösung oder?
Kommt drauf an, was du unter Datenaustausch verstehst. Im einfachsten Fall lädt der Benutzer die Daten vollständig aus der Web-DB und überschreibt alle eigenen. Dabei gehen seine persönlich erfassten Informationen verloren. Wenn du das nicht willst, wird es komplizierter.
Und wenn die Benutzer die zentrale DB mit ihren eigenen Daten anreichern sollen, wird es noch komplizierter.
 

CroweHammer

Bekanntes Mitglied
ich glaub wir reden aneinander vorbei, weil im "Filmverwaltung"-Thread soviele Anregungen standen, die ich nicht alle berücksichtigen können werde.
Es gibt keine WEB-DB es soll lokal laufen. Import-Export in nicht automatisierter Form meine ich. D.h. Benutzer A exportiert sich die gewünschten Daten und kann sie an Benutzer B geben, welcher sie wieder importieren kann.
 
G

Gas

Gast
Wie ich bereits erwähnte und es auch FArt erwähnt hat: H2 Database Engine
Schau dir das mal an.

Wenn du kein SQL magst oder dich nicht darin einlernen möchtest, dann kannst du theoretisch auch die Persistenz in Dateien vornehmen. (XML oder was eigenes).
 

CroweHammer

Bekanntes Mitglied
Statt dieser H2 Engine könnte ich auch Derby verwenden, richtig?
In SQL hab ich mich schon eingelebt und das würde ich ja auch bei Derby verwenden.
Also der entscheidende Tipp wäre eine DB mit embedded Treiber zu verwenden?
 

reinsle

Mitglied
Hy

also ich denke, ob du Hsql oder Derby verwendest, ist in erster Linie egal. Du kannst beide als Embedded Datenbanken betreiben, und hast damit die Datenbank in der JVM der Anwendung mit dabei, es mus nichts mehr zusätzlich installiert werden. Wozu du dir schon ein paar Gedanken machen solltest, ist die Art der Persistierung (JPA, Hibernate, JDO ....).

Robert
 

reinsle

Mitglied
Hm, du kannst sicherlich auch rein mit SQL drauf zugreifen, aber davon rate ich dir ab. Du hast ein Objectorientiertes System und arbeitest mit Relationalen Daten.

So lang du da nur ein paar SQL-Statements brauchst, dann ja, ansonsten würde ich mir da schon eine Persistence-Schicht einziehen. Da tust du dir hinterher viel leichter.

Robert
 

CroweHammer

Bekanntes Mitglied
passt schon. ich mach den ganzen Tag nichts anderes als Programmieren, Googeln, nachdenken etc., ist mein Job. Manchmal hilft es einfach über eine Problematik mit anderen Leuten diskutiert zu haben um auf einen grünen Zweig zu kommen.

gruß
 

Sergeant_Pepper

Bekanntes Mitglied
Nein, das sollte natürlich nicht der Fall sein. Nur eine Ergänzung, sonst wärs ja sinnfrei.

Eben das wollte ich ausdrücken, als ich nachgebohrt habe. Aber dann musst du dir überlegen, wie du mit Daten-Konflikten umgehst (wenn z.B. Benutzer B Daten importieren will, die im Widerspruch zu seinen eigenen, schon vorhandenen Daten stehen)

reinsle hat gesagt.:
Hm, du kannst sicherlich auch rein mit SQL drauf zugreifen, aber davon rate ich dir ab. Du hast ein Objectorientiertes System und arbeitest mit Relationalen Daten.
So lang du da nur ein paar SQL-Statements brauchst, dann ja,

Nach meiner Meinung sollte jeder, der sich ernsthaft mit DBs beschäftigt, SQL kennen, verstehen und schreiben können. Zumindest Abfragen, die auf mehr als eine Tabelle zugreifen. SQL und DBs gehören zusammen wie mehr Meer und Strand... :)
Das soll aber kein Argument gegen Hibernate, JPA o.ä. sein.
 

CroweHammer

Bekanntes Mitglied
Ich kenne SQL, verstehe es und kann es auch schreiben und mein Programm würde sicherlich auch ohne Hibernate etc. laufen.
Allerdings ist halt die Sache, dass an dieser Stelle eine Verletzung gegen die Objektorientierung besteht, aber stört das wirklich an dieser Stelle? Ich finde nur geringfügig.
Ich bin nicht zu faul Hibernate oder ähnliches zu lernen, aber tut das wirklich not? *g*
 
J

JohannisderKaeufer

Gast
Ist es nicht völlig nebensächlich welche DB-Engine, Textfile oder welches Persistenzframework verwendet werden?

Ja, es ist völlig nebensächlich.

Für den ersten Schritt reicht es m.E. vollkommen aus simple POJOs zu verwenden.

Danach kann mein eine Schicht nach dem DAO-Pattern einziehen, bevor man sich schlußendlich für eine Persistenzgeschichte entscheidet.

Wenn die ersten Punkte halbwegs stimmen ist der Rest mit der Persistenz ein Kinderspiel.

Wenn man sich von Anfang an für SQL entscheidet, was ja legitim ist, und damit arbeitet hat man häufig seine Statements an Stellen an denen Sie nicht hingehören. Mit Hibernate kann es genauso laufen. Dann gibt es halt HSQL-Querries in der Gui, die Filme nach Schauspielern und Genre sortieren. Ein sauberer objektorientierter Ansatz und das ganze macht auch noch richtig Spaß.

Während der Entwicklung reicht es doch, wenn die ganze Anwendung transient in memory läuft.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Bilder in Datenbank speichern - sinnvoll Allgemeine Java-Themen 5
S Kochbuch bzw. Rezepte-Datenbank app mit Swing..? Allgemeine Java-Themen 5
N relativier Pfad für sqlite-Datenbank in Gradle/IntelliJ Allgemeine Java-Themen 2
Avalon Data Transfer Objekte aus Datenbank erstellen Allgemeine Java-Themen 8
B API Token in Datenbank ablegen? Allgemeine Java-Themen 9
S Einzigartigen String in Datenbank finden und löschen Allgemeine Java-Themen 23
P Datenbank-MiniGUI fügt keine Daten ein Allgemeine Java-Themen 4
Q-bert Strings aus der JList in eine Datenbank speichern Allgemeine Java-Themen 1
Meeresgott Kapselung Tabellen der Datenbank erzeugen. Allgemeine Java-Themen 7
D Daten in MySQL-Datenbank schreiben Allgemeine Java-Themen 13
looparda Unit Test - Abgänigkeit zur Datenbank isolieren Allgemeine Java-Themen 3
T Datentypen MNIST Datenbank auslesen (.gz) Allgemeine Java-Themen 0
O 2 Combobox in Abhängigkeit von der 1 Combobox (Datenbank) Allgemeine Java-Themen 1
L Daten ohne Datenbank richtig abspeichern Allgemeine Java-Themen 5
M Objekt serialisieren/deserialisieren und in einer SQLite-Datenbank speichern Allgemeine Java-Themen 3
F OOP Datenbank-Klasse überall verfübar Allgemeine Java-Themen 2
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
D OOP Design Pattern für GUI - Datenbank Anwendung Allgemeine Java-Themen 1
T Zugriff auf Datenbank Allgemeine Java-Themen 1
G Datenbank von nöten? Allgemeine Java-Themen 7
3 Backup von h2-Datenbank-Datei erstellen Allgemeine Java-Themen 6
S Java DateTime für Datenbank Allgemeine Java-Themen 4
F Alternative sun.jdbc.odbc.JdbcOdbcDriver (Access Datenbank) Allgemeine Java-Themen 2
vandread Daten verschlüsseln mit Java oder Datenbank Allgemeine Java-Themen 15
P MYSQL Datenbank Dump einspielen Allgemeine Java-Themen 1
M SQL Datenbank in JAVA Projekt Allgemeine Java-Themen 3
P iTunes Datenbank manipulieren Allgemeine Java-Themen 2
A Ausführbare Java-Datei aus Projekt und Datenbank Allgemeine Java-Themen 3
T Datenbank oder Filesystem? (E-Learning) Allgemeine Java-Themen 2
N Datei aus Datenbank öffnen mit Standardanwendung Allgemeine Java-Themen 2
J Datenbank und OO-Aufsatz Allgemeine Java-Themen 9
M BufferedReader: Vom Logfile zur Datenbank Allgemeine Java-Themen 6
P Klassen Template-Klasse für Datenbank-Abfragen erstellen Allgemeine Java-Themen 2
E JAVA Alternativen zur Datenbank? Allgemeine Java-Themen 7
Dit_ GeoKoordinaten Datenbank (nicht nur Städte) Allgemeine Java-Themen 6
J Progress Bar während Datenbank Erstellung Allgemeine Java-Themen 2
T Datenbank lässt sich un Entwicklungsumgebung öffnen, aus .jar aber nicht Allgemeine Java-Themen 9
G JNDI/LDAP/Datenbank Allgemeine Java-Themen 2
Meldanor Speichern der Datenbank - Lohnen sich mehrere Threads? Allgemeine Java-Themen 2
hdi [Free Download] Film-Datenbank Allgemeine Java-Themen 30
G Excel-Daten in Datenbank speichern - Problem mit leeren Feldern Allgemeine Java-Themen 7
K von List getSelected auf ResultSet Datenbank löschen Allgemeine Java-Themen 2
C Java Polling, Server Prozedur oder doch Datenbank? Allgemeine Java-Themen 4
H .dbf (IV) Datenbank einlesen Allgemeine Java-Themen 9
D Recipes / Codeschnipsel Datenbank für Java? Allgemeine Java-Themen 3
T MySQl Datenbank als Array ausgeben Allgemeine Java-Themen 11
M Rechenweg in Datenbank speichern und nutzen Allgemeine Java-Themen 6
O viele Datensätze aus Datenbank - Java Heap Space - Excepion Allgemeine Java-Themen 25
E Datenbank/iBatis Fehlermeldung Allgemeine Java-Themen 4
G Datenbank zur laufzeit wechseln Allgemeine Java-Themen 11
N ClassLoader - Laden von Bytecode aus einer Datenbank Allgemeine Java-Themen 6
S Speicherung von Daten: Datenbank(sql) oder xml? Allgemeine Java-Themen 9
F Vector in eine Datenbank speichern? Allgemeine Java-Themen 3
A Problem beim Starten der H2-Datenbank Allgemeine Java-Themen 4
S Datenbank Abfragen mit großen Datenmengen Allgemeine Java-Themen 22
G Datenbank-Anwendung schnell erstellen. Allgemeine Java-Themen 7
P Datenbank Tabelle spiegeln Allgemeine Java-Themen 22
E MySQL-Datenbank <-> HashMap/TreeMap Allgemeine Java-Themen 1
P Zugriff auf die DatenBank Allgemeine Java-Themen 44
H Daten aus MySQL datenbank auslesen und in ArrayList stecken Allgemeine Java-Themen 8
P Timestamp in eine Firebird-Datenbank einfügen Allgemeine Java-Themen 6
P Java Acces Datenbank Problem ! (Brauche eine Abfrage) Allgemeine Java-Themen 5
B Datenbank anlegen Allgemeine Java-Themen 10
N Datenbank vs. Filesystem Allgemeine Java-Themen 5
F datenbank oder csv etc Allgemeine Java-Themen 6
V Brauche Beratung in Sachen Java+Datenbank+Web Allgemeine Java-Themen 8
G Ab wann Datenbank verwenden Allgemeine Java-Themen 15
H sichere Datenbank-Verbindung Allgemeine Java-Themen 4
H Datenbank an ein Java Client Server Programm anschliessen Allgemeine Java-Themen 3
F lizenzfreie Datenbank für JAVA-Anwendung Allgemeine Java-Themen 3
S Zeilenausgabe Datenbank Allgemeine Java-Themen 2
S Datenbank Allgemeine Java-Themen 9
G Sichere Passwortübergabe bei Datenbank Allgemeine Java-Themen 14
L Datenbank Abfrage (Felder&Tabelle nicht fix) in ArrayLis Allgemeine Java-Themen 4
S Java Datenbank auf Festplatte installieren Allgemeine Java-Themen 2
G JComboBox mit Werten aus einer Access Datenbank füllen Allgemeine Java-Themen 18
T Java Application Server + Datenbank von CD Allgemeine Java-Themen 8
G Abfrage in datenbank Allgemeine Java-Themen 5
G Daten aus MySQL-Datenbank an JFreeChart übergeben Allgemeine Java-Themen 3
D Userdaten + Datenbank? Allgemeine Java-Themen 11
G HSQLDB Datenbank-Dateien aus Jar-Datei lesen Allgemeine Java-Themen 5
P Textfiles laden - egal welches Encoding Allgemeine Java-Themen 9
O Zeile eines Textfiles löschen Allgemeine Java-Themen 2
G Thread zum Inhaltslöschen eines Textfiles. Wie? Allgemeine Java-Themen 4
R Best Practice Erfahrungswerte für eine Migration von JSF nach Angular (oder anderes JS-Framework) Allgemeine Java-Themen 1
Drachenbauer Wie kann ich das Wort "concrete" in einem String durch ein anderes Wort ersetzen lassen? Allgemeine Java-Themen 5
Anfänger2011 Java Server oder lieber was anderes Allgemeine Java-Themen 16
C anderes Programm schließen! Allgemeine Java-Themen 5
J System.arraycopy ergibt anderes Resultat als for-loop Allgemeine Java-Themen 4
J Java Auf anderes Programm warten Allgemeine Java-Themen 9
A Anderes Fenster neu laden Allgemeine Java-Themen 16
S JTable: Model durch ein anderes ersetzen Allgemeine Java-Themen 2
B Input/Output Schneller Sort mit wenigen Zugriffen (oder was anderes?) Allgemeine Java-Themen 3
M Graphen erzeugen und visualisieren, jgraph oder was was anderes? Allgemeine Java-Themen 2
C Mit Java in einem anderes Programm eingreifen Allgemeine Java-Themen 21
M Nach Programmdurchlauf werden Zeichen falsch dargestellt + Anderes Verhalten unter Windows Allgemeine Java-Themen 6
F Anderes Java-Programm aufrufen Allgemeine Java-Themen 2
D instanceof oder was anderes? Allgemeine Java-Themen 12
S jConsole oder anderes Monitoring Tool Allgemeine Java-Themen 5
X Warum kann ich keine ZIP Datein mit renameto() in was anderes benennen? Allgemeine Java-Themen 13

Ähnliche Java Themen


Oben