영화 상영 일정 정보를 저장하는 테이블은 영화관이나 극장에서 영화 상영 스케줄을 관리하고 고객들에게 상영 정보를 제공하는 데 중요합니다. 이 테이블은 상영 ID, 영화 ID, 상영관 ID, 상영 날짜와 시간, 가격 등의 정보를 포함할 수 있습니다. 다음은 영화 상영 일정 정보를 저장하기 위한 테이블 생성을 위한 SQL 쿼리문 예제와 각각의 설명입니다.
1. 기본 영화 상영 일정 테이블 생성
CREATE TABLE movie_showtimes (
showtime_id INT AUTO_INCREMENT PRIMARY KEY,
movie_id INT,
theater_id INT,
showtime_date TIMESTAMP,
price DECIMAL(7, 2),
FOREIGN KEY (movie_id) REFERENCES movies(movie_id),
FOREIGN KEY (theater_id) REFERENCES theaters(theater_id)
);
설명: 상영 ID, 영화 ID, 상영관 ID, 상영 날짜와 시간, 가격 등을 저장합니다.
2. 영화 정보 테이블 생성
CREATE TABLE movies (
movie_id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
director VARCHAR(100),
genre VARCHAR(50),
release_date DATE,
runtime INT
);
설명: 영화의 제목, 감독, 장르, 개봉일, 상영 시간 등을 저장합니다.
3. 상영관 정보 테이블 생성
CREATE TABLE theaters (
theater_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100),
location TEXT,
capacity INT
);
설명: 상영관의 이름, 위치, 수용 인원 등을 저장합니다.
4. 예약 테이블 생성
CREATE TABLE reservations (
reservation_id INT AUTO_INCREMENT PRIMARY KEY,
showtime_id INT,
user_id INT,
reservation_date TIMESTAMP,
seats_reserved INT,
total_price DECIMAL(7, 2),
FOREIGN KEY (showtime_id) REFERENCES movie_showtimes(showtime_id),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 예약 ID, 상영 ID, 사용자 ID, 예약 날짜, 예약 좌석 수, 총 가격 등을 저장합니다.
5. 상영 일정 변경 기록 테이블 생성
CREATE TABLE showtime_changes (
change_id INT AUTO_INCREMENT PRIMARY KEY,
showtime_id INT,
previous_time TIMESTAMP,
new_time TIMESTAMP,
change_reason TEXT,
FOREIGN KEY (showtime_id) REFERENCES movie_showtimes(showtime_id)
);
설명: 상영 일정 변경 사항과 변경 이유를 기록합니다.
6. 상영 일정 평가 테이블 생성
CREATE TABLE showtime_reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
showtime_id INT,
user_id INT,
rating DECIMAL(3, 1),
comment TEXT,
review_date TIMESTAMP,
FOREIGN KEY (showtime_id) REFERENCES movie_showtimes(showtime_id),
FOREIGN KEY (user_id) REFERENCES users(user_id)
);
설명: 상영 일정에 대한 사용자 평가와 코멘트를 저장합니다.
7. 할인 테이블 생성
CREATE TABLE discounts (
discount_id INT AUTO_INCREMENT PRIMARY KEY,
showtime_id INT,
discount_rate DECIMAL(5, 2),
discount_description TEXT,
start_date DATE,
end_date DATE,
FOREIGN KEY (showtime_id) REFERENCES movie_showtimes(showtime_id)
);
설명: 상영 일정별 할인율과 설명, 적용 기간을 저장합니다.
8. 상영 일정 통계 테이블 생성
CREATE TABLE showtime_statistics (
statistic_id INT AUTO_INCREMENT PRIMARY KEY,
showtime_id INT,
total_attendance INT,
total_revenue DECIMAL(10, 2),
FOREIGN KEY (showtime_id) REFERENCES movie_showtimes(showtime_id)
);
설명: 상영 일정별 총 관람객 수와 총 수익을 기록합니다.
9. 상영관 좌석 배치 테이블 생성
CREATE TABLE theater_seats (
seat_id INT AUTO_INCREMENT PRIMARY KEY,
theater_id INT,
seat_number VARCHAR(10),
seat_type VARCHAR(50),
FOREIGN KEY (theater_id) REFERENCES theaters(theater_id)
);
설명: 각 상영관의 좌석 번호와 타입을 저장합니다.
10. 상영 특별 이벤트 테이블 생성
CREATE TABLE special_events (
event_id INT AUTO_INCREMENT PRIMARY KEY,
showtime_id INT,
event_name VARCHAR(100),
event_description TEXT,
event_date DATE,
FOREIGN KEY (showtime_id) REFERENCES movie_showtimes(showtime_id)
);
설명: 특별 상영 이벤트의 이름, 설명, 일자를 저장합니다.
관련 전문용어 설명
CREATE TABLE: 새로운 테이블을 생성하는 SQL 명령어입니다.
INT, VARCHAR, DECIMAL, DATE, TIMESTAMP, TEXT: 데이터 유형을 나타냅니다.
AUTO_INCREMENT: 자동으로 숫자를 증가시키는 속성입니다.
PRIMARY KEY: 각 행을 고유하게 식별하는 주 키입니다.
FOREIGN KEY: 다른 테이블의 주 키를 참조하는 외래 키입니다.
'SQL' 카테고리의 다른 글
제품 레시피 테이블 생성: 제품 레시피 정보를 저장하기 위한 테이블을 생성합니다. (1) | 2024.01.01 |
---|---|
고객 리워드 테이블 생성: 고객 리워드 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
포럼 게시글 테이블 생성: 포럼 게시글 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
쿠폰 테이블 생성: 할인 쿠폰 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |
도서 대출 테이블 생성: 도서 대출 정보를 저장하기 위한 테이블을 생성합니다. (0) | 2024.01.01 |