Hallo zusammen!
ich habe gehört dass man xml statt eine
Datenbank benutzen kann um Info zu speichern.
meine frage: was ist dann die vorteile und nachteile zwischen
xml gegen datenbanken(zb Mysql oder Oracle)
Zu den Vor- und Nachteilen wurde ja schon einiges gesagt.
Hier ist aber noch anzumerken, dass in der Praxis die
Gegenüberstellung Datenbank contra XML nicht immer sinnvoll ist,
da sich beides auch prima vereinen lässt. So kannst Du Dir mittlerweile
in jedem (mir bekannten) Datenbanksystem wie Oracle, Sybase Adaptive Server,
MS SQL Server, Mysql die Tabellendaten auch direkt als XML ausgeben lassen
(von den schon von Robert erwähnten XML-Datenbanksystemen mal ganz abgesehen).
XML ist eben nicht mehr als ein Standard wie Daten abgelegt werden,
genau so wie die gutn alten ini-Files, csv und andere.
Das sehe ich anders, hier ein paar der grundlegenden Unterschiede:
-
XML ist zum einen ein richtiger Industriestandard , der für alle verbindlich
dokumentiert ist (siehe http://edition-w3c.de/TR/2000/REC-xml-20001006/)
und keine nervenaufreibenden Zweideutigkeiten bei der Datenspeicherung
bezüglich seiner Syntax aufkommen lässt
-
als XML abgespeicherte Daten sind selbstbeschreibend , da ihre Bedeutung
durch die Auszeichnungen (dem Markup) gleich mitgeliefert wird.
Bsp. CSV:
1232;2003-04-12;Schulze GmbH;
Bsp. XML:
12322003-04-12Schulze GmbH
Die Suche nach Daten erfolgt damit nicht mehr fehlerträchtigerweise über
die aktuelle Position des Datensatzes wie bei EDIFACT oder CSV
(-> suche 3. Datensatz), sondern kann mit standardisierten Befehlen
ähnlich SQL erfragt werden (z.B. als XPath-Suche //lieferant).
-
mit DTDs und XML-Schema stehen (wiederum standardisierte) Möglichkeiten
zur Verfügung, XML-Daten durch den Rechner auf Vollständigkeit und Fehler
überprüfen zu lassen. Eigenentwicklungen für das Parsing entfallen - man schreibe
einfach eine Datei, die die Struktur beschreibt und füttere einen der
vielen freien XML-Parser mit den XML-Daten und dieser Datei.
-
weitere angenehme Begleiterscheingungen von XML-Daten sind die
Verwandlungsmöglichkeiten und Layoutmöglichkeiten durch CSS, XSLT und
XSL-FO, die eingebaute Hyperlinkfunktionalität zur Verknüpfung der Daten
mit externen Ressourcen per XLink und XInclude und nicht zu vergessen
die Vielzahl der zur Verfügung stehenden XML-Anwendungen und Vokabulare
wie XHTML als Nachfolger von HTML, SOAP für die Rechner-zu-Rechner-Kommunikation,
SVG für die Beschreibung von Vektorgrafiken, DocBook, MathML, MusicXML usw.
Mein Fazit:
XML ist mehr als nur ein weiteres Datenformat. Es ist erstens ein Industriestandard
zum Strukturieren von Informationen, zweitens eine Familie von Technologien zur
Bearbeitung von Daten und letztlich eine Philosophie zum richtigen Umgang und
Speichern digitaler Infos.
Gruß,
TheBeast *derdenXMLhypenichtsorechtverstehenkann*
Gruß,
Andreas *der_den_XML_Hype_schon_verstehen_kann*