In der Benutzerdatenbank RESERVDB sind zwei Tabellen namens XMLFLIGHTTB und XMLPASSENGERTB enthalten. Das folgende Diagramm veranschaulicht, wie die Daten in beiden Tabellen von den Nachrichtenflüssen 'XML_Reservation' und 'XML_CancelReservation' geändert werden. Die Nachrichtenflüsse 'XML_PassengerQuery' und 'XML_FlightQuery' fragen hingegen die Informationen nur ab und ändern keine Daten.
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? | Content |
---|---|---|---|
FLIGHTDATE | CHAR (Zeichen) | Nein | Das Flugdatum. |
FLIGHTNO | CHAR (Zeichen) | Nein | Die Flugnummer. |
ECONOMICCLASS | INTEGER | Nein | Die Anzahl der in der Economy Class reservierten Sitzplätze. |
FIRSTCLASS | INTEGER | Nein | Die Anzahl der in der ersten Klasse reservierten Sitzplätze. |
TOTALECONOMIC | INTEGER | Nein | Die Anzahl der in der Economy Class verfügbaren Sitzplätze. |
TOTALFIRST | INTEGER | Nein | Die Anzahl der in der ersten Klasse verfügbaren Sitzplätze. |
ECONOMICPRICE | INTEGER | Nein | Der Preis für einen Sitzplatz in der Economy Class. |
FIRSTPRICE | INTEGER | Nein | Der Preis für einen Sitzplatz in der ersten Klasse. |
STARTPOINT | CHAR (Zeichen) | Nein | Abflugflughafen. |
ENDPOINT | CHAR (Zeichen) | Nein | Zielflughafen. |
RESERVATIONSEQNO | INTEGER | 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 im Feld 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 im Feld RESERVATIONSEQNO in jeder Tabellenzeile auf "4", um anzuzeigen, dass vier Reservierungen vorgenommen wurden. Der Wert im Feld RESERVATIONSEQNO erhöht sich auf "5", wenn Sie den Nachrichtenfluss 'XML_Reservation' unter Verwendung der zweiten Eingabenachricht ausführen. Mithilfe des Feldes RESERVATIONSEQNO werden eindeutige Reservierungsnummern erstellt. Der Wert im Feld 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 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? | Content |
---|---|---|---|
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, sodass vier Datenzeilen hinzugefügt werden. Die zweite Eingabenachricht fordert eine Reservierung an, sodass eine Datenzeile hinzugefügt wird und sich die Gesamtzahl der Datenzeilen in der Tabelle auf fünf erhöht.
Das Feld 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 im Feld RESERVATIONSEQNO.
Wenn die Reservierungen storniert werden, entfernt der Nachrichtenfluss 'XML_CancelReservation' die Reservierungen aus der Tabelle XMLPASSENGERTB. Bei der Stornierung von Reservierungen wird das Feld RESERVATIONSEQNO in der Tabelle XMLFLIGHTTB nicht zurückgesetzt, sodass die Reservierungsnummer für neue Reservierungen im Feld RESERVATIONNO der Tabelle XMLPASSENGERTB stets eindeutig ist.
Zurück zu den Informationen zum Mustercode 'Airline Reservations'