RESERVDB 데이터베이스 정보

RESERVDB 사용자 데이터베이스에는 XMLFLIGHTTB 및 XMLPASSENGERTB라는 두 개의 테이블이 있습니다. 다음 그림에 XML_Reservation 및 XML_CancelReservation 메시지 플로우가 두 테이블 내의 데이터를 수정하고 XML_PassengerQuery 및 XML_FlightQuery 메시지 플로우는 정보를 조회만 하고 데이터를 수정하지 않는 방법이 나와 있습니다.

메시지 플로우와 사용자 데이터베이스 간의 상호작용을 요약하는 다이어그램

XMLFLIGHTTB 테이블

XMLFLIGHTTB 테이블의 목적은 항공기에 예약 가능한 좌석에 대한 현재 정보를 포함하는 것입니다. 작성될 때 XMLFLIGHTTB 테이블은 항공기에 대한 데이터로 채워집니다. XML_Reservation 및 XML_CancelReservation 메시지 플로우는 테이블의 데이터를 수정합니다.

다음 표에서는 XMLFLIGHTTB의 필드에 대한 일부 정보를 보여줍니다.

필드 이름 데이터 유형 널(null) 컨텐츠
FLIGHTDATE CHAR 아니오 항공기의 날짜
FLIGHTNO CHAR 아니오 항공기 번호
ECONOMICCLASS INTEGER 아니오 일반석에 예약된 좌석 번호
FIRSTCLASS INTEGER 아니오 일등석에 예약된 좌석 번호
TOTALECONOMIC INTEGER 아니오 일반석에 사용 가능한 좌석 번호
TOTALFIRST INTEGER 아니오 일등석에 사용 가능한 좌석 번호
ECONOMICPRICE INTEGER 아니오 일반석 좌석의 요금
FIRSTPRICE INTEGER 아니오 일등석 좌석의 요금
STARTPOINT CHAR 아니오 항공기의 출발지
ENDPOINT CHAR 아니오 항공기의 도착지
RESERVATIONSEQNO INTEGER 아니오 예약 번호. XML_Reservation 메시지 플로우는 이 번호를 사용하여 승객의 고유 예약 번호를 생성합니다.

승객이 항공기에 좌석을 예약하면 XML_Reservation 메시지 플로우는 각 좌석 등급에 예약 가능한 좌석의 수를 감소시키며, 이는 XMLFLIGHTTB 테이블의 TOTALECONOMIC 및 TOTALFIRST 필드에 표시됩니다. XML_Reservation 메시지 플로우는 ECONOMICCLASS 및 FIRSTCLASS 필드의 예약된 좌석 수를 증가시킵니다.

XMLFLIGHTTB 테이블에서 각 행의 RESERVATIONSEQNO는 테이블이 작성되고 채워질 때 "0"입니다. 첫 번째 입력 메시지를 사용하여 XML_Reservation 메시지 플로우를 처음 실행할 때, 테이블의 각 행에서 RESERVATIONSEQUENCENUMBER가 "4"로 증가되어 네 개의 좌석이 예약되었음을 표시합니다. 두 번째 입력 메시지를 사용하여 XML_Reservation 메시지 플로우를 실행하면 RESERVATIONSEQNO가 "5"로 증가됩니다. RESERVATIONSEQNO는 고유 예약 번호를 작성하는 데 사용됩니다. 예약이 취소되면 RESERVATIONSEQNO 필드의 수는 감소되지 않습니다.

예약이 취소되면 XML_CancelReservation 메시지 플로우는 예약 가능한 좌석 수를 증가시키며(이는 TOTALECONOMIC 및 TOTALFIRST 필드에 표시됨) 항공기 예약 수를 감소시킵니다(이는 ECONOMICCLASS 및 FIRSTCLASS 필드에 표시됨).

XMLPASSENGERTB 테이블

XMLPASSENGERTB 테이블의 목적은 XMLFLIGHTTB에 나열된 항공기에 좌석을 예약한 승객에 대한 현재 정보를 포함하는 것입니다. 작성될 때 XMLPASSENGERTB 테이블에는 어떤 데이터도 포함되지 않습니다. XML_Reservation 및 XML_CancelReservation 메시지 플로우는 테이블에서 데이터를 추가하고 제거합니다.

다음 표에서는 XMLPASSENGERTB의 필드에 대한 일부 정보를 보여줍니다.

필드 이름 데이터 유형 널(null) 컨텐츠
LASTNAME CHAR 아니오 승객의 성
FIRSTNAME CHAR 아니오 승객의 이름
FLIGHTNO CHAR 아니오 항공기 번호
FLIGHTDATE CHAR 아니오 항공기의 날짜
CLASSTYPE CHAR 아니오 예약된 좌석의 등급
RESERVATIONNO VARCHAR 아니오 고유 예약 번호는 XML_Reservation 메시지 플로우에 의해 할당됩니다.

승객이 항공기에 좌석을 예약하면 XML_Reservation 메시지 플로우는 좌석을 예약한 각 승객에 대해 한 행을 MRMPASSENGERTB 테이블에 추가합니다. 첫 번째 XML_Reservation 입력 메시지는 네 개의 예약을 요청하므로 네 개의 데이터 행이 추가됩니다. 두 번째 입력 메시지는 하나의 예약을 요청하므로, 하나의 데이터 행이 추가되어 테이블의 데이터 행이 5개가 됩니다.

RESERVATIONNO 열에는 예약을 고유하게 식별하기 위해 자동으로 생성된 예약 번호가 포함됩니다. 이후에 XML_Reservation 메시지 플로우를 실행할 때마다 RESERVATIONSEQNO가 증가됩니다.

예약이 취소되면 XML_CancelReservation 메시지 플로우는 MRMPASSENGERTB 테이블에서 예약을 제거합니다. 예약을 취소하면 XMLFLIGHTTB 테이블 내의 RESERVATIONSEQNO 필드가 재설정되지 않으므로, 새로 예약을 해도 XMLPASSENGERTB 테이블의 RESERVATIONNO 필드에 있는 예약 번호는 항상 고유합니다.

기본 페이지 아이콘   Airline Reservations 샘플 정보로 돌아가기