JSP Servlet
QUẢN LÝ RẠP CHIẾU PHIM - KHOÁ HỌC JSP/SERLET
1. Yêu cầu thiết kế CSDL
Thiết kế cơ sở dữ liệu gồm các bảng:
- RAP
- PHONG
- PHIM
- SUAT_CHIEU
- KHACH_HANG
- VE
2. Script SQL
CREATE TABLE RAP (
rap_id INT PRIMARY KEY,
ten_rap VARCHAR(100),
dia_chi VARCHAR(255),
so_phong INT
);
CREATE TABLE PHONG (
phong_id INT PRIMARY KEY,
rap_id INT,
ten_phong VARCHAR(50),
so_ghe INT,
FOREIGN KEY (rap_id) REFERENCES RAP(rap_id)
);
CREATE TABLE PHIM (
phim_id INT PRIMARY KEY,
ten_phim VARCHAR(150),
the_loai VARCHAR(50),
thoi_luong INT,
ngay_khoi_chieu DATE
);
CREATE TABLE SUAT_CHIEU (
suat_id INT PRIMARY KEY,
phim_id INT,
phong_id INT,
thoi_gian_bat_dau DATETIME,
gia_ve DECIMAL(10,2),
FOREIGN KEY (phim_id) REFERENCES PHIM(phim_id),
FOREIGN KEY (phong_id) REFERENCES PHONG(phong_id)
);
CREATE TABLE KHACH_HANG (
kh_id INT PRIMARY KEY,
ten_kh VARCHAR(100),
so_dien_thoai VARCHAR(15),
email VARCHAR(100)
);
CREATE TABLE VE (
ve_id INT PRIMARY KEY,
suat_id INT,
kh_id INT,
so_ghe VARCHAR(10),
trang_thai VARCHAR(20),
FOREIGN KEY (suat_id) REFERENCES SUAT_CHIEU(suat_id),
FOREIGN KEY (kh_id) REFERENCES KHACH_HANG(kh_id)
);
-- RAP
INSERT INTO RAP VALUES
(1, 'CGV Vincom', 'Quận 1', 5),
(2, 'Lotte Cinema', 'Quận 7', 4);
-- PHONG
INSERT INTO PHONG VALUES
(1, 1, 'Phòng 1', 100),
(2, 1, 'Phòng 2', 80),
(3, 2, 'Phòng A', 120);
-- PHIM
INSERT INTO PHIM VALUES
(1, 'Avengers: Endgame', 'Hành động', 180, '2019-04-26'),
(2, 'Doraemon', 'Hoạt hình', 100, '2024-05-01'),
(3, 'Conan Movie', 'Trinh thám', 110, '2024-06-10');
-- SUAT_CHIEU
INSERT INTO SUAT_CHIEU VALUES
(1, 1, 1, '2026-05-10 18:00:00', 90000),
(2, 2, 2, '2026-05-10 20:00:00', 70000),
(3, 3, 3, '2026-05-11 19:00:00', 80000);
-- KHACH_HANG
INSERT INTO KHACH_HANG VALUES
(1, 'Nguyen Van A', '0901234567', 'a@gmail.com'),
(2, 'Tran Thi B', '0912345678', 'b@gmail.com');
-- VE
INSERT INTO VE VALUES
(1, 1, 1, 'A1', 'Đã đặt'),
(2, 1, 2, 'A2', 'Đã đặt'),
(3, 2, 1, 'B1', 'Trống');4. Yêu cầu nghiệp vụ
A. CRUD
1. CREATE
- Thêm phim mới
- Thêm khách hàng
- Thêm suất chiếu
- Đặt vé
2. READ
- Danh sách phim
- Danh sách suất chiếu theo phim
- Danh sách vé theo suất chiếu
- Thông tin khách hàng
3. UPDATE
- Cập nhật giá vé
- Cập nhật thông tin khách hàng
- Cập nhật trạng thái vé
4. DELETE
- Xóa phim chưa có suất chiếu
- Xóa khách hàng
- Hủy vé
B. Câu nâng cao (KHÔNG CRUD)
Tìm phim có doanh thu cao nhất
Yêu cầu:
- Doanh thu = tổng giá vé của các vé có trạng thái "Đã đặt"
-
Kết quả gồm:
- Tên phim
- Tổng doanh thu
