온라인 예약 정보를 저장하는 테이블은 호텔, 레스토랑, 의료 서비스, 이벤트 관리 등 다양한 분야에서 중요합니다. 이 테이블은 예약 ID, 고객 ID, 예약 날짜와 시간, 서비스 ID, 예약 상태, 예약 관련 특이 사항 등의 정보를 포함할 수 있습니다. 다음은 온라인 예약 서비스를 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 예약 테이블 생성
CREATE TABLE reservations (
reservation_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
service_id INT,
reservation_date TIMESTAMP,
reservation_time TIME,
reservation_status VARCHAR(50),
notes TEXT
);
설명: 예약 ID, 고객 ID, 서비스 ID, 예약 날짜, 예약 시간, 예약 상태, 특이 사항 등을 저장합니다.
2. 고객 정보 테이블 생성
CREATE TABLE customers (
customer_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
contact_info TEXT,
email VARCHAR(100),
address TEXT
);
설명: 고객 ID, 이름, 연락처 정보, 이메일, 주소 등을 저장합니다.
3. 서비스 정보 테이블 생성
CREATE TABLE services (
service_id INT AUTO_INCREMENT PRIMARY KEY,
service_name VARCHAR(100),
description TEXT,
duration INT,
price DECIMAL(7,2)
);
설명: 서비스 ID, 서비스 이름, 설명, 지속 시간, 가격 등을 저장합니다.
4. 예약 변경 로그 테이블 생성
CREATE TABLE reservation_changes (
change_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
change_date TIMESTAMP,
change_type VARCHAR(50),
reason TEXT,
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 변경 로그 ID, 예약 ID, 변경 날짜, 변경 타입, 변경 이유 등을 저장합니다.
5. 예약 확인 테이블 생성
CREATE TABLE reservation_confirmations (
confirmation_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
confirmation_date TIMESTAMP,
confirmed_by INT,
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 확인 ID, 예약 ID, 확인 날짜, 확인한 사람 ID 등을 저장합니다.
6. 예약 취소 테이블 생성
CREATE TABLE reservation_cancellations (
cancellation_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
cancellation_date TIMESTAMP,
cancellation_reason TEXT,
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 취소 ID, 예약 ID, 취소 날짜, 취소 이유 등을 저장합니다.
7. 예약 대기 목록 테이블 생성
CREATE TABLE reservation_waitlist (
waitlist_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
waitlist_date TIMESTAMP,
priority INT,
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 대기 목록 ID, 예약 ID, 대기 목록 날짜, 우선 순위 등을 저장합니다.
8. 예약 특별 요청 테이블 생성
CREATE TABLE special_requests (
request_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
request_text TEXT,
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 특별 요청 ID, 예약 ID, 요청 내용 등을 저장합니다.
9. 결제 기록 테이블 생성
CREATE TABLE payment_records (
payment_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
payment_date TIMESTAMP,
amount_paid DECIMAL(7,2),
payment_method VARCHAR(50),
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 결제 기록 ID, 예약 ID, 결제 날짜, 결제 금액, 결제 방법 등을 저장합니다.
10. 예약 평가 테이블 생성
CREATE TABLE reservation_reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
review_date TIMESTAMP,
rating INT,
comments TEXT,
FOREIGN KEY (reservation_id) REFERENCES reservations(reservation_id)
);
설명: 리뷰 ID, 예약 ID, 리뷰 날짜, 평점, 코멘트 등을 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, TIMESTAMP, DECIMAL, TEXT, TIME, DATE: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
버스 예매 테이블 생성: 모바일 예약서비스를 위한 테이블 생성합니다. (0) | 2024.01.02 |
---|---|
자동차 주행 로그 테이블 생성: 자동차 주행 로그 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
지도 위치 테이블 생성: 지도 위치 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
학교 수업 일정 테이블 생성: 학교 수업 일정 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.02 |
음악 플레이리스트 테이블 생성: 음악 플레이리스트 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.02 |