Forum: PC-Programmierung Delphi - XML als Datenbankersatz


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Delphiprogrammierer (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

weiß jmd. bis zu welcher Größe sich eine XML Datei als Datenbankersatz 
lohnt?

Und weiß jmd. gute Tutorials zu XML Dateien? Ich möchte nicht an ein 
Programm am Zielpc gebunden sein wie MSXML.

Danke schonmal im vorraus

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht 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

von Name H. (hacky)


Bewertung
0 lesenswert
nicht 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 ...

von Peter II (Gast)


Bewertung
0 lesenswert
nicht 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.

von Arc N. (arc)


Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.