DB / Textdatei / ... ?

Wenns nötig war hab ich bisher bei meinen Programmen immer ne MySQL-DB verwendet. Nun frag ich mich aber schon seit einiger Zeit wie realisiert man/ihr es wenn ihr ein Programm erstellt ( z.B. Vokabeltrainer ) und das ganze möglichst klein/kompakt halten wollt.

Mir ist klar das man für sowas ne DB ( oder z.B. ne Textdatei als DB oder XML-DB ) benutzt aber wenn ich mir z.B. nen Vokabeltrainer downloade, dann ist der ja nicht so imens groß. Mir stellt sich also die Frage wie wird es da ( bzw. wie macht ihr es ) das so ein Programm zwar ne DB hat diese aber ins Programm integriert ist ( d.h. das MySQL muß nicht extra im Hintergrund laufen ) und nicht so groß ist?

Ich hoffe ihr könnt verstehen was ich mit diesem Gestammel ausdrücken will ;)
 
Eine SQL DB bingts ja erst bei einer gewissen Grösse. -Gut, ich habe seiner Zeit mal Vokalbeltrainer in Access programmiert :D

Generell sind txt sicherlich nicht falsch. csv oder xml Dateien, kommt halt sehr darauf an, was deine Programmiersprache so von Haus aus gut unterstützt :)
 
Wenn man nur paar 100 000 Einträge hat, merkt der User nicht mal eine lineare Textsuche auf einem betagten Rechner (ok, Knuth-Morris-Pratt oder Boyer-Moore Algos sollte man schon nehmen ;) )
Ansonsten eine kompakte Textdatei mitliefern - und entweder bei jedem Programmstart entsprechende Suchstruktur aufbauen (Binärbaum,B-Baum bzw. Baum mit jeweils einem Knoten pro Buchstabe, HashTable) oder einmalig aufbauen, dann speichern und nutzen.
 
Ansonsten eine kompakte Textdatei mitliefern - und entweder bei jedem Programmstart entsprechende Suchstruktur aufbauen (Binärbaum,B-Baum bzw. Baum mit jeweils einem Knoten pro Buchstabe, HashTable) oder einmalig aufbauen, dann speichern und nutzen.
Hast du dazu evtl. einen guten Link, mit weiterführenden Erklährungen, bez. Pseudocode schnipsel?

thx & lg
IsNull
 
Zurück
Oben