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




Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó