Hallo Thomas!
Es besitz ein jeder Message eine unique ID.
[...]
in den einzelnen threads-dienen dann die meeage nummer als ID
[...] wenn du in einer DB falsch suchst bekommst du dort auch keine suchergebnisse.
[...]
http://forum.de.selfhtml.org/archiv/2002/1/2538/#m14419
Ich finde, wenn ich dem Computer sage "Gib mir die Message mit der Nummer 14419", habe ich meine Frage eindeutig formuliert. In welchem Thread sich diese Message befindet, sollte der Computer mir sagen, nicht ich ihm.
Klingt für mich wie:
"Sagt der Büchereibesucher zum Bibliothekar: Nein, nein, sie müssen sich nicht die Mühe machen, mir zu erklären, wo ich das Buch finde. Zeigen sie mir einfach, wo es steht."
ich kann mir nicht vostellen, dass du ein einer DB anders machen würdest als durch einen "Pfad" zu suchen...oder muss in einer DB immer das gesamte datenbestand durchgesucht werden?
Jein! Ich kann jeden Datensatz einer Tabelle über dessen eindeutige ID direkt abfragen. In einfachen Datenbanken (z.B. CSV) kann das bedeuten, das ich die Tabelle von A bis Z durchlaufen muss, um an den gewünschten Datensatz zu gelangen.
In der Praxis eines DBMS wird dies aber durch entsprechende Indexierung mit ausgefeilten Sortieralgorythmen tunlichst vermieden.
[...] Im Prinzip sind "Links" aber doch auch nicht viel anderes als "Relationen" [...]
das ist eben das plus an den links! willkürlich ist natürlich ein schöner ausdruck für "frei definierbare" ;-)
Finde ich auch! :-D
[...]
oder
http://forum.de.selfhtml.org/archiv/2002/1/2538.xml#xpointer(id('m14419')/Author/Name)
würde fjh zurückliefern
SELECT author_name FROM messages WHERE message_id='m14419'
ebenfalls, ohne dass ich dem DBMS sagen müsste, in welchem Thread sich die Message überhaupt befindet.
SELECT message_topic, message_date FROM messages WHERE author_name='fjh' ORDER BY message_date
brächte mir eine chronologische Liste aller Messages mit Themen- mit Datumsangabe, die fjh je geschrieben hat.
Wie sähe denn so etwas analog in XML aus?
oder:
http://forum.de.selfhtml.org/archiv/2002/3/5782.xml#xpointer
string-range(//MessageContent,"Mumpitz")[1]
könne eines tages auf das erste vorkommen von "Mumpitz" in diesem thread hinlinken, ohne dass ich dafür 100-e von tabellen durchsuchen müsste!
Schön, aber woher nehme ich denn den Link? Woher weiß ich denn, in welchem Dokument sich das Wort 'Mumpitz' befindet? Ich kenne doch nicht das gesamte Archiv auswendig! Also muss ich doch wohl erst danach suchen, oder nicht?
Man muss, denke ich, einfach abwarten, ob die ganzen X-Dingens, die lustig definiert werden, sich überhaupt praktikabel umsetzen lassen. Ich muss gestehen, dass ich den Überblick schon lange verloren habe.
das mit dem überblick geht mir genau so! ;-)
Das beruhigt mich jetzt ungemein. :-)
Es bleibt eine Ansichtssache: Der von dir so über alles gestellte Kontext ist in meinen Augen nur einer von vielen und wird daher nach dem relationalen Datenmodell über Abfragen, Queries oder (ganz bildlich) Views dargestellt.
ich sehe bloß keinen einzigen vernünftigen grund, warum ich das was zusammengehört erts in zig tabellen aufteilen muss/soll nur um später mühsamst wieder alles zusammenzufügen wenn ich es brauche.
Ich weiß nicht, wie ich es noch anders umschreiben soll, damit du verstehst, was ich sagen will: Die Daten gehören nicht zusammen. Beispielsweise Bücher thematisch zu strukturieren ist eine eine Möglichkeit. Eine alphabetische Struktur eine andere.
Unter Umständen kann vielleicht sogar eine Sortierung nach Einbandfarben interessant sein (Für die Druckerei, die den Bedarf an Druckfarben fürs kommende Jahr plant).
Michael hat es, wie ich finde, in einem seiner Beiträge schön auf den Punkt gebracht:
"Ich denke, dieser Punkt zeigt vielleicht am besten, daß beide
Darstellungsformen unterschiedliche Ziele zu erreichen
versuchen:
XML konzentriert sich eben auf diese eine Strukturform, während
bei Relationen die Gleichwertigkeit beliebig vieler
Zusammengehörigkeiten oberstes Prinzip ist."
[...] register wären aber RDF oder TopicMaps also wiederum eine XML-"Anwendung"
sehr einfach gesagt: RFD beschreibt recourcen in subjekt-prädikat-objekt form. simple katalogzettel in der bibliothek:
"tolkien" - "ist autor von" - "herr der ringe"
Scheinbar bin ich wirklich zu blöd! :-(
Wenn ich eine buch.xml habe, in der (u.a.) steht:
<buch>
<titel>Herr der Ringe</titel>
<autor>Tolkien</autor>
</buch>
habe ich doch alle nötigen Informationen beisammen. Brauche ich jetzt ernsthaft ein zweites Dokument, in dem steht, dass Tolkien der Autor von 'Herr der Ringe' ist?
ISBN sollte nur als (Paradebeispiel) für eine unique-id herhalten, dem Grundprinzip des relationalen Datenbankmodells.
wollte ich jetzt echt pingelig sein müsste ich sagen, dass ISBN nich 100% eine UIND darstellt denn z.B. 3-8266-7209-7 verweist auf einige tausende bücher. aber ich bin nicht so pingelig g
Die Eigenschaften alle dieser Kopien eines Buches wird aber über die ISBN eindeutig beschrieben. Ein wiederholtes Abspeichern dieser Information ist somit hinfällig.
[...] Performance [...]
lol da haben wir es wieder: es geht dir ja doch noch nur um die performace. warum nur und ausschließlich darum? und warum habe ich das gefühl, dass ich vergeblich rede, wenn ich daruf hinweise, dass es mit der performace besser wird so wie die software hierzu immer besser wird.
Mit derselben Argumentation kannst du das Windows-BMP als ideales Bildformat für die Übertragung im Internet bezeichnen. Wenn die Übertragung halt ein wenig länger dauert, ist nicht etwa das Konzept schuld, sondern natürlich die Infrastruktur des Netzes oder der Anwender, der ein altes Modem benutzt.
zum Auto: hast du einen wagen? mit klimaanlage? warum eigentlich?
BTW: Mein Auto hat keine Klimaanlage. Wieso Autos in unseren Breiten neuerdings alle eine Klimaanlage brauchen, erschließt sich mir ohnehin nicht. Eine Standheizung wäre m.E. viel sinnvoller.
aber lassen wir diese hinkende vergleich.
Besser ist das! :-)
Apropos Geld: Wie sieht es eigentlich mit Freeware/Open Source in Sachen XML-DBMS aus? MySQL kost' ja z.B. nix.
ich kenne noch keine freie xml-db, was nicht heisst dass es keine gibt und was nicht heisst dass es keine geben kann. wie du es selbst gesagt hast, diese technologie ist neu. also geben wir sie der zeit.
Schade. Mit "Probieren geht über Studieren" ist also vorläufig Essig. :-(
obwohl es hier einge unterschiede gibt, kann man generell sagen, dass mit den xml-db kannnt du die dateien die im repository liegen indexieren (geht wohl auch mit einer altmodischen (fg) DB) was eben zu performacesteigerung führt bei der ausgabe der daten (übrigens beim textml-erver spricht man ebenfalls vom views, die man beliebig erstellen kann) nur du kannst diese indizes dann auch direkt verwenden: sie werden als XPath ausdrücke erstellt und somit direkt in einer xsl sheet verwendbar, [...]
Aha!
[...] ohne dass ich mit einer scripsprache das ganze belasten müsste (wie wohl es man kann)
Dieser Nebensatz ist für mich der Entscheidende.
XML, XSL und wie sie alle heißen sind doch auch Sprachen, die das ganze System belasten. Was macht sie denn nun besser als die bisher gebräuchlichen (Skript-)Sprachen?
Anders ausgedrückt: Mit Hilfe von XML werden für jeden nur erdenklichen Anwendungsfall (maschinenlesbare) "Formulare" (soundsoML) bzw. entsprechende Ausfüllanleitungen (DTDs) entwickelt, die jeder (Mensch oder Maschine) lesen kann, sofern er denn XML lesen kann.
Ich hoffe, bis hierhin liege ich noch halbwegs richtig!?
ja, du liegst richtig ;-)
Na, dann bin ich ja doch nicht so blöd wie ich aussehe! ;-)))
Nun aber kommt der entscheidene Punkt zwischen Genie und Wahnsinn ;-) :
Wenn ich jetzt nicht ein paar entscheidende Punkte übersehen habe (mittlerweile ist es ja auch recht früh bzw. spät geworden), ist doch stets nur von XML-Dokumenten die Rede, nie aber von Dateien.
das ist fast immer das selbe.
Ich habe also bei mir eine Datenbank, die ich in XML angelegt habe mit einer entsprechenden DTD. XML dient dabei (ähnlich wie SQL) lediglich der Verständigung zwischen mir und dem Server. Was dieser daraus macht, ist sein Bier. Theoretisch könnte er die Elemente, die ich in der XML angelegt habe, nehmen, analysieren und intern in relationalen Tabellen speichern. ;-)
nein. xml dient nicht der verständigung (ich gehe jetzt nicht darauf ein, dass es natürlich möglich ist per RPC und XML auch anwendungen zu steuern, womit xml dann zu verständigungssprache wird)
Schade, ich wollte aus XML eine mindestens 4GL machen. War wohl nix! :-(
xml ist die art der datenhaltung. xml ist d. format in dem die daten gespeichert werden.
und es soll DBs geben die xml genau auf die von dir beschriebene weise behandeln.
Hä? Wie kriegst du die beiden Sätze denn kompatibel? =:-O
Die beiden drücken doch gänzlich Gegenteiliges aus.
[... XML-Dokumente sind nur verschiedene Ansichten auf denselben (physikalischen) Datenbestand ...]
Habe ich das Prinzip jetzt verstanden oder war das ein völliges Hirngespinst meinerseits?
prinzipiell richtig, aber nur dann wenn du für dich selbst 2 ansichten auf die daten benötigst, dann kast du mit verschiednene xsl-shets verschieden ansichten für deine daten erstellen.
Immerhin.
wenn ud deine daten jemand anderen zusendest und der für sich dann in eine andere form umwandelt um damit zu weiterarbeiten, geht es (für mich) nicht mehr um daten (also nicht mehr um das gesamte xml mit tags etc) sondern um die austasuch von in diesen daten erhaltenen informationen. hier ist wie du früher vermerkt hast ist xml das austauschformat.
Schade! Ich versteh's nicht. :-(
genau das sit auch eine der vorteile von xml: ich kann sie überall verwenden. wie ist dass wenn jemand alles in eine oracle db hat und der andere alles in MySQL ... da gibt es dann nette probleme beim import-export. mit xml habe ich dieses probleme nicht.
Mit SQL hast du das Problem prinzipiell auch nicht. Sicherlich stellt die unterschiedliche Implementierung des SQL-Sprach-"Standards" ein nicht geringes Problem dar. Einigt man sich auf den kleinsten gemeinsamen Nenner hat man auch kein Problem.
Ähnliche Probleme sind bei anderen Standards auch zu erwarten. (X)HTML mag als Beispiel für XML reichen.
Ich glaube, so ganz ohne Beispiel aus der Praxis komme ich / kommen wir nicht weiter.
Wie würde eine klassische Datenbankanwendung wie etwa ein "Telefonbuch" in einem XML-Ansatz aussehen?
Mustermann, Hans
Musterstr. 17
12345 Musterhausen
Tel.: (0 12 34) 1 23 45
Es ist mir ja wahnsinnig peinlich, aber weiter als bis
<eintrag>
<name>Mustermann, Hans</name>
<strasse>Musterstr. 17</strasse>
<plz>12345</plz>
<ort>Musterhausen</ort>
<vorwahl>01234</vorwahl>
<anschluss>12345</anschluss>
</eintrag>
komme ich nicht! :-[
Bei 2 Einträgen steh ich schon wie ein Ochs' vorm Berg! Mache ich jetzt 2 XML-Dateien? Eine eintrag1.xml und eine eintrag2.xml oder schreibe ich beide untereinander in ein XML-Dokument? Wie sähe es bei 1 Million Einträgen aus?
Wie kann ich in den Datenbeständen suchen? Wie füge ich Datensätze hinzu? Wie lösche ich?
Was hat das ganze überhaupt mit einem DBMS zu tun? Wie heißt denn jetzt das SQL-Pendant bei einem XML-DBMS? Wie bekomme ich denn jetzt "Leben in die Bude"?
Hier im Forum übernimmt das alles das Perl-Programm. Wie sähe es denn bei einem professionellen XDBMS-Server aus?
Ehrlich gesagt, bin ich im Moment "etwas" verwirrt.
Gruß,
ker* wie ein Häufchen Elend in sich zusammengesunken *ki