XML vs. Datenbanken

H

hick

Mitglied
Thread Starter
Dabei seit
13.03.2005
Beiträge
52
Reaktionspunkte
0
Guten Tag miteinander,

ich hab mal so einiges gelesen über XML und fand heraus, dass für eine sinnvolle Arbeit mit XML, XPath für das auswählen der entsprechenden XML-Tags verantwortlich ist und man XSLT für die Darstellung der ausgewählten Tags braucht.

Dazu jetzt meine Frage, in was unterscheidet XML sich von Datenbanken? (abgesehen von der Interoperabilität und Plattfromunabhängigkeit)

Kann man als Faustregel sagen: Datenbanken für häufige Änderung von Dateninhalten, XML für eher statische Daten?


Vielen Dank für Aufklärung,


MfG

Hick
 
Bei XML kannst du vom Client doch ähnlich wie bei HTML alles im Code sehen.
 
@Kikone,

danke für Deine Antwort. Leider bin ich noch nicht so lange über XML informiert, daher verstehe ich Dein Post auch nicht so ganz. Könntest Du dies evt. ein wenig breiter erläutern?

vielen Dank

MfG

Hick
 
Hi Hick :)

eine XML Datei sieht ja in etwa so aus :

<?xml version="1.0" standalone="yes" encoding="UTF-8"?>
<enzyklopaedie>
<titel>Wikipedia Städteverzeichnis </titel>
<eintrag>
<stichwort>Genf </stichwort>
<eintragstext>Genf ist der Sitz von...</eintragstext>
</eintrag>
<eintrag>
<stichwort>Köln </stichwort>
<eintragstext>Köln ist eine Stadt, die ...</eintragstext>
</eintrag>
</enzyklopaedie>
 
wie du siehst , sind dort alle Daten hinterlegt ... für vertrauliche Daten ist XML also gänzlich ungeeignet.

schau auch mal hier :)

http://de.wikipedia.org/wiki/Xml
 
Guten Tag,

@ Kikone,

vielen Dank für den Hinweis der Sicherheit. Daran habe ich im ersten Moment nicht wirklich gedacht. Aber ist hier nicht auch anzuwenden, dass ja der XML-code gar nie ausserhalb des Servers sichtbar ist, der wird ja lediglich als HTML-code an den Browser ausgegeben (via XPath zusammengestellt und mit XSLT formatiert). Oder verstehe ich das falsch?


Vielen Dank für Hilfe,

MfG

Hick
 
XML ist eine Metasprache, eine Datenbank ist halt eine Datenbank. Das sind völlig unterschiedliche Konzepte. Man kann ja auch XML in eine Datenbank schreiben, insofern macht es (für mich) keinen Sinn, das miteinander zu vergleichen.

Wenn du XSLT Stylesheets benutzt, um daraus XHTML für den Browser zu machen, wird auch nur das XHTML Übertragen.

Wenn du vertrauliche Daten reintun willst, mußt du sie verschlüsseln und als Text kodieren, anonsten ist halt wirklich alles Klartext.
 
Zuletzt bearbeitet:
Kikone schrieb:
wie du siehst , sind dort alle Daten hinterlegt ... für vertrauliche Daten ist XML also gänzlich ungeeignet.
Hmmm .... :rolleyes:
Was ist wenn der Server gar nicht die kompletten, sondern schon vorformatierte Daten, z. B. mit Hilfe von XSLT, ausliefert. Genau wie eine Datenbank auch. :rolleyes:

Also wie schon angesprochen. XML kann man mit Datenbank nicht vergleichen. Eine Datenbank ist ein Container der Daten aufnehmen kann, ähnlich wie eine Datei. Es gibt auch Datenbanken, die nur aus einer Datei bestehen, das kommt ganz darauf an wie die Anforderungen an die Datenbank sind, kleine Datenmange - große Datenmenge, wenig Änderungen (mehr Abfragen) - viele Änderungen, keine/einfache Beziehungen (Relationen) - komplexe Beziehungen usw. usf.

Eine Datenbank muß natürlich sein Daten für siche selbst formatieren, um sie wiederfinden zu können. Dieses Format ist meistens hersteller- bzw. datenbankspezifisch. Entsprechend müssen die Daten innerhalb einer Anfrage an die Datenbank bzw. die Daten wie sie von der Datenbank geliefert werden, auch irgendwie formatiert werden. Auch hier gab es lange Zeit herstellerspezifische Definitionen. Diese wurden bzw. werden langsam/schnell durch einen Standard, der da SQL heißt, abgelöst. In diesem Sinne ist XML eher mit SQL vergleichbar. Wobei hier anzumerken ist, daß SQL für einen bestimmten Zweck entwickelt wurde.
Man kann natürlich XML in Datenbanken speichern. Dabei gibt es das Problem, daß man XML aber nicht so leicht in SQL umwandeln kann. Deshalb gibt es Entwicklungen von sog. XML-Datenbank, die XML als Abfragesprache verwenden. Diese sind meines Wissens allerdings noch nicht ganz so leistungsfähig (große Datenmenge, schnelle Abfragen) wie die sog. SQL-Datenbanken.

Mehr und bessere Informationen, als ich das jetzt hier darlegen kann, gibt es bei (wie so häufig) Wikipedia: http://de.wikipedia.org/wiki/Datenbank

Pingu

PS: Übrigens auch das Filesystem ist im weitesten Sinne nichst anderes als eine Datenbank, ebenso das Web mit seinem HTTP-Protokoll.
 
Guten Tag,

vielen Dank, also dann müsste ich meinen Post-Titel ändern in XML vs. SQL.

bitte korrigieren:

Denn ein XML-File ist ja nichts anderes als ein Datenkontainer, in den Informationen strukturiert abgespeichert werden können und dann wieder aussortiert und formatiert werden kann.

SQL macht quasi dasselbe, einfach schneller v.a. mit grösseren Datenmengen.


Vielen Dank für Korrektur und Hilfe,

MfG

Hick
 
XML ist immernoch eine Metasprache, und SQL ist eine Sprache zur Abfrage von Datenbanken. Hat immernoch nichts miteinander zu tun ;-)

SQL = Structured Query Language

Du kannst aber Vergleich machen, ob du z.B. Daten lieber in einer Datei oder in einer Datenbank ablegst, das macht eher Sinn..
 
Hallo,
ein gutes Beispiel für die Anwendung von XML in Verbindung
mit XSLT ist die Seite von www.dhl.de
Dort sind die Daten auch als XML hinterlegt und werden vom
Server als (x)HTML ausgeliefert, wobei du über XSLT steuerst
welches Format rauskommen wird.
Du kannst die Ausgabe auch z.B. als CSV oder oder oder
generieren...
Vorteil bei der Sache ist, du änderst halt den Container, deine
XML Datei, und spielst sie auf den Server. Keine Änderungen an
irgendwelchen statischen Sachen nötig, da das Design ja
on The Fly generiert wird :)

Schon ne tolle Sache!

Gruß, Micha
 
Zurück
Oben Unten