Читать книгу LearnXML5 - hagbard 123 - Страница 6

4:Datenbankabfragen

Оглавление

Um die Funktionsweise von DB Abfragen etc zu verstehen sollte man vielleicht zuerst einmal

den Aufbau verstehen , und die Wirkungsweise der einzelnen Komponenten

--------------------------------------------------------------------------------

Eine Datenbank muss immer irgendwo hinterlegt sein das zugehörige Abfragemodul muss auch irgendwo gespeichert sein und mit der Datenbank kommunizieren d.h. Daten müssen ausgetauscht werden was in der Regel über ein script oder eine Routine(kleines Programm)

erfolgt nun muss diese Routine die Eingabe des Users aufnehmen und verarbeiten d.h. prüfen

ob der nachgefragte Datensatz vorhanden ist!

Also vergleicht er die Eingabe mit den hinterlegten Daten diese müssen also verfügbar sein! normalerweise laufen Scripte aber clientseitig sind also vorgeladen auf den PC des Users ,die Datenbank muss also im nächsten schritt abgefragt werden ,diese liegt aber auf einem Server und wird nicht zum client übermittelt "!(logischerweise)also muss die abfrage auch serverseitig

laufen was sie auch tut (gewöhnlich)

Die Kommunikation zwischen client und Server muss also ein ständiges hin und her sein

bezieht man jetzt die transferrate der Leitung ,,die Leistung des Servers und die Größe der jeweiligen Datenbank mit ein kommt man zum folgerichtigen Ergebnis das so eine abfrage

unter umständen ziemlich lange dauern kann!!!

Dies zu umgehen ist XML in Verbindung mit Javascript hervorragend geeignet wie wir gelesen

haben kann man in xml dateninseln erschaffen und sie in html anzeigen mittels einer id eine

feste variable zuweisen und sie speichern (verarbeiten) mit javascript kann man hervorragend

eine suchroutine schreiben !

Javascript lauft clientseitig wird also immer vollständig geladen und gecached wenn man es

nicht vermeidet also liegt der Schluss doch nahe einen weg zu wählen mit dem man die

vorteile einer serverseitigen Datenbank und einer clientseitigen abfrage paaren kann mit dem

einfachen Handling von xml!!!!!!!

Dies alles ohne ASP,JSP,CGI oder PHP einsetzen zu müssen dieser weg hat noch einen

anderen Vorteil , nämlich die Aktualisierung aber dazu später mehr Die Suchroutine sollte die

Abfragen ausführen ,dazu kann man zwei Möglichkeiten wählen

1)man gibt die Suchbegriffe fest vor und hinterlegt sie in einer Datei

2)man lässt die Routine die Datenbank durchsuchen

Ersteres hat den Vorteil dass man keine sql abfrage durchzuführen braucht also einfach mittels eines jscripts die suchmaske vorgibt ,außerdem kann man falsche oder fehlerhafte

sucheingaben abfangen indem man diese vorsieht in der Routine! die zweite Möglichkeit

durchforstet die db direkt(mittels sql oder asp) muss also nicht extra aktualisiert werden, findet

aber auch lediglich begriffe die exakt angegeben wurden für was man sich entscheidet ist

letztendlich geschmacksache! aber back to XML Dies ist die einfache Definition einer

Datensammlung bib ist die Bibliothek in dieser befindet sich das Erscheinungsjahr des Buches ,der titel,author und publisher,sowie Name und lastname(Nachname)des Autors wie direkt ins Auge fällt ist der author und lastname identisch, des Weiteren Publisher und Name sind gleich

bzw. haben den gleichen Inhalt! dies ist eine relativ einfache art und weise Suchbegriffe für

dateninseln zu verbinden in diesem fall ist author und Nachname ein begriff,folglich kann

dieser Eintrag gefunden werden wenn nach author oder Nachname gesucht wird!

<bib > < book year="1990">

< title> Erlauterungen zur Datenbank </title>

< author> <lastname> Mann </lastname> </author>

< publisher> <name> Thomas </name > </publisher>

< /book>

</bib>

Nun ist dies natürlich erst der Anfang - wir können also XML Dokumente transformieren und als HTML oder reinen Text ausgeben.

Nun können wir noch einen Schritt weitergehen und diese Daten doch auch gleichzeitig in Flash und/oder php/asp weiterverwerten?! So haben wir doch lediglich einen Bruchteil der Arbeit die wir sonst hätten- oder nicht.

Dies reicht natürlich nicht aus und deshalb gehen wir bis ins extrem und verwenden unsere

XML Rohdaten als Datenbasis (dbms) und voila! EINMAL schreiben - beliebig oft und in beliebigen Format weiterverwenden, dies ist Effektivität.

Fangen wir also an: Als erstes Fragen wir uns was in einer Artikeldatei stehen sollte?

Da wäre einmal der Name der Artikel, die Artikelnummer, der Einzelpreis, eine kurze

Beschreibung,dies reicht fürs erste einmal aus denke ich

Jetzt müssen wir weiter überlegen wie wir die Artikeldaten darstellen wollen? als Liste als

Tabelle geordnet oder ungeordnet?

Wir nehmen einmal eine Listenform

Zu überlegen ist auch noch die Rangordnung der Ausgabe d.h. welche Daten sollen als erstes

stehen ,sollen alle Daten ausgegeben werden oder nicht sollen sie geordnet sein? wenn ja

nach welchen Kriterien? Der einfachheit halber stellen wir sie sortiert und in einer geordneten

Listenform dar

Da wir jetzt also wissen wie wir die Daten darstellen wollen können wir daran gehen den

Aufbau der Datei zu planen und loszulegen

Fangen wir mit der DTD an.

In einer DTD werden alle Strukturangaben gemacht, festgelegt welche Daten in der XML

Datei später erscheinen , wie oft sie erscheinen , ob sie doppelt sein dürfen , welche Attribute

sie haben und welche Tags verwendet werden können Nun gibt es verschiedene

Möglichkeiten zur Verwendung einer DTD, einfach eine vorgefertigte nehmen oder aber eine

eigene entwerfen. Wir wollen es ja lernen und entwerfen deshalb eine eigene!

Eine DTD wird immer !!! wie folgt aufgebaut <?!ELEMENT TAG (Attribut)> in unserem Fall

also:

<?!ELEMENT artikel (#PCDATA)>

PCDATA bedeutet , das der Inhalt schon geparst ist und im fertigen Format ausgegeben wird

Da dieser einfache Aufbau bei weitem nicht ausreicht für eine Artikeldatei müssen wir noch

einige Elemente definieren und einbauen in unsere DTD Dazu wieder die Frage ,aus was

besteht ein Artikel?

siehe oben Artikelnamen Artikelpreis Artikelnummer Artikelbeschreibung um uns einiges an

Schreiberei zu sparen kürzen wir diese aber ab

Artikelnamen = aname Artikelpreis = aDM und aeuro Artikelnummer = anummer

Artikelbescheibung = abeschr

das ganze sieht dann wie folgt aus

<?!ELEMENT artikel (aname,aeuro?,aDM?,abeschr*,anummer)>

Das Element Artikel besteht aus Name,Preis in DM und Euro ,Beschreibung und Nummer Die

Symbole hinter dem Attribut haben verschiedene Bedeutungen: aname = Der Name muss

enthalten sein wenn nichts dahinter steht aeuro? = Darf nur einmal enthalten sein bei einem Fragezeichen abeschr* = Darf null oder mehrmals enthalten sein gekennzeichnet durch den

Stern anummer | = Kann muss aber nicht enthalten sein | ist das Zeichen für oder Damit hätten

wir unsere erste kleine DTD kreiert in der alle relevanten Daten strukturiert sind Als nächsten

Schritt entwerfen wir die XML Datei in der die Daten enthalten sind In einer XML Datei ist

genaustens darauf zu achten dass alle Tags abgeschlossen werden sollte dies nicht der Fall

sein kommt es zu einer Fehlermeldung!!

Fangen wir also an: Als erstes Fragen wir uns was in einer Artikeldatei stehen sollte?

Da wäre einmal der Name der Artikel, die Artikelnummer, der Einzelpreis, eine kurze

Beschreibung,dies reicht fürs erste einmal aus denke ich

Jetzt müssen wir weiter überlegen wie wir die Artikeldaten darstellen wollen? als Liste als

Tabelle geordnet oder ungeordnet?

Wir nehmen einmal eine Listenform

Zu überlegen ist auch noch die Rangordnung der Ausgabe , d.h. welche Daten sollen als

erstes stehen ,sollen alle Daten ausgegeben werden oder nicht sollen sie geordnet sein? wenn

ja nach welchen Kriterien? Der einfachheit halber stellen wir sie sortiert und in einer geordneten Listenform dar.

Da wir jetzt also wissen wie wir die Daten darstellen wollen können wir daran gehen den

Aufbau der Datei zu planen und loszulegen

Fangen wir mit der DTD an.

In einer DTD werden alle Strukturangaben gemacht, festgelegt welche Daten in der XML

Datei später erscheinen , wie oft sie erscheinen , ob sie doppelt sein dürfen , welche Attribute

sie haben und welche Tags verwendet werden können Nun gibt es verschiedene

Möglichkeiten zur Verwendung einer DTD, einfach eine vorgefertigte nehmen oder aber eine

eigene entwerfen. Wir wollen es ja lernen und entwerfen deshalb eine eigene!

Eine DTD wird immer !!! wie folgt aufgebaut <?!ELEMENT TAG (Attribut)> in unserem Fall

also:

<?!ELEMENT artikel (#PCDATA)>

PCDATA bedeutet , das der Inhalt schon geparst ist und im fertigen Format ausgegeben wird

Da dieser einfache Aufbau bei weitem nicht ausreicht für eine Artikeldatei müssen wir noch

einige Elemente definieren und einbauen in unsere DTD Dazu wieder die Frage ,aus was

besteht ein Artikel?

siehe oben Artikelnamen Artikelpreis Artikelnummer Artikelbeschreibung um uns einiges an

Schreiberei zu sparen kürzen wir diese aber ab

Artikelnamen = aname Artikelpreis = aDM und aeuro Artikelnummer = anummer

Artikelbescheibung = abeschr

das ganze sieht dann wie folgt aus

<?!ELEMENT artikel (aname,aeuro?,aDM?,abeschr*,anummer)>

Das Element Artikel besteht aus Name,Preis in DM und Euro ,Beschreibung und Nummer Die

Symbole hinter dem Attribut haben verschiedene Bedeutungen: aname = Der Name muss

enthalten sein wenn nichts dahinter steht aeuro? = Darf nur einmal enthalten sein bei einem Fragezeichen abeschr* = Darf null oder mehrmals enthalten sein gekennzeichnet durch den

Stern anummer | = Kann muss aber nicht enthalten sein | ist das Zeichen für oder Damit hätten

wir unsere erste kleine DTD kreiert in der alle relevanten Daten strukturiert sind Als nächsten

Schritt entwerfen wir die XML Datei in der die Daten enthalten sind In einer XML Datei ist

genaustens darauf zu achten dass alle Tags abgeschlossen werden sollte dies nicht der Fall

sein kommt es zu einer Fehlermeldung!!

LearnXML5

Подняться наверх