Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Welche Datenbank ist am besten geeigenet? (https://www.delphipraxis.net/159861-welche-datenbank-ist-am-besten-geeigenet.html)

KahPee 15. Apr 2011 18:22

Welche Datenbank ist am besten geeigenet?
 
Hallo,

ich habe vor eine Datenbank zu erstellen, die die Daten von mehreren Tausend (5k-15k) Liedern speichert (Titel, Artist, Album, und noch 3-5 weitere Angaben pro Lied). Nun meine Frage an euch.
Mit welcher Datenbank mache ich so etwas am besten?
Wichtig ist mir, dass man diese Lieder sehr schnell durchsuchen kann. Wenn man suchst soll dabei nicht nur der Titel sondern immer Titel, Artist und Album durchsucht werden; d.h. man sucht eigentlich immer 3 mal(?!?). Es wäre außerdem gut wenn man beim weitergeben des Programms möglichst wenig weitergeben muss neben der normalen .exe. Ich weiß nicht ob es vielleicht auch eine effiziente Methode gibt wo man ohne Datenbank auskommt (ne spezielle Unit). Jedoch bezweifle ich das bei den Mengen an Lieder, die ähnlich schnell wie bei Itunes durchsucht werden sollen.

Vielen Dank!

KahPee

mkinzler 15. Apr 2011 18:27

AW: Welche Datenbank ist am besten geeigenet?
 
Grundsätzlich sollte hier jedes aktuelle Datenbanksystem geeignet sein. Zu Weitergabe würde sich ein embedded DBMS anbieten.
Ich persönlich würde zu FireBird (embedded) raten.

KahPee 15. Apr 2011 18:44

AW: Welche Datenbank ist am besten geeigenet?
 
Ein Hinweis noch falls, das gerade nicht deutlich geworden ist. Ich selber will die Datenbank nur zur Speicherung verwenden. Und das soll idealerweise sich alles in einer Datei speichern lassen. Für das Auslesen/Einschreiben und die sonstige Verarbeitung der Daten will ich selber ein Programm schreiben... Demnach würde das DBMS doch entfallen, das wäre dann ja indirekt mein Programm, oder?

Gruß Kahpee

mkinzler 15. Apr 2011 18:47

AW: Welche Datenbank ist am besten geeigenet?
 
Die Aufgabe des DBMS ist ist Speicherung und Verwaltung von Daten, es ersetzt dein Programm nicht.

haentschman 15. Apr 2011 18:51

AW: Welche Datenbank ist am besten geeigenet?
 
Hallo...

bei der Menge an Daten...
Zitat:

Für das Auslesen/Einschreiben und die sonstige Verarbeitung der Daten will ich selber ein Programm schreiben... Demnach würde das DBMS doch entfallen, das wäre dann ja indirekt mein Programm, oder?
... wirst du niemals die Performance eines DBMS erreichen.
Das Suchen in den Daten ist bei einem DBMS perfektioniert. Dafür sind sie gemacht und SQL das Werkzeug. Selbstverständlich schreibst du ein eigenes Programm um die Daten anzuzeigen. Du mußt nur die Daten holen die du benötigst und gut.

Da du nur ein DB File haben willst ist Firebird die beste Wahl.

:gruebel: wie sollen denn dei 15k Datensätze in die Datenbank ? Per Hand ?

KahPee 15. Apr 2011 18:56

AW: Welche Datenbank ist am besten geeigenet?
 
Ah.. hab da was falsch verstanden. Ich muss dann dem DBMS nur angeben wonach er suchen soll und bekomme eine Rückmeldung richtig?
Die sollen sicher nicht mit Hand rein. Sonder werden StückfürStück aus xml-Dateien (Itunes Libary) ausgelesen. Und sollen dann in die DB geschrieben werden (dabei übergebe ich wenn ich alles richtig verstanden habe dem DBMS die Daten und das schreibz die dann an die richtige Stelle)...

Gibt es irgendwo ein Tutorial wie man mit Datenbanken umgeht, wie die aufgebaut sind und so. Habe mit Datenbanken und demnach auch mit Firebird noch nicht gearbeitet. Bin also fürs Erste blutiger Anfänger ;)

Vielen Dank schon mal im voraus

Edit: Habe ich es richtig verstanden, dass ich am ende nur 1-Programmdatei(meine .exe) + 1 DB-Datei (mit meinen Daten) weitergeben muss und keine Installationen (z.B. von Firebird) etc. auf dem entsprechenden Rechner mehr nötig sind?

mkinzler 15. Apr 2011 19:03

AW: Welche Datenbank ist am besten geeigenet?
 
Zitat:

Zitat von KahPee (Beitrag 1095445)
Ah.. hab da was falsch verstanden. Ich muss dann dem DBMS nur angeben wonach er suchen soll und bekomme eine Rückmeldung richtig?

Ja.
Zitat:

Die sollen sicher nicht mit Hand rein. Sonder werden StückfürStück aus xml-Dateien (Itunes Libary) ausgelesen. Und sollen dann in die DB geschrieben werden (dabei übergebe ich wenn ich alles richtig verstanden habe dem DBMS die Daten und das schreibz die dann an die richtige Stelle)...
Und erzeugt auch entsprechende Einträge in den Indizes, um die Daten später schneller wieder zu finden

Zitat:

Gibt es irgendwo ein Tutorial wie man mit Datenbanken umgeht, wie die aufgebaut sind und so. Habe mit Datenbanken und demnach auch mit Firebird noch nicht gearbeitet. Bin also fürs Erste blutiger Anfänger ;)
http://www.delphi-treff.de/tutorials/datenbanken/

Elvis 15. Apr 2011 19:05

AW: Welche Datenbank ist am besten geeigenet?
 
SqLite wäre so ziemlich was du suchst.
Denn SqLite kann Fulltext search. Das heißt du kannst sauschnelle Incremental Search über alle Felder und das auch noch relativ einfach implementieren.

SqLite selbst ist nur eine DLL, die alles nötige enthält um SqLite-Datenbanken zu lesen/schreiben.

KahPee 15. Apr 2011 19:09

AW: Welche Datenbank ist am besten geeigenet?
 
Zitat:

Zitat von Elvis (Beitrag 1095447)
SqLite selbst ist nur eine DLL, die alles nötige enthält um SqLite-Datenbanken zu lesen/schreiben.

Das klingt ziemlich gut. Ich guck mir das mal genauso wie Firebird mal an.
Zu SQlite noch ne Frage: Ist das wie SQL oder wie suche ich da am besten nach einem Tutorial?

Gruß KahPee

mkinzler 15. Apr 2011 19:18

AW: Welche Datenbank ist am besten geeigenet?
 
Zitat:

Zu SQlite noch ne Frage: Ist das wie SQL oder wie suche ich da am besten nach einem Tutorial?
Ja, SQLite ist auch ein RDBMS, welches SQL verwendet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz