HCM BÁO CÁO ĐỒ ÁN MÔN CƠ SỞ DỮ LIỆU NÂNG CAO QUẢN LÝ HỆ THỐNG BÁN VÉ XEM PHIM Ngành: CÔNG NGHỆ THÔNG TIN Chuyên Ngành: CÔNG NGHỆ PHẦN MỀM Giảng viên hướng dẫn : TS... Trong ngữ cảnh nà
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM
BÁO CÁO ĐỒ ÁN MÔN
CƠ SỞ DỮ LIỆU NÂNG CAO
QUẢN LÝ HỆ THỐNG BÁN VÉ XEM PHIM
Ngành: CÔNG NGHỆ THÔNG TIN Chuyên Ngành: CÔNG NGHỆ PHẦN MỀM
Giảng viên hướng dẫn : TS Cao Tùng Anh
1 Nguyễn Ngọc Tâm Như 2011062276 20DTHD1
2 Phan Út Thâu 2011063059 20DTHD1
TP Hồ Chí Minh, 2023
Trang 2Cơ sở dữ liệu nâng cao
1 Khảo sát hiện trạng (đi thực tế hoặc giả lập).
Trong thời đại Cộng nghiệp hóa 4.0 hiện nay, tin học đã trở thành một phần không thể thiếu và quan trọng trong cuộc sống của mọi người, từ mọi tầng lớp
và ngành nghề Sự phát triển của công nghệ đã dẫn đến việc xuất hiện nhiều phần mềm ứng dụng đa dạng để đáp ứng các nhu cầu cụ thể
Trong ngữ cảnh này, việc quản lý và tổ chức bán vé xem phim trong các rạp chiếu phim là một vấn đề được coi trọng Người quản lý gặp khó khăn trong việc điều hành các khía cạnh của hoạt động rạp, bao gồm việc quản lý phim (bao gồm các phim đang chiếu, phim sắp chiếu, phim bom tấn, phim 18+), lịch chiếu, trang thiết bị, và đặc biệt là quá trình bán vé Khách hàng thường phải xếp hàng chờ đợi lâu để mua vé xem phim, dẫn đến giảm lượng khán giả đến rạp, ảnh hưởng đến doanh thu Vì vậy, việc phát triển hệ thống quản lý rạp chiếu phim là một điều tất yếu
Quản lý một hệ thống rạp chiếu phim là công việc phức tạp, đòi hỏi thời gian và công sức Hệ thống quản lý rạp phải đáp ứng nhu cầu thực tế của khách hàng và người quản lý để giải quyết các khó khăn và giảm thiểu rủi ro Hệ thống này bao gồm các chức năng quản lý phim, quản lý lịch chiếu, quản lý phòng chiếu, quản lý vé, quản lý người dùng và quản lý thông tin khách hàng
Như vậy, việc sử dụng công nghệ thông tin trong quản lý rạp chiếu phim là không thể thiếu Để quản lý hiệu quả, cần sử dụng phần mềm đảm bảo tính chính xác, bảo mật, dễ sử dụng và tốc độ xử lý nhanh
Do nhu cầu giải trí ngày càng tăng, số lượng rạp chiếu phim cũng gia tăng để đáp ứng nhu cầu của người tiêu dùng Việc quản lý và tổ chức bán vé, chiếu phim là vấn đề quan trọng trong ngành
Trong bối cảnh này, việc ứng dụng công nghệ thông tin để hỗ trợ quản lý bán
vé xem phim trở nên cần thiết Việc này giúp giảm áp lực cho người bán vé và
Trang 3Cơ sở dữ liệu nâng cao
quản lý, cải thiện thông tin liên quan đến vé và lịch chiếu, đồng thời giúp người xem dễ dàng truy cập thông tin và giúp người quản lý cập nhật nhanh chóng
Để đáp ứng nhu cầu này, nhóm chúng tôi thực hiện đề tài nghiên cứu về hệ thống quản lý bán vé xem phim Hệ thống này nhằm cải thiện chất lượng quản
lý bán vé tại các rạp, loại bỏ các sai sót thường gặp trong các phương pháp truyền thống Trọng tâm của đề tài là phân tích và mô phỏng toàn bộ mô hình quản lý bán vé xem phim, đảm bảo tính dễ sử dụng cho người sử dụng và người xem
2 Nêu tính khả thi của bài toán (tính thuyết phục cần tin học hóa).
Đứng trước những khó khăn của cách quản lý rạp chiếu phim truyền thống, nhiều phần mềm hỗ trợ điều hành rạp chiếu được hoàn thiện và nâng cấp Phần mềm quản lý rạp chiếu phim không chỉ giúp tối ưu hóa quá trình quản lý và cung cấp dịch vụ thuận tiện cho khách hàng mà còn giúp tối ưu hóa lợi nhuận
và cải thiện hiệu suất kinh doanh của rạp chiếu phim Lợi ích mà phần mềm mang lại phải kể đến như:
Giúp khách hàng dễ dàng tìm kiếm thông tin về lịch chiếu, chọn ghế ngồi, và mua vé trực tuyến, giảm thời gian chờ đợi và tạo sự thuận tiện hơn
Quản lý số lượng ghế trống, theo dõi doanh thu, và đảm bảo rằng các chi tiết về chiếu phim, giá vé và quà tặng được cập nhật một cách chính xác
Tối ưu hóa ngân sách quảng cáo, tiếp thị và tăng khả năng thu hút khán giả Phần mềm quản lý cho phép quản lý kiểm soát rạp chiếu phim từ bất kỳ đâu, bất
kể khi nào, qua kết nối internet Điều này giúp họ thích nghi nhanh với thay đổi
và giám sát hoạt động kịp thời
3 Mô tả tóm tắt bài toán cần quản lý (giống như mô tả tình huống trong môn
PTTK HTTT)
Hệ thống quản lý một rạp chiếu phim nhỏ có các yêu cầu như sau:
Rạp chiếu phim có nhiều nhân viên với nhiều các chức vụ khác nhau: nhân viên bán hàng, nhân viên bán vé, nhân viên quản lý…Mỗi nhân viên chỉ đảm nhiệm
Trang 4Cơ sở dữ liệu nâng cao
một chức vụ duy nhất Rạp quản lý các nhân viên bằng mã nhân viên, và có lưu thông tin trong kho dữ liệu: họ tên, địa chỉ, số điện thoại
Rạp chiếu phim có nhiều phòng chiếu, phân biệt với nhau bằng số phòng chiếu Mỗi phòng chiếu có các thuộc tính: số ghế (50-100 ghế tùy phòng), và chỉ đáp ứng được cho một loại hình phim (2D, 3D, IMAX,…) Mỗi phòng chiếu có nhiều ghế ngồi được đánh số khác nhau phân biệt, tùy ghế ngồi thuộc loại nào
mà có giá khác nhau (ghế thường, ghế đôi, ghế giường nằm…)
Rạp chiếu phim quản lý các bộ phim mình đang chiếu phân biệt bằng mã bộ phim Mỗi bộ phim chỉ thuộc một loại hình nhất định (2D, 3D, IMAX…), và chỉ thuộc một thể loại Các bộ phim thuộc cùng một loại hình sẽ có giá vé cơ bản như nhau Mỗi thể loại phim phân biệt bằng mã thể loại, và tùy thể loại phim có thể yêu cầu độ tuổi người xem
Mỗi bộ phim có thể được chiếu ở nhiều suất chiếu ở các phòng chiếu khác nhau ứng với loại hình tương thích Các suất chiếu có giờ và ngày chiếu, và phân biệt với nhau bằng mã suất chiếu Mỗi suất chiếu có thể bán ra nhiều vé xem phim ứng với số ghế mà phòng chiếu tương ứng của nó cho phép
Khách xem phim đến rạp sẽ mua vé xem phim tại quầy vé, được bán bởi nhân viên bán vé Vé xem phim có ghi mã vé, thông tin số phòng chiếu, số ghế ngồi, giá vé (được tính bằng tổng giá vé theo loại ghế và loại hình phim cộng lại), và chỉ ứng với một suất chiếu duy nhất Nếu phim có yêu cầu độ tuổi, nhân viên có quyền kiểm tra độ tuổi của khách hàng có đáp ứng không rồi mới bán vé
4 Mô hình ERD
Trang 5Cơ sở dữ liệu nâng cao
5 Lược đồ quan hệ
-Lớp CHUCVU:
PTH = {MACHUCVU → TENCHUCVU} => BCNF
Trang 6Cơ sở dữ liệu nâng cao
-Lớp NHANVIEN:
PTH = {MANV → MACHUCVU, TENNV, SDT, DIACHI} => BCNF
-Lớp KHACHHANG:
PTH = {MAKH →TENKH, SDT, DIACHI} => BCNF
-Lớp HOADON
PTH = {MAHOADON→ NGAYLAP, MAKH, MANV} => BCNF
-Lớp CHITIETHOADON
Trang 7Cơ sở dữ liệu nâng cao
PTH = {MAHOADON,MAVE→ NGAYLAP, MANV} => BCNF
-Lớp VEPHIM:
PTH = {MAVE → MASUAT, MASOGHE, MANV, GIAVE} => BCNF
-Lớp GHE:
U
Số phòng chiếu FK
PTH = {MASOGHE → SOPHONGCHIEU, MALOAIGHE} => BCNF
Trang 8Cơ sở dữ liệu nâng cao
-Lớp LOAIGHE:
PTH = {MALOAIGHE → TENLOAI, GIAVE} => BCNF
- Lớp PHONGCHIEU:
U
Số phòng chiếu PK
PTH = {SOPHONGCHIEU → MALOAIHINH, SOGHE} => BCNF
-Lớp LOAIHINHPHIM:
PTH = {MALOAIHINH → MOTA, GIAVE} => BCNF
-Lớp PHIM
3 NGAYCONGCHIEU Ngày công chiếu
Trang 9Cơ sở dữ liệu nâng cao
PTH = { MAPHIM→ TENPHIM,NGAYCONGCHIEU, MATHELOAI,
MALOAIHINH } => BCNF
-Lớp SUATCHIEU:
2 SOPHONGCHIEU Số phòng chiếu FK
PTH = { MASUAT → SOPHONGCHIEU, MAPHIM, NGAYCHIEU,
GIOCHIEU }=> BCNF
-Lớp THELOAIPHIM:
PTH = {MATHELOAI → TÊNTHELOAI, MOTA, DOTUOI} => BCNF
Tất và cả các phụ thuộc hàm đều đạt BCNF không đa trị => 4NF
Trang 10Cơ sở dữ liệu nâng cao
6 Ràng buộc toàn vẹn và bảng tầm ảnh hưởng
Ký hiệu
+: Kiểm tra RBTV khi thực hiện thao tác tương ứng
*: Không phải kiểm tra
-: Không được thay đổi
Ràng buộc toàn vẹn trên khóa chính
R1: q1,q2 CHUCVU
ĐK: q1 MACHUCVU <> q2 MACHUCVU
R2: q1,q2 NHANVIEN
ĐK: q1 MANV <> q2 MANV
R3: q1,q2 KHACHHANG
ĐK: q1 MAKH<> q2 MAKH
R4: q1,q2 HOADON
ĐK: q1 MAHOADON<> q2 MAHOADON
R5: q1,q2 CHITIETHOADON
ĐK: q1 MAHOADON<> q2 MAHOADON
Trang 11Cơ sở dữ liệu nâng cao
R6: q1,q2 VEPHIM
ĐK: q1 MAVE<> q2 MAVE
R7: q1,q2 GHE
ĐK: q1 MASOGHE<> q2 MASOGHE
R8: q1,q2 LOAIGHE
ĐK: q1 MALOAIGHE<> q2 MALOAIGHE
R9: q1,q2 PHONGCHIEU
ĐK: q1 SOPHONGCHIEU<> q2 SOPHONGCHIEU
R10: q1,q2 LOAIHINHPHIM
ĐK: q1 MALOAIHINH<> q2 MALOAIHINH
R11: q1,q2 PHIM
ĐK: q1 MAPHIM<> q2 MAPHIM
Trang 12Cơ sở dữ liệu nâng cao
R12: q1,q2 SUATCHIEU
ĐK: q1 MASUAT<> q2 MASUAT
R13: q1,q2 THELOAIPHIM
ĐK: q1 MATHELOAI<> q2 MATHELOAI
Ràng buộc toàn vẹn theo khóa ngoại
Trang 13Cơ sở dữ liệu nâng cao
R1: CHUCVU [MACHUCVU] NHANVIEN [MACHUCVU]
-R2: NHANVIEN [MANV] HOADON [MANV]
R3: NHANVIEN [MANV] VEPHIM [MANV]
R4: KHACHHANG [MAKH] HOADON [MAKH]
R5: HOADON [MAHOADON] CHITIETHOADON [MAHOADON]
R6: VEPHIM [MAVE] CHITIETHOADON [MAVE]
Trang 14Cơ sở dữ liệu nâng cao
R7: LOAIGHE [MALOAIGHE] GHE [MALOAIGHE]
R8: GHE [MASOGHE] VEPHIM [MASOGHE]
R9: PHONGCHIEU [SOPHONGCHIEU] SUATCHIEU
[SOPHONGCHIEU]
R10: PHONGCHIEU [SOPHONGCHIEU] GHE [SOPHONGCHIEU]
R11: LOAIHINHPHIM [MALOAIHINH] PHONGCHIEU
[MALOAIHINH]
R12: LOAIHINHPHIM [MALOAIHINH] PHIM [MALOAIHINH]
Trang 15Cơ sở dữ liệu nâng cao
R13: PHIM [MAPHIM] SUATCHIEU [MAPHIM]
R14: SUATCHIEU [MASUAT] VEPHIM [MASUAT]
R15: THELOAIPHIM [MATHELOAI] PHIM [MATHELOAI]
Ràng buộc toàn vẹn miền giá trị
R1: q, q1, q2 CHUCVU
ĐK: q MACHUCVU.length <=2
R2: q, q1, q2 NHANVIEN
ĐK: q MANV.length =10
q SDT.length =11
R3: q, q1, q2 KHACHHANG
ĐK: q MAKH.length =10
q SDT.length =11
R4: q, q1, q2 HOADON
ĐK: q MAHOADON.length <=10
Trang 16Cơ sở dữ liệu nâng cao
q NGAYLAP =(ngày hiện tại)
R5: q, q1, q2 CHITIETHOADON
q NGAYLAP =(ngày hiện tại)
R6: q, q1, q2 VEPHIM
ĐK: q MAVE.length <=5
R7: q, q1, q2 GHE
ĐK: q MASOGHE.length <=4
q MASOGHE.length <=3
R8: q, q1, q2 LOAIGHE
ĐK: q MALOAIGHE.length <=6
R9: q, q1, q2 PHONGCHIEU
ĐK: q SOPHONGCHIEU.length <=4
R10: q, q1, q2 LOAIHINHPHIM
ĐK: q MALOAIHINH.length <=2
R11: q, q1, q2 PHIM
ĐK: q MAPHIM.length <=2
q.NGAYCONGCHIEU =(ngày hiện tại)
R12: q, q1, q2 SUATCHIEU
ĐK: q MASUAT.length <=7
Trang 17Cơ sở dữ liệu nâng cao
q.NGAYCHIEU =(ngày hiện tại)
q.GIOCHIEU =(giờ hiện tại)
R15: q, q1, q2 THELOAIPHIM
ĐK: q MATHELOAI.length <=8
7 Đồ Thị Quan Hệ
*Lược đồ quan hệ
1 - CHUCVU(MACHUCVU, TENCHUCVU)
2 - NHANVIEN(MANV, MACHUCVU, TENNV, SDT , DIACH)
3 - KHACHHANG(MAKH, TENKH, SDT , DIACH)
4 - HOADON(MAHOADON, MAKH , MANV , NGAYLAP)
5 - CHITIETHOADON(MAVE,MAHOADON, NGAYLAP, GIATIEN)
6 - VEPHIM (MAVE, MASUAT , MASOGHE, MANV, GIAVE)
7 - GHE (MASOGHE, SOPHONGCHIEU, MALOAIGHE)
8 - LOAIGHE (MALOAIGHE, TENLOAI, GIAVE)
9 - PHONGCHIEU (SOPHONGCHIEU, MALOAIHINH, SOGHE)
10 - LOAIHINHPHIM (MALOAIHINH, MOTA, GIAVE)
11 - PHIM (MAPHIM, TENPHIM, NGAYCONGCHIEU, MATHELOAI,
MALOAIHINH)
12 - SUATCHIEU (MASUAT, SOPHONGCHIEU, MAPHIM, NGAYCHIEU, GIOCHIEU)
13 - THELOAIPHIM (MATHELOAI, TENTHELOAI, MOTA, DOTUOI)
*Từ lượt đồ quan hệ
B1: Biến C thành một phân rã đồng nhất C d :
B2: Tạo nút và quan hệ nút:
Q1 - CHUCVU(MACHUCVU, TENCHUCVU)
Trang 18Cơ sở dữ liệu nâng cao
Q2 - NHANVIEN(MANV, MACHUCVU, TENNV, SDT , DIACH)
Q3 - KHACHHANG(MAKH, TENKH, SDT , DIACH)
Q4 - HOADON(MAHOADON, MAKH , MANV , NGAYLAP)
Q5 - CHITIETHOADON(MAVE,MAHOADON, NGAYLAP, GIATIEN)
Q6 - VEPHIM (MAVE, MASUAT , MASOGHE, MANV, GIAVE)
Q7 - GHE (MASOGHE, SOPHONGCHIEU, MALOAIGHE)
Q8 - LOAIGHE (MALOAIGHE, TENLOAI, GIAVE)
Q9 - PHONGCHIEU (SOPHONGCHIEU, MALOAIHINH, SOGHE)
Q10 - LOAIHINHPHIM (MALOAIHINH, MOTA, GIAVE)
Q11 - PHIM (MAPHIM, TENPHIM, NGAYCONGCHIEU, MATHELOAI,
MALOAIHINH)
Q12 - SUATCHIEU (MASUAT, SOPHONGCHIEU, MAPHIM, NGAYCHIEU, GIOCHIEU)
Q13 - THELOAIPHIM (MATHELOAI, TENTHELOAI, MOTA, DOTUOI)
B3: Tạo nút bản lề và quan hệ (nút) bản lề:
Không thể tạo nút bản lề
B4: Tạo cung và quan hệ cung:
Trang 19Cơ sở dữ liệu nâng cao
Các quan hệ cung:
Q2, 1 (MANV, MACHUCVU)
Q4, 2 (MAVE, MANV); Q4, 3 (MAVE, MAKH);
Q5, 4 (MAVE,MAHOADON);
Q5, 6 (MAHOADON,MAVE);
Q6, 2 (MAVE, MANV); Q6, 7 (MAVE, MASOGHE);
Q6, 12 (MAVE, MASUAT);
Q7, 8 (MASOGHE, MALOAIGHE); Q7, 9 (MASOGHE, SOPHONGCHIEU);
Q9, 10 (SOPHONGCHIEU, MALOAIHINH);
Q11, 10 (MAPHIM, MATHELOAI); Q11, 13 (MAPHIM, MATHELOAI);
Q12, 9 (MASUAT, SOPHONGCHIEU); Q12, 11 (MASUAT, MAPHIM);
B5: Hủy những nút bản lề thừa:
Trang 20Cơ sở dữ liệu nâng cao
Không có nút bản lề để hủy
B6: Mịn hóa các quan hệ nút:
Xóa thuộc tính khóa ngoại (Không tham gia khóa) của nút I là thuộc tính khóa của nút J
(Thuộc tính màu xanh dương là được xóa)
Q2 - NHANVIEN(MANV, MACHUCVU, TENNV, SDT , DIACH)
Q4 - HOADON(MAHOADON, MAKH , MANV , NGAYLAP)
Q6 - VEPHIM (MAVE, MASUAT , MASOGHE, MANV, GIAVE)
Q7 - GHE (MASOGHE, SOPHONGCHIEU, MALOAIGHE)
Q9 - PHONGCHIEU (SOPHONGCHIEU, MALOAIHINH, SOGHE)
Q11 - PHIM (MAPHIM, TENPHIM, NGAYCONGCHIEU, MATHELOAI,
Q12 - SUATCHIEU (MASUAT, SOPHONGCHIEU, MAPHIM, NGAYCHIEU, GIOCHIEU)
B7: Tạo cung vô hướng:
Không tạo cung vô hướng