항공편 예약 정보를 저장하는 테이블은 여행객들이 항공권을 예약, 관리하고 항공사가 예약을 추적하는 데 중요합니다. 이 테이블은 예약 ID, 고객 ID, 항공편 ID, 예약 날짜, 출발일, 도착일, 좌석 등급, 지불 정보, 예약 상태 등의 정보를 포함할 수 있습니다. 다음은 항공편 예약 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 항공편 예약 테이블 생성
CREATE TABLE flight_reservations (
reservation_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
flight_id INT,
reservation_date DATE,
departure_date DATE,
arrival_date DATE,
seat_class VARCHAR(50),
payment_status VARCHAR(50),
reservation_status VARCHAR(50),
total_cost DECIMAL(10, 2),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id),
FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
);
설명: 예약 ID, 고객 ID, 항공편 ID, 예약 날짜, 출발일, 도착일, 좌석 등급, 지불 상태, 예약 상태, 총 비용 등을 저장합니다.
2. 고객 정보 테이블 생성
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
passport_number VARCHAR(50),
contact_info TEXT,
email VARCHAR(100)
);
설명: 고객 ID, 이름, 여권 번호, 연락처 정보, 이메일 등을 저장합니다.
3. 항공편 정보 테이블 생성
CREATE TABLE flights (
flight_id INT AUTO_INCREMENT PRIMARY KEY,
flight_number VARCHAR(10),
airline VARCHAR(50),
departure_airport VARCHAR(50),
arrival_airport VARCHAR(50),
departure_time TIMESTAMP,
arrival_time TIMESTAMP
);
설명: 항공편 ID, 항공편 번호, 항공사, 출발 공항, 도착 공항, 출발 시간, 도착 시간 등을 저장합니다.
4. 예약 결제 정보 테이블 생성
CREATE TABLE reservation_payments (
payment_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
payment_date DATE,
amount DECIMAL(10, 2),
payment_method VARCHAR(50),
payment_status VARCHAR(50),
FOREIGN KEY (reservation_id) REFERENCES flight_reservations(reservation_id)
);
설명: 결제 ID, 예약 ID, 결제 날짜, 결제 금액, 결제 방법, 결제 상태 등을 저장합니다.
5. 예약 변경 기록 테이블 생성
CREATE TABLE reservation_changes (
change_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
change_date TIMESTAMP,
previous_departure DATE,
new_departure DATE,
previous_arrival DATE,
new_arrival DATE,
change_reason TEXT,
FOREIGN KEY (reservation_id) REFERENCES flight_reservations(reservation_id)
);
설명: 변경 기록 ID, 예약 ID, 변경 날짜, 변경 전후 출발일/도착일, 변경 이유 등을 저장합니다.
6. 항공편 좌석 테이블 생성
CREATE TABLE flight_seats (
seat_id INT AUTO_INCREMENT PRIMARY KEY,
flight_id INT,
seat_number VARCHAR(10),
class VARCHAR(50),
availability BOOLEAN,
FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
);
설명: 좌석 ID, 항공편 ID, 좌석 번호, 클래스, 사용 가능 여부 등을 저장합니다.
7. 항공편 스케줄 테이블 생성
CREATE TABLE flight_schedules (
schedule_id INT AUTO_INCREMENT PRIMARY KEY,
flight_id INT,
scheduled_departure TIMESTAMP,
scheduled_arrival TIMESTAMP,
status VARCHAR(50),
FOREIGN KEY (flight_id) REFERENCES flights(flight_id)
);
설명: 스케줄 ID, 항공편 ID, 예정 출발 시간, 예정 도착 시간, 상태 등을 저장합니다.
8. 항공편 리뷰 테이블 생성
CREATE TABLE flight_reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
customer_id INT,
review_date DATE,
rating INT,
comments TEXT,
FOREIGN KEY (reservation_id) REFERENCES flight_reservations(reservation_id),
FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);
설명: 리뷰 ID, 예약 ID, 고객 ID, 리뷰 날짜, 평점, 코멘트 등을 저장합니다.
9. 특별 요청 테이블 생성
CREATE TABLE special_requests (
request_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
request_text TEXT,
response TEXT,
FOREIGN KEY (reservation_id) REFERENCES flight_reservations(reservation_id)
);
설명: 특별 요청 ID, 예약 ID, 요청 내용, 응답 내용 등을 저장합니다.
10. 체크인 기록 테이블 생성
CREATE TABLE check_ins (
check_in_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
check_in_time TIMESTAMP,
luggage_count INT,
seat_assignment VARCHAR(10),
boarding_pass_issued BOOLEAN,
FOREIGN KEY (reservation_id) REFERENCES flight_reservations(reservation_id)
);
설명: 체크인 ID, 예약 ID, 체크인 시간, 수하물 수, 좌석 배정, 탑승권 발급 여부 등을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DATE, TIMESTAMP, DECIMAL, BOOLEAN, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
온라인 강의 테이블 생성: 온라인 강의 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
---|---|
사용자 프로필 테이블 생성: 사용자 프로필 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |
음식 주문 테이블 생성: 음식 주문 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
호텔 예약 테이블 생성: 호텔 예약 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
공지사항 테이블 생성: 웹사이트 공지사항 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |