Delphi - XML als Datenbankersatz

Persönliche Seite #2167066
Lesenswert?

XML als Datenbankersatz? Das ist nur ein (wenn auch sehr gut) 
strukturiertes Textdateiformat, alle Datenbank"intelligenz" müsste also 
in der von Dir verwendeten XML-Bibliothek liegen. Da XML selbst kein 
Datenbankformat ist, ist zu bezweifeln, daß die XML-Bibliothek da 
besonders viel Unterstützung liefert.

Für kleine "single-user"-Anwendungen (nur ein Programm greift auf die 
Datenbank zu) eignet sich SQLite, das kann seine Daten wahlweise in 
einzelnen Dateien oder sogar nur im Arbeitsspeicher halten, und wird als 
Library zum Programm gelinkt. Für Delphi sollte es ein Binding geben, 
notfalls musst Du eine DLL verwenden.

Vorteil: Du kannst SQL-Statements verwenden, um auf Deine Datensätze 
zuzugreifen und musst nicht einen XML-Parser um datenbankartige 
Funktionen erweitern.

SQLite ist public domain
http://www.sqlite.org/

Und hier sind Interfaces zu anderen Programmiersprachen als C 
aufgelistet, auch einige für Delphi:
http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers
#2167156
Lesenswert?

Ein File als Datenbank ... fuer eine serioese Performance haelt man das 
File natuerlich decodiert im Memory. Wieviel Memory kannst du eruebrigen 
?
Ich wuerd da bis 300MByte gehen.

Aha. die serioese Performance ist nicht gefragt. Man kann also bei jeder 
Anfrage das File lesen und parsen. Der Hammer wird das nicht ...
Gast #2167164
Lesenswert?

lesen mag ja noch gehen, aber einfügen in einer XML führt dazu das alles 
anderen Daten nachrutschen müssen.

Ich halte den XML ansatz für dumm. XML ist werder für einen Computer 
sinnvoll lesbar (der Aufwand ist viel größer als bei einer binary datei) 
noch ist es für einen Menschen schön lesbar.

XML hat es geschafft die Nachteile von Textdateien mit den nachteilen 
von Binary Dateien zu kombinieren.
#2167530
Lesenswert?

Peter II schrieb:

> XML hat es geschafft die Nachteile von Textdateien mit den nachteilen
> von Binary Dateien zu kombinieren.

Wenn's schneller und lesbarer sein soll -> JSON

p.s. in .NET wäre XML + XSD als Datenbankersatz ein Zwei/Dreizeiler 
(scnr)
DataSet ds = new DataSet();
ds.ReadXML(fileName);
dataGrid.DataSource = ds.Tables(0);

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren