PHÂN TÍCH HỆ THỐNG
GIỚI THIỆU HỆ THỐNG
Hệ thống quản lý rạp phim được xây dựng trên nền tảng SQL - ngôn ngữ truy vấn mang tính cấu trúc là một loại ngôn ngữ máy tính phổ biến để tạo, sửa và lấy dữ liệu
Hệ thống quản lý rạp phim ra đời nhằm đáp ứng những nhu cầu thực tế của khách hàng và nhà quản lý nhằm giải quyết những khó khăn gặp phải, giảm thiểu rủi ro trong quá trình quản lý rạp Hệ thống hướng tới các đối tượng là khách hàng và những nhân viên quản lý trong rạp
Hệ thống có các chức năng chính bao gồm: quản lý phim, quản lý phòng chiếu,quản lý vé, đặt vé, quản lý người dùng và quản lý thông tin khách hàng Các chức năng này giúp người quản lý dễ dàng điều khiển quá trình hoạt động của rạp và rất thuận tiện để khách hàng có thể mua được vé.
MÔ TẢ HỆ THỐNG
Hệ thống tại rạp phim xử lý khối lượng thông tin lớn hàng ngày, bao gồm cả thông tin khách hàng được cập nhật khi mua vé và dữ liệu nhân viên làm ca linh hoạt Thông tin khách hàng được sử dụng để quản lý dữ liệu khách hàng, trong khi thông tin nhân viên được dùng để tính lương và theo dõi hiệu suất công việc Nhờ đó, hệ thống đảm bảo lưu trữ và quản lý thông tin hiệu quả, hỗ trợ các hoạt động vận hành của rạp phim.
Mỗi nhân viên sẽ có mô •t mã nhân viên duy nhất để phân biệt với nhau và ghi nhâ •n các thông tin khác như: Họ tên, ngày sinh, địa chỉ, số điện thoại, phái và lương Khi vào ca làm, nhân viên sẽ thực hiện check in và đứng tại 1 quầy duy nhất đến khi kết thúc ca làm nhân viên phải thực hiện check out trước khi ra về để được chấm công
Khách hàng có thể đặt vé qua tổng đài hoặc trực tiếp tại phòng vé Mỗi quầy bán vé có nhân viên chịu trách nhiệm bán vé, cung cấp thông tin, chọn vé, bán vé và thu tiền từ khách hàng Nhân viên bán vé giữ vai trò quản lý việc chấp nhận hoặc từ chối bán vé, đặt vé cho khách theo yêu cầu (trừ khi suất chiếu đã hết vé hoặc chỗ ngồi đã được đặt trước) Mỗi khách hàng mua vé đều được ghi nhận thông tin cá nhân cơ bản như họ tên, địa chỉ, số điện thoại, ngày sinh và giới tính Mỗi khách hàng có một mã khách hàng duy nhất để dễ dàng phân biệt và quản lý.
Mỗi quầy sẽ có 1 tên quầy để phân biệt Vào mỗi ca thì mỗi nhân viên sẽ được sắp xếp cụ thể vào các quầy Mỗi lần bán, quầy sẽ ghi nhận lại mã vé bán được.
Sau khi vé đã được bán cho khách hàng Trên vé sẽ có các thông tin như: mã vé, loại vé, mã khách hàng, mã nhân viên, mã phim, mã phòng chiếu, mã suất, giá vé, số ghế, ngày bán vé Khi đặt vé khách hàng sẽ phải chọn phim muốn xem, phim mà khách hàng muốn xem sẽ thuộc 1 thể loại phim, nhân viên sẽ kiểm tra xem phim khách hàng muốn xem có những suất chiếu nào và được chiếu ở phòng chiếu nào Khách hàng muốn xem suất chiếu nào, mỗi su]t chi_u sẽ bao gồm mã suất chiếu, giờ bắt đầu, giờ kết thúc Tiếp theo nhân viên sẽ kiểm tra xem suất chiếu khách hàng đã chọn còn những vị trí nào, khách hàng sẽ chọn vị trí ghế mà mình muốn ngồi (ghế được chọn phải là ghế trống) Cuối cùng, khi thanh toán khách hàng sẽ chọn loại vé là vé phổ thông, vé sinh viên hoặc vé ghế đôi Các thông tin của khách hàng sẽ được ghi lại cùng với các thông tin về phim, ghế, suất chiếu, phòng chiếu trên vé
Các phim được chiếu sẽ thuộc 1 thể loại phim Mỗi phim sẽ được chia thành nhiều suất chiếu, số lượng suất chiếu tuỳ vào phim Thông tin phim sẽ được hiển thị thông qua hệ thống màn hình ở sảnh, bao gồm tên phim, thời gian bắt đầu trình và dừng chiếu, những suất chiếu trong ngày Trong rạp phim có nhiều phòng chiếu phân biệt với nhau bằng “mã phòng".
YÊU CẦU CỦA HỆ THỐNG
- Các thông tin được truy xuất phải đầy đủ, chính xác và dễ hiểu thuận tiện cho việc theo dõi và quản lý
- Hệ thống có tính bảo mật cao, đảm bảo bảo mật an toàn các thông tin của khách hàng
- Thông tin phải thỏa các ràng buộc toàn vẹn và được liên kết với nhau
- Thao tác nhập dữ liệu nhanh chóng, dễ dàng nhập được dữ liệu lớn mà không gặp lỗi, hay bất kỳ vấn đề nào
THIẾT KẾ CƠ SỞ DỮ LIỆU
MÔ HÌNH THỰC THỂ
3.2.1 MÔ HÌNH THỰC THỂ KẾT HỢP
Link: https://drive.google.com/file/d/1SmepDO0Ny_nqA7sCB1q0UH5y-TC7ssis/view?usp=sharing
3.2.2 MÔ HÌNH CƠ SỞ DỮ LIỆU
Link: https://drive.google.com/file/d/18IY4x6JUDCFadH5QJdKCTXGd5icOhujw/view?usp=sharing
Link: https://drive.google.com/file/d/1ED-gr8pV4KvwzUQEkuw745vPRCZDikaq/view?usp=share_link
RÀNG BUỘC TOÀN VẸN
1) RÀNG BUỘC PHÁI NHÂN VIÊN, KHÁCH HÀNG
Ngôn ngữ tự nhiên: Giới tính phải thuô •c nam hoă •c nữ
NHANVIEN t PHAI Nam t PHAI Nu n KHACHHANG nPHAI Nam nPHAI Nu Bảng tầm ảnh hưởng
2) RÀNG BUÔjC MÃ NHÂN VIÊN
Ngôn ngữ tự nhiên: Mã nhân viên phải có định dạng NV_
Biểu diễn:( ) t NHANVIEN tMANV LIKE NV( ( %)
3) RÀNG BUÔjC MÃ KHÁCH HÀNG
Ngôn ngữ tự nhiên: Mã khách hàng phải có định dạng KH_
Biểu diễn:( )t KHACHHANG tMAKH LIKE KH( ( %)
4) Ràng buô jc gim bnt đầu và gim k_t thpc cqa su]t chi_u
Ngôn ngữ tự nhiên: Giờ kết thúc phải lớn hơn giờ bắt đầu của suất chiếu Bối cảnh: SUATCHIEU
Biểu diễn:( )t SUATCHIEU tGIOBATDAU tGIOKETTHUC( )
5) Ràng buô jc ms vé
Ngôn ngữ tự nhiên: Mã vé phổ thông, sinh viên, ghế đôi phải có định dạng lần lượt là PT_, SV_, GD_
( ' %' ' ')) t VE tMAVE LIKE PT tLOAIVE PHOÅTHOÂNG tMAVE LIKE SV tLOAIVE SINH VIEÂN tMAVE LIKE GD tLOAIVE GHEÁẹOÂI Bảng tầm ảnh hưởng:
Ngôn ngữ tự nhiên: Giá vé phải lớn hơn 45000 VNĐ
7) Ràng buộc số điện thoại
Ngôn ngữ tự nhiên: Ràng buộc số điện thoại lớn hơn hoặc bằng 10 số
Biểu diễn:( ) tNHANVIEN LEN t SDTNV( ( ) 10)
8) Ràng buộc tuổi nhân viên
Ngôn ngữ tự nhiên: Nhân viên phải trên 18 tuổi
Biểu diễn:NHANVIEN ( ) (2022YEAR NGAYSINHNV( ) 18)
NHẬN XÉT VÀ ĐÁNH GIÁ
Xét về mức độ khả thi, hệ thống thiết kế trên hoàn toàn có thể giúp quản lý các hoạt động bán vé cho khách hàng.
Bên cạnh đó, với tầm quan trọng của chương trình quản lý, hệ thống của nhóm sẽ được sử dụng rộng rãi và phổ biến hơn nữa.
Qua những gì đã phân tích, hệ thống quản lý các hoạt động bán vé ở rạp phim đạt được những yêu cầu sau:
● Đưa ra được các sơ đồ dữ liệu, lược đồ quan hệ rõ ràng và logic Đồng thời các cấu trúc của dữ liệu cũng được cụ thể chi tiết Đối với từng bảng dữ liệu đã đưa ra được cấu trúc về mặt mã hóa cũng như mô tả kiểu dữ liệu.
● Công tác quản lý rạp phim được đơn giản hóa và tiết kiệm thời gian,nguồn nhân lực Cập nhật dữ liệu liên tục và chính xác
● Thống kê chi tiết hoạt động bán vé, khách hàng và nhân viên Từ đó các nhà quản lý có thể dễ dàng đánh giá tình hình và hoạt động kinh doanh của rạp.
Song song với những gì đã đạt được, hệ thống vẫn còn tồn tại các lỗi nhỏ trong quá trình nhập dữ liệu, gây cản trở khó khăn cho người trực tiếp sử dụng Và hệ thống cũng đang dừng lại ở mức quản lý những thông tin liên quan nhất đến hoạt động bán vé như: Khách hàng, nhân viên, thông tin vé… Để có thể đưa vào áp dụng thực tế thì hệ thống còn cần phải phát triển và mở rộng các hoạt động dịch vụ mà khách hàng thường sử dụng tại rạp phim.
LỜI KẾT VÀ CẢM ƠN
Qua đồ án, chúng em hiểu về cách xây dựng một cơ sở dữ liệu phân tích và mô hình hóa nó, đồng thời ngôn ngữ hóa hệ dữ liệu thành ngôn ngữ SQL. Nhóm chúng em cũng đã hết mình, trách nhiệm cho đồ án tuy nhiên sẽ không thể thiếu những sai sót, chính vì thế, em rất mong nhận được những góp ý và nhận xét đến từ cô cho đồ án, đồng thời chúng em sẽ có kinh nghiệm cho những đồ án tiếp theo
Và cuối cùng, chúng em xin gửi lời cảm ơn chân thành nhất đến cô Tuyến
Giảng viên bộ môn Cơ sở dữ liệu đã tận tình hướng dẫn sinh viên trong từng tiết học, giúp các em hiểu rõ về cơ sở dữ liệu, cách xây dựng và phát triển cơ sở dữ liệu Nhờ những kiến thức được truyền đạt, sinh viên tin rằng mình có bước đệm vững chắc cho các học phần quan trọng sau và những kỹ năng cần thiết trong tương lai.
Rất hy vọng sẽ có cơ hội được theo học cô ở những học phần tiếp theo.Chúng em xin cảm ơn.
CÂU TRUY VẤN
In ra MAVE danh sách loại vé phổ thông do NV có mã nhân viên NV05 bán select MAVE from VE V WHERE V.MANV = 'NV05' and V.LOAIVE N'Phổ thông'
In ra danh sách khách hàng mua vé phổ thông trong tháng 11 select KH.MAKH,KH.HOTENKH from KHACHHANG KH JOIN VE
V ON KH.MAKH V.MAKH = WHERE V.LOAIVE =N'Phổ thông'and MONTH(V.NGAYBANVE) GROUP BY
In ra tên và mã nhân viên bán vé của phim hạnh phúc máu select nv.MANV, nv.HOTENNV from NHANVIEN nv Join Ve v on v.MANV nv.MANVWHERE v.MAPHIM ='P04'
In ra 3 khách hàng có tổng số tiền mua vé cao nhất trong tháng 11 Select TOP 3 KH.MAKH,KH.HOTENKH,SUM(GIAVA) AS
TONGSOTIEN from KHACHHANG KH JOIN VE V ON KH.MAKH V.MAKH WHEREMONTH(V.NGAYBANVE)
GROUP BY KH.MAKH,KH.HOTENKH BY TONGSOTIEN DESC
Truy vấn số vé mà nhân viên có mã NV04 đã bán được trong tháng 11 Select v.MANV,count(v.mave) TONGSOLUONG as from ve v where v.MANV ='NV04'group by v.MANV
6 Truy v]n có sử dụng phép giao, hội, trừ:
Truy vấn những nhân viên không bán được vé nào trong ngày 5/11/2022 select nv.manv,nv.HOTENNV from NHANVIEN nv
EXCEPT select nv.manv,nv.HOTENNV from NHANVIEN nv JOIN VE v nv.MANV v.MANV on = where
DAY( v.NGAYBANVE) ZndMONTH(v.NGAYBANVE) GROUP BY nv.manv,nv.HOTENNV
Tìm nhân viên bán tại tất cả các quầy
WHERE NV.MANV V1.MANV = AND NOT EXISTS(
Tìm những khách hàng ở quận Gò Vấp đã từng mua vé select MAKH,HOTENKH
WHERE DIACHIKH (IN select DIACHIKH from KHACHHANG KH join VE V ON V.MAKH KH.MAKH KH.DIACHIKH (
XÂY DỰNG STORE PROCEDURE VÀ FUNCTION
Tạo hàm tính tổng doanh thu của các nhân viên bán được trong tháng 11 go
CREATE FUNCTION TongDoanhThu @TongDoanhThu ( MONEY)
SELECT nv MANV nv HOTENNV , , SUM(v GIAVE ) as TongDoanhThu
NHANVIEN nv join VE v nv MANV v on = MANV
Where MONTH(v.NGAYBANVE) 11 = group nv by MANV nv HOTENNV ,
) go select from * Dbo.TongDoanhThu('nv001')
2 Tạo thq tục (Store Procedure)
TẠO PROCEDURE IN RA NHỮNG PHIM THUỘC THỂ LOẠI GIẬT GÂN
TẠO PROCEDURE CẬP NHẬT SỐ ĐIỆN THOẠI KHÁCH HÀNG
SELECT * FROM KHACHHANG KH WHERE @MAKH MAKH =
THÔNG TIN CƠ SỞ DỮ LIỆU
MANV HOTENNV DIACHI SDT NGAYSINH PHAI LUONG
189/13/2 CMT8 P.07, Q Tân Bình, TP HCM 0909591881 25/5/1997 Nam 3.500.000 đ NV02 Đoàn Văn Hải
647/17/10 Lạc Long Quân P.10, Q Tân Bình, TP HCM 0934033942 3/6/2000 Nam 3.500.000 đ NV03 Ngô Thị Kim Thoa
210 Bàu Cát P.11, Q Tân Bình, TP HCM 0958476003 13/6/2003 Nữ 4.500.000 đ NV04
8A Nguyễn Thượng Hiền P.01, Q Gò Vấp, TP HCM 0864117281 10/4/1996 Nam 8.500.000 đ
MAKH HOTENKH DIACHI SDT NGAYSINH PHAI
Phú Nhuận, TP HCM 0465339827 19/2/1994 Nữ
5/6Y4 Lê Văn Thọ P.14, Q Gò Vấp,
77/23 Lê Lai P.12, Q Tân Bình, TP.
79 Sơn Hưng P.12, Q Gò Vấp, TP
2/33 Phạm Văn Bạch P.15, Q Tân Bình, TP HCM 0633805093 11/08/1995 Nam KH009
Phú Nhuận, TP HCM 0853036991 7/5/1997 Nam KH010 Phan Trọng Hải
P01 TL01 Săn lùng Megabox Plus M
P02 TL04 One Piece Film: Red Oda Eiichiro
P03 TL03 Black Panther II Kevin Feige, Nate Moore
P04 TL05 Hạnh phúc máu Dược sĩ Tiến, Phạm Huỳnh Hữu Tài
P05 TL02 Yêu không sợ hãi Worrawech Danuwong
P06 TL05 The Menu Adam McKay, Will Ferrell, Betsy Koch
MAPHONG TENPHONG Tổng số gh_
Link Bài SQL: https://drive.google.com/file/d/19CDnAVnOHSpntJ3is6JymC2q- cHabx67/view?usp=sharing
drop database QUANLYRAPPHIM go use quanlyrapphim go
CONSTRAINT PK_NHANVIEN PRIMARY KEY (MANV),
CONSTRAINT PK_KHACHHANG PRIMARY KEY (MAKH),
CONSTRAINT PK_VE PRIMARY KEY (MAVE),
MAVE varchar(10) not null, constraint PK_QUAY PRIMARY KEY (TENQUAY,MAVE)
CONSTRAINT PK_SUATCHIEU PRIMARY KEY (MASUATCHIEU),
Tạo bảng thể loại phim
CONSTRAINT PK_THELOAIPHIM PRIMARY KEY (MATLP),
CONSTRAINT PK_PHIM PRIMARY KEY (MAPHIM),
CONSTRAINT PK_PHONGCHIEU PRIMARY KEY (MAPHONG),
THÊM KHOÁ NGOẠI CHO CÁC BẢNG
Khóa ngoại cho bảng Vé
ALTER TABLE VE ADD CONSTRAINT FK01_VE FOREIGN
KEY(MAKH) REFERENCES KHACHHANG(MAKH)
ALTER TABLE VE ADD CONSTRAINT FK02_VE FOREIGN
KEY(MANV) REFERENCES NHANVIEN(MANV)
ALTER TABLE VE ADD CONSTRAINT FK03_VE FOREIGN
KEY(MAPHIM) REFERENCES PHIM(MAPHIM)
ALTER TABLE VE ADD CONSTRAINT FK04_VE FOREIGN
KEY(MAPHONG) REFERENCES PHONGCHIEU(MAPHONG)
ALTER TABLE VE ADD CONSTRAINT FK05_VE FOREIGN
KEY(MASUATCHIEU) REFERENCES SUATCHIEU(MASUATCHIEU)
Khóa ngoại cho bảng Quầy
ALTER TABLE QUAY ADD CONSTRAINT FK01_QUAY FOREIGN KEY(MANV) REFERENCES NHANVIEN(MANV)
ALTER TABLE QUAY ADD CONSTRAINT FK02_QUAY FOREIGN KEY(MAVE) REFERENCES VE(MAVE)
ALTER TABLE PHIM ADD CONSTRAINT FK01_PHIM FOREIGN KEY(MATLP) REFERENCES THELOAIPHIM(MATLP) set dateformat dmy
INSERT DỮ LIỆU CÁC BẢNG
KHÁCH HÀNG insert into KHACHHANG values('KH001' N'Lưu Hoàng ,
Lộc' '0905594881', , N'17/F13 Phan Huy Ích P.14,Q Gò
Vấp' '05/06/2000' N'NAM', , ) insert into KHACHHANG values('KH002' N'Nguyễn Thị ,
Q Phú Nhuận,TP HCM','19/2/1994' N'NU', ) insert into KHACHHANG values('KH003' N'Nguyễn Văn ,
Hà' '0025084773', , N'5/6Y4 Lê Văn Thọ P.14, Q Gò Vấp,
TP HCM','12/12/1995' N'NAM', ) insert into KHACHHANG values('KH004' N'Trần Thị Quỳnh,
Nhuận, TP HCM','5/6/2000' N'NU', ) insert into KHACHHANG values('KH005' N'Nguyễn Trung ,
Hưng' '0805255789', , N'77/23 Lê Lai P.12, Q Tân Bình,
TP HCM','28/11/2004' N'NAM', ) insert into KHACHHANG values('KH006' N'Trần Hoàng ,
Phúc' '0195341297', , N'79 Sơn Hưng P.12, Q Gò Vấp,
TP HCM','23/5/1999' N'NU', ) insert into KHACHHANG values('KH007' N'Dương Thị ,
Hiên' '0414573195', , N'826/13 Lê Đức Thọ P.15, Q Gò
Vấp, TP HCM','14/11/1993' N'NU', ) insert into KHACHHANG values('KH008' N'Lê Việt ,
Hà' '0633805093', , N'2/33 Phạm Văn Bạch P.15, Q Tân
Bình, TP HCM','11/08/1995' 'NAM', ) insert into KHACHHANG values('KH009' N'Lương Xuân ,
Phú Nhuận, TP HCM','7/5/1997' N'NAM', ) insert into KHACHHANG values('KH010' N'Phan Trọng ,
NHÂN VIÊN insert into NHANVIEN values('NV01', N'Ngô Minh
Cường', N'189/13/2 CMT8 P.07, Q Tân Bình, TP
HCM' '0909591881' '25/5/1997' N'NAM' '3500000', , , , ) insert into NHANVIEN values('NV02', N'Đoàn Văn Hải',
N'647/17/10 Lạc Long Quân P.10, Q Tân Bình, TP
HCM' '0934033942' '3/6/2000' N'NAM' '3500000', , , , ) insert into NHANVIEN values('NV03', N'Ngô Thị Kim
Thoa', N'210 Bàu Cát P.11, Q Tân Bình, TP
HCM' '0958476003' '13/6/2003' N'NU' '4500000', , , , ) insert into NHANVIEN values('NV04', N'Nguyễn Đặng
HCM' '0982918064' '11/11/1999' N'NU' '3500000', , , , ) insert into NHANVIEN values('NV05', N'Võ Văn Long',
N'8A Nguyễn Thượng Hiền P.01, Q Gò Vấp, TP
SUẤT CHIẾU insert into SUATCHIEU values('S11', '30/03/2022
The table 'THELOAIPHIM' contains information about movie genres Each row in the table represents a genre and has two columns: 'MALOAI' (genre ID) and 'TENLOAI' (genre name) The genre IDs are 'TL01', 'TL02', 'TL03', 'TL04', and 'TL05', and the corresponding genre names are 'Thriller', 'Comedy', 'Action', 'Animation', and 'Horror' respectively.
PHIM insert into PHIM values('P01', 'TL01', N'Săn lùng','Megabox Plus M') insert into PHIM values('P02', 'TL04', 'One Piece
Film: Red' 'Oda Eiichiro', ) insert into PHIM values('P03', 'TL03', 'Black Panther
II','Kevin Feige, Nate Moore') insert into PHIM values('P04', 'TL05', N'Hạnh phúc máu', N'Dược sĩ Tiến, Phạm Huỳnh Hữu Tài') insert into PHIM values('P05', 'TL02', N'Yêu không sợ hãi','Worrawech Danuwong') insert into PHIM values('P06', 'TL05', 'The
Menu','Adam McKay, Will Ferrell, Betsy Koch') insert into PHONGCHIEU values('PC01', N'Phòng
1' '50', ) insert into PHONGCHIEU values('PC02', N'Phòng
2' '30', ) insert into PHONGCHIEU values('PC03', N'Phòng
3' '50', ) insert into PHONGCHIEU values('PC04', N'Phòng
4' '50', ) insert into PHONGCHIEU values('PC05', N'Phòng
VÉ insert into VE values('PT511', N'Phổ thông' 'C3', ,
20:00' 'KH001' 'NV01' 'P01' 'PC01' 'S51' '60000', , , , , , ) insert into VE values('SV611', N'Sinh viên' 'C5', ,
17:00' 'KH002' 'NV05' 'P02' 'PC02' 'S41' '45000', , , , , , ) insert into VE values('PT711', N'Phổ thông' 'F6', ,
20:00' 'KH003' 'NV01' 'P03' 'PC03' 'S41' '60000', , , , , , ) insert into VE values('PT811', N'Phổ thông' 'F5', ,
11:00' 'KH004' 'NV02' 'P04' 'PC04' 'S32' '60000', , , , , , ) insert into VE values('SV111', N'Sinh viên' 'D5', ,
22:00' 'KH005' 'NV03' 'P05' 'PC05' 'S31' '45000', , , , , , ) insert into VE values('GD211', N'Ghế đôi' 'D5', ,
22:00' 'KH006' 'NV04' 'P06' 'PC01' 'S23' '150000', , , , , , ) insert into VE values('SV311', N'Sinh viên' 'E3', ,
20:00' 'KH007' 'NV05' 'P06' 'PC02' 'S22' '45000', , , , , , ) insert into VE values('SV211', N'Sinh viên' 'E4', ,
21:00' 'KH008' 'NV02' 'P05' 'PC03' 'S21' '45000', , , , , , ) insert into VE values('GD251', N'Ghế đôi' 'C3', ,
10:00' 'KH009' 'NV03' 'P04' 'PC04' 'S12' '150000', , , , , , ) insert into VE values('PT311', N'Phổ thông' 'C4', ,
QUẦY insert into QUAY values('Q01', 'NV01', 'PT511') insert into QUAY values('Q02', 'NV02', 'PT811') insert into QUAY values('Q03', 'NV03', 'SV111') insert into QUAY values('Q01', 'NV03', 'GD251') insert into QUAY values('Q02', 'NV04', 'GD211') insert into QUAY values('Q03', 'NV05', 'SV311') insert into QUAY values('Q01', 'NV02', 'SV211') insert into QUAY values('Q02', 'NV03', 'SV211') insert into QUAY values('Q03', 'NV04', 'PT311')
1 Gizi tính NHANVIEN, KHACHHANG phải thuô {c nam hoă{c nữ alter table NHANVIEN add constraint phai_nv alter table KHACHHANG add constraint phai_kh check(phai (N'NAM' N'NU'in , ));
2 Mã nhân viên phải có định dạng NV_ alter table NHANVIEN add constraint check_DINHDANGNHANVIEN check (MANV like'NV%');
3 Mã khách hàng phải có định dạng KH_ _ alter table KHACHHANG add constraint check_đinhdangKH check (MAKH like 'KH%');
4 Giờ b•t đầu c€a suất chiếu phải nh• hơn giờ kết thúc alter table SUATCHIEU add constraint Check_suatchieu check( GIOKETTHUC > GIOBATDAU );
5 giá vé phổ thông,sinh viên,ghế đôi phải có định dạng lần lượt là PT_,SV_,GD_ alter table VE add constraint check_DINHDANGVE check ((MAVE like'PT%'and LOAIVE =N'Phổ thông') or
(MAVE like 'SV%' and LOAIVE N'Sinh viên'= ) or ( MAVE like 'GD%' and LOAIVE N'Ghế đôi'= ));
To ensure proper phone number formatting, a constraint is added to the "NHANVIEN" and "KHACHHANG" tables This constraint validates that phone numbers contain a minimum of 10 digits using the following SQL statements:```alter table NHANVIEN add constraint check_SDT_NV check (LEN(SDTNV )>= 10);alter table KHACHHANG add constraint check_SDT_KH check (LEN(SDTKH )>= 10);```
7 Giá vé phải lzn hơn 45000 VNĐ alter table VE add constraint check_GIAVE check
8 Nhân viên phải trên 18 tuổi alter table NHANVIEN add constraint check_TUOI check
In ra MANV danh sách loại vé phổ thông do nhân viên có mã nhân viên NV05 bán
*/ select MAVE from VE V WHERE V.MANV = 'NV05' and
2 Truy vấn có điều kiện
In ra danh sách khách hàng mua vé phổ thông trong tháng 11
*/ select KH.MAKH,KH.HOTENKH from
WHERE V.LOAIVE = N'Phổ thông'and MONTH(V.NGAYBANVE)
GROUP BY KH.MAKH,KH.HOTENKH
In ra tên và mã nhân viên bán vé c€a phim hạnh phúc máu*/ select nv.MANV, nv.HOTENNV from NHANVIEN nv Join Ve v on v.MANV = nv.MANV
In ra 3 khách hàng có tổng số tiền mua vé cao nhất trong tháng 11*/ select TOP 3 KH.MAKH,KH.HOTENKH,SUM(GIAVE) AS
TONGSOTIEN from KHACHHANG KH JOIN VE V ON KH.MAKH V.MAKH
GROUP BY KH.MAKH,KH.HOTENKH
Truy vấn số vé mà nhân viên có mã NV04 đã bán được trong tháng 11
Select v.MANV,count(v.mave) TONGSOLUONG as from ve v where v.MANV = 'NV04' group by v.MANV
6 Truy vấn có sử dụng phép giao, hội, trừ
Truy vấn những những nhân viên không bán được vé nào trong ngày 10/11/2022
*/ select nv.manv,nv.HOTENNV from NHANVIEN nv
EXCEPT select nv.manv,nv.HOTENNV from NHANVIEN nv JOIN VE v on nv.MANV = v.MANV where DAY( v.NGAYBANVE) = 5 and MONTH(v.NGAYBANVE) 11
GROUP BY nv.MANV,nv.HOTENNV
7 Truy vấn con truy vấn những khách hàng ở quận Gò Vấp đã từng mua vé
*/ select MAKH,HOTENKH from KHACHHANG
WHERE DIACHIKH (IN select DIACHIKH
FROM KHACHHANG KH join VE V ON
V.MAKH KH.MAKH WHERE KH.DIACHIKH like ( N'%GÒ
TẠO PROCEDURE IN RA NHỮNG PHIM THUỘC THỂ LOẠI GIẬTGÂN
TẠO PROCEDURE CẬP NHẬT SỐ ĐIỆN THOẠI KHÁCH HÀNG GO
SELECT *FROM KHACHHANG KH WHERE @MAKH MAKH UPDATE KHACHHANG
SDTKH @SDT WHERE MAKH @MAKH END
Tạo hàm tính tổng doanh thu c€a các nhân viên bán được trong tháng 11 go
CREATE FUNCTION TongDoanhThu ( @TongDoanhThu MONEY)
SELECT nv.MANV nv HOTENNV, ,SUM( v GIAVE) as
NHANVIEN nv join VE v nv MANV v MANVon =
Where MONTH( v NGAYBANVE) 11 group nvby MANV nv, HOTENNV