Informationen zur Datenbank RESERVDB

In der Benutzerdatenbank RESERVDB sind zwei Tabellen namens XMLFLIGHTTB und XMLPASSENGERTB enthalten. Die folgende Abbildung veranschaulicht, wie die Daten in beiden Tabellen von den Nachrichtenflüssen 'XML_Reservation' und 'XML_CancelReservation' modifiziert werden. Die Nachrichtenflüsse 'XML_PassengerQuery' und 'XML_FlightQuery' fragen hingegen die Informationen nur ab und ändern keine Daten.

Diagramm zur Veranschaulichung der Interaktionen zwischen Nachrichtenflüssen und der Benutzerdatenbank.

Die Tabelle XMLFLIGHTTB

Die Tabelle XMLFLIGHTTB enthält aktuelle Informationen zu verfügbaren Sitzplätzen auf bestimmten Flügen. Die Tabelle XMLFLIGHTTB wird bei ihrer Erstellung mit Daten zu den Flügen gefüllt. Die Daten in der Tabelle werden von den Nachrichtenflüssen 'XML_Reservation' und 'XML_CancelReservation' modifiziert.

In der folgenden Tabelle sind Informationen zu den Feldern in XMLFLIGHTTB enthalten.

Feldname Datentyp Null? Inhalt
FLIGHTDATE CHAR (Zeichen) Nein Das Flugdatum.
FLIGHTNO CHAR (Zeichen) Nein Die Flugnummer.
ECONOMICCLASS INTEGER (Ganze Zahl) Nein Die Anzahl der in der Economy Class reservierten Sitzplätze.
FIRSTCLASS INTEGER (Ganze Zahl) Nein Die Anzahl der in der ersten Klasse reservierten Sitzplätze.
TOTALECONOMIC INTEGER (Ganze Zahl) Nein Die Anzahl der in der Economy Class verfügbaren Sitzplätze.
TOTALFIRST INTEGER (Ganze Zahl) Nein Die Anzahl der in der ersten Klasse verfügbaren Sitzplätze.
ECONOMICPRICE INTEGER (Ganze Zahl) Nein Der Preis für einen Sitzplatz in der Economy Class.
FIRSTPRICE INTEGER (Ganze Zahl) Nein Der Preis für einen Sitzplatz in der ersten Klasse.
STARTPOINT CHAR (Zeichen) Nein Abflugflughafen.
ENDPOINT CHAR (Zeichen) Nein Zielflughafen.
RESERVATIONSEQNO INTEGER (Ganze Zahl) Nein Die Anzahl der bisher vorgenommenen Reservierungen. Der Nachrichtenfluss 'XML_Reservation' verwendet diese Zahl zur Generierung von eindeutigen Reservierungsnummern für die Passagiere.

Wenn ein Passagier einen Sitzplatz für einen Flug reserviert, reduziert der Nachrichtenfluss 'XML_Reservation' die Anzahl der verfügbaren Sitzplätze in der jeweiligen Klasse. Diese Zahl wird in den Feldern TOTALECONOMIC und TOTALFIRST der Tabelle XMLFLIGHTTB angezeigt. Der Nachrichtenfluss 'XML_Reservation' erhöht die Anzahl der reservierten Sitzplätze in den Feldern ECONOMICCLASS und FIRSTCLASS.

Wenn die Tabelle erstellt und mit Daten gefüllt wird, ist der Wert für RESERVATIONSEQNO in jeder Zeile der Tabelle XMLFLIGHTTB "0". Wenn Sie den Nachrichtenfluss 'XML_Reservation' unter Verwendung der ersten Eingabenachricht zum ersten Mal ausführen, erhöht sich der Wert für RESERVATIONSEQNO in jeder Tabellenzeile auf "4", um anzuzeigen, dass vier Reservierungen vorgenommen wurden. Der Wert für RESERVATIONSEQNO erhöht sich auf "5", wenn Sie den Nachrichtenfluss 'XML_Reservation' unter Verwendung der zweiten Eingabenachricht ausführen. mit Hilfe von RESERVATIONSEQNO werden eindeutige Reservierungsnummern erstellt. Die Zahl in den Feldern für RESERVATIONSEQNO wird nicht herabgesetzt, wenn Reservierungen storniert werden.

Wenn die Reservierungen storniert werden, erhöht der Nachrichtenfluss 'XML_CancelReservation' die in den Feldern TOTALECONOMIC und TOTALFIRST angezeigte Anzahl der verfügbaren Sitzplätze und setzt die in den Feldern ECONOMICCLASS und FIRSTCLASS angezeigte Anzahl der Reservierungen für den Flug herab.

Die Tabelle XMLPASSENGERTB

Die Tabelle XMLPASSENGERTB enthält aktuelle Informationen zu den Passagieren, die Sitzplätze für die in XMLFLIGHTTB aufgelisteten Flügen reserviert haben. Wenn die Tabelle XMLPASSENGERTB erstellt wird, enthält sie keine Daten. Die Nachrichtenflüsse 'XML_Reservation' und 'XML_CancelReservation' fügen der Tabelle Daten hinzu bzw. entfernen Daten aus der Tabelle.

Die folgende Tabelle enthält Informationen zu den Feldern in der Tabelle XMLPASSENGERTB.

Feldname Datentyp Null? Inhalt
LASTNAME CHAR (Zeichen) Nein Der Nachname des Passagiers.
FIRSTNAME CHAR (Zeichen) Nein Der Vorname des Passagiers.
FLIGHTNO CHAR (Zeichen) Nein Die Flugnummer.
FLIGHTDATE CHAR (Zeichen) Nein Das Flugdatum.
CLASSTYPE CHAR (Zeichen) Nein Die Sitzklasse, die reserviert wurde.
RESERVATIONNO VARCHAR Nein Die eindeutige Reservierungsnummer, die vom Nachrichtenfluss 'XML_Reservation' zugewiesen wird.

Wenn ein Passagier einen Sitzplatz für einen Flug reserviert, fügt der Nachrichtenfluss 'XML_Reservation' für jeden Passagier, der eine Sitzreservierung vorgenommen hat, jeweils eine Zeile zur Tabelle XMLPASSENGERTB hinzu. Die erste Eingabenachricht für 'XML_Reservation' fordert vier Reservierungen an, so dass vier Datenzeilen hinzugefügt werden. Die zweite Eingabenachricht fordert eine Reservierung an, so dass eine Datenzeile hinzugefügt wird und sich die Gesamtzahl der Datenzeilen in der Tabelle auf fünf erhöht.

Die Spalte RESERVATIONNO enthält die Reservierungsnummern, die zur eindeutigen Identifizierung der Reservierungen automatisch generiert wurden. Jedes Mal, wenn Sie den Nachrichtenfluss 'XML_Reservation' erneut ausführen, erhöht sich der Wert für RESERVATIONSEQNO.

Wenn die Reservierungen storniert werden, entfernt der Nachrichtenfluss 'XML_CancelReservation' die Reservierungen aus der Tabelle XMLPASSENGERTB. Bei der Stornierung von Reservierungen wird der Wert im Feld RESERVATIONSEQNO in der Tabelle XMLFLIGHTTB nicht zurückgesetzt, so dass die Reservierungsnummer für neue Reservierungen im Feld RESERVATIONNO der Tabelle XMLPASSENGERTB stets eindeutig ist.

Symbol Hauptseite   Zurück zu "Das Beispielprogramm 'Airline Reservations'"