Để kiểm soát việc quản lý khách sạn cũng thì nhóm nắm bắt được những thông tin sau: Mỗi khách hàng của khách sạn đều được quản lý thông tin sau: Họ tên, giới tính, địa chỉ, số điện thoại
Trang 1Nhóm 11
Nguyễn Hữu Thìn
Đỗ Văn Cường
Mô tả yêu cầu bài toán:
Xây dựng cơ sở dữ liệu cho quản lý khách sạn
Để kiểm soát việc quản lý khách sạn cũng thì nhóm nắm bắt được những thông tin sau:
Mỗi khách hàng của khách sạn đều được quản lý thông tin sau: Họ tên, giới tính, địa chỉ, số điện thoại, số chứng minh thư/ căn cước công dân, email, quốc tịch Nếu khách hàng đại diện cho tổ chức thì quản lý thêm thông tin của cơ quan khách hàng
Các phòng của khách sạn được quản lý dựa trên số phòng gắn liền với các tầng, loại phòng, giá cơ bản Khách sạn gồm 3 loại phòng 1, 2, 3 tương ứng với các mức giá 200.000đ, 250.000đ, 300.000đ (trong đó bao gồm 10%VAT) Ngoài ra các phòng còn được trang bị thêm tiện nghi Các thiết bị tiện nghi theo phòng được quản lý mã thiết
bị và tên thiết bị tiện nghi
Tất cả thông tin đăng kí thuê phòng đều được quản lý dựa trên số đăng ký, họ tên khách đăng ký, ngày đến, giờ đến, ngày đi, giờ đi, số lượng người, loại phòng, số tiền đặt cọc, và ghi chú số phòng
Khách sạn quản lý thông tin như sau: Số phòng, họ tên người nhận (trùng với người đăng ký phòng) , ngày nhận, giờ nhận
Dựa trên thông tin đăng kí thuê phòng, việc trả phòng được khách sạn quản lý thông tin như sau: số phòng, ngày trả, giờ trả, họ tên người trả ( có thể trả trước hạn đã đăng ký) Nếu khách hàng muốn gia hạn thêm thời gian ở khách sạn thì tiến hàng thủ tục đăng kí lại Bên cạnh đó khi trả phòng của khách sạn sẽ kiểm tra lại tình trạng phòng
Trang 2• Quản lý nhân viên phục vụ tại khách sạn:
Tất cả các nhân viên làm việc tại khách sạn đều được quản lý các thông tin sau: họ tên, giới tính, địa chỉ, số điện thoại, số chứng minh thư/ căn cước công dân, chức vụ
Khi khách hàng có nhu cầu ở khách sạn thì khách hàng có thể liên hệ với khách sạn
để tiến hành làm thủ tục đăng ký phòng hoặc làm thủ tục thuê phòng và nhận phòng
để ở ( trong trường hợp phòng còn trống)
Khi khách hàng làm thủ tục đăng kí thì khách hàng phải khai báo đầy đủ thông tin về mình cũng như thông tin về cơ quản ( nếu có) khi Bộ phân lễ tân yêu cầu Hầu hết khách hàng đều phải đặt cọc một số tiền nhất định dựa vào loại phòng mà mình đăng ký
Trường hợp các tổ chức thuê phòng thì tổ chức sẽ cử đại diện đến khách sạn làm thủ tục đăng ký Việc quản lý thông tin các tổ chức sẽ được quản ký như thông tin cơ quan hoặc công ty, thông tin về người đại diện sẽ được quản lý như thông tin của công chức hoặc nhân viên của cơ quan đó
Khi khách hàng đến nhận phòng thì ngoài số tiền đặt cọc, khách hàng phải gửi cho quầy lễ tân Bằng lái xe hoặc CMND hay là Hộ chiếu Bộ phận lễ tân căn cứ vào đó kiểm tra lại thông tin khi khách đăng kí phòng Sau khi kiểm tra xong thì Bộ phận lễ tân sẽ giữ lại và chỉ trả lại giấy tờ này khi mà khách hàng làm xong thủ tục trả phòng Sau đó Bộ phân lễ tân sẽ kiểm tra lại tình trạng phòng để tiến hàng giao phòng cho khách Nếu khách không đồng ý thì làm thủ tục đổi phòng cho khách ( nếu còn phòng trống ) Trong thời gian ở khách sạn, khách hàng có thể sử dụng các loại dịch vụ, yêu cầu phục vụ Mọi yêu cầu sẽ do Bộ phận lễ tân đảm nhiệm và đáp ứng trong phạm vi hoạt động của khách sạn Khách hàng sử dụng dịch vụ chưa thanh toán thì Bộ phận phục vụ sẽ ghi hóa đơn nợ và chuyển đến cho Bộ phận lễ tân để tính vào hóa đơn tổng
Sau khi đặt phòng khách hàng có thể hủy đăng ký và phải bồi thường cho khách sạn theo quy định đã thỏa thuận Vì thế tiền cọc phải có trước khi nhận phòng Để tránh rủi ro thì số tiền cọc phải lớn hơn hay bằng số tiền phải bồi thường Tuy nhên trước 7 ngày nhận phòng khách hủy đăng ký thì không phải bồi thường
Khi hết thời hạn thuê phòng như đã đăng ký thì khách hàng phải trả phòng cho khách sạn Khi khách hàng làm thủ tục trả phòng, BPLT sẽ kiểm tra lại tình trạng phòng, tổng hợp lại các hóa đơn sử dụng chưa thanh toán trong thời gian khách ở khách sạn Sau khi tổng hợp in ra hóa đơn tổng để khách sạn thanh thoán và trả lại CMND hay giấy tờ của khách
Trang 3• Thống kê doanh thu và phản hồi.
Mọi hóa đơn và dịch vụ và các lượt đăng ký thuê trả phòng đều được lưu trữ trong cơ
sở dữ liệu nên sẽ giúp cho bộ phận kinh doanh có thể thống kê được doanh thu của khách sạn theo những mốc thời gian nhất định Lập các thống kê doanh thu bản cứng
và bản mềm để báo cáo Từ đó có chiến lược phát triển cho khách sạn
Khach Hang ID
Ten Khach Hang
Gioi Tinh
Dia Chi
So Dien Thoai
CMT Quoc Tich
Phieu Dang Ky
ID ID_KH
ID_NV
Ngay Dang Ky
Ngay Nhan Phong
So Luong Khach
Loai Khach
So Tien Coc
To Chuc
Trang 43. Phieu Nhan Phong
Phieu Nhan Phong
ID_P
Phong
ID
Gia Tien
5. thiêt bị
Trang 5Thiet Bi
ID
So Luong
Phieu Dich Vu
ID
Ngay
Trang 6Dich Vu
ID
ID_PDV
Ten Dich Vu
So Luong
Don Gia
Hoa Don
ID
ID_KH
Tong Tien
Trang 7
chi tiet hoa don ID
ID_HD
ID_P
ID_PDV
ID_NV
NGAY TRA NGAY NHAN
PHAT(NEU CO)
Khach Hang Ðang ky Phieu Thue Phong Tien coc Phieu Nhan Phong
Nhan phong
Thanh toan
Chi Tiet Phieu Thue
Phong Co
Tinh Trang
Thuôc
Loai Phong
Co
(1,n)
Gia Phong Thiet Bi
Hoa Ðon
Chi Tiêt Hoa Ðon
Chinh Sach Tra Phong
Có
Danh Sach Cac Dich Vu
Có
Loai Dich Vu
(1,1)
(1,1) (1,n) (1,n)
(1,n)
(1,n) (1,1)
(1,n) (1,n)
(1,n)
(1,n) (1,n)
(1,n) (1,n)
(1,1)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
Trang 8Mô Hình Thực Thể Liên Kết Khách Sạn
1 KHÁCH HÀNG ( ID,TENKH, GIOITINH, DIACHI, DSDT, CMND, QUOCTICH)
2 PHÒNG (ID, LOAIPHONG, TINHTRANG, GIATIEN)
3 THIẾT BỊ (ID, MAP,TENTB, GIATIEN, SOLUONG)
4 DỊCH VỤ (ID,ID_P, THOIGIAN, TENDV, GIATIEN)
5 NHÂN VIÊN (ID,TENDANGNHAP, MATKHAU, TENNV, GIOITINH,
NGÁYINH, DIACHI, SDT, CMND, CHUCVU, TRANGTHAI)
6 ĐĂNG KÍ THUÊ PHÒNG(ID,ID_KH,ID_NV, NGAYDANGKY,
NGAYNHANPHONG, SOLUONG, LOAIKHACH, SOTIENCOC, TENTOCHUC)
7 PHIÊU NHẬN PHÒNG( ID,ID_P, ID_DK )
8 CHI TIẾT HÓA ĐƠN (ID,ID_DV,ID_NV, ID_P, TRANGTHAI, TIENPHAT,
NGAYNHAPPHONG, NGAYTRAPHONG)
9 HOADON (ID,ID_KH, NGAYTHANHTOAN,, THANHTIEN)
Cách Chuyển Đổi
Trang 9
+ nếu là liên kết 1-1 khóa của bảng 1 bên bất kỳ trở thành một thuộc tính kết nối (ngoại khóa) của bảng bên kia
+ nếu là liên kết 1-n: khóa của bảng bên 1 trở thành thuộc tính kết nối của bảng bên nhiều
+ nếu là liên kết n-n: thì phải thêm một bảng trung gian ,bảng trung gian này sẽ chứa hai thuộc tính khóa của hai bảng và cả hai thuộc tính khóa này sẽ là khóa chính của bảng trung gian ngoài ra bảng trung gian còn phải thêm một số thuộc tính khác của mối kết nối
Xây Dựng Các Bảng Cơ Sở Dữ Liệu Và EER Diagram Bằng MySQL:
*Phân công công việc:
Đỗ văn cường: mô tả bài toán, mô hình quan hệ, tạo bảng trên mysql
Nguyễn hữu thìn: sơ đồ thực thể liên kết
Trang 10*Trigger: Gồm những gì:
- Thêm một khách hàng mới
CREATE TRIGGER dangky_phong
AFTER INSERT
ON dangkythuephong
FOR EACH ROW
BEGIN
DECLARE thin INT DEFAULT 0
SELECT COUNT(ID_KH) INTO thin FROM dangkythuephong WHERE
NgayNhanPhong=NEW.NgayNhanPhong
IF (thin >30) THEN
BEGIN
ROLLBACK
END
ELSE
BEGIN
INSERT INTO khachhang(ID,TenKH,GioiTinh,DiaChi,DienThoai,CMND,QuocTich)
VALUES (new.ID_KH,'',0,'',0,0,"")
INSERT INTO chitiet_thuephong(ID,ID_Phong,ID_DK)
VALUES (NEW.ID,"",NEW.ID_KH)
END
END IF
END //
delimiter ;
Khi thêm một khách hàng mới thì ta kiểm tra xem số lượng phòng đã được đăng ký đa đầy hày chưa nếu đấy rồi sẽ thông báo là đây nếu chưa thêm 1 khách hàng mới tạo ra một phiếu thuê phòng
- xóa khách hàng đa đăng ký
Trang 11CREATE TRIGGER dangky_phongg
AFTER DELETE
ON dangkythuephong
FOR EACH ROW
BEGIN
DECLARE thin INT DEFAULT 0
DELETE FROM khachhang WHERE ID=NEW.ID_KH
DELETE FROM chitiet_thuephong WHERE ID_DK=NEW.ID
INSERT INTO hoadon(ID,ID_KH,Thue,Thanhtien)
VALUES (NEW.ID,NEW.ID_KH,10,NEW.coc)
END //
delimiter ;
Khi xóa một khách hàng đa đăng ký mà không đên ở khách sạn sẽ tự đọng xoasowr bảng khách hàng và chi tiết phòng những gí trị tương ứng và tự động thêm một hóa đơn đóng tiền phạt
- thêm một thiết bị mới cho khách sạn
CREATE TRIGGER THIETBI
AFTER INSERT
ON thietbi
FOR EACH ROW
BEGIN
DECLARE TIEN INT DEFAULT 0
DECLARE PHONG INT DEFAULT 0
DECLARE SOLUONG INT DEFAULT 0
SET TIEN = NEW.GiaTien
IF (TIEN <300) THEN
SET PHONG = 1
SET SOLUONG =2
ELSEIF (TIEN>300 AND TIEN <600) THEN
Trang 12SET PHONG =2
SET SOLUONG =3
ELSE
SET PHONG=3
SET SOLUONG =2
END IF
INSERT INTO chitiet_thietbi(ID_TB,ID_Phong)
VALUES (NEW.ID,PHONG,SOLUONG)
END
delimiter ;
Kiểm tra xem thiết bị ấy giá tiền bao nhiêu loại gị để sắp xếp thiết bị vào loại phòng tương ứng Xóa thiết bị
CREATE TRIGGER THIETBI
AFTER DELETE
ON thietbi
FOR EACH ROW
BEGIN
DECLARE TIEN INT DEFAULT 0
DELETE FROM chitiet_thietbi WHERE ID_TB=NEW.ID
END
delimiter ;
- thêm dịch vụ chăm sóc khách hàng mới cho khách sạn
CREATE TRIGGER DICHVU_1
AFTER INSERT
ON dichvu
Trang 13FOR EACH ROW
BEGIN
DECLARE Gia INT DEFAULT 0
SET Gia = new.GiaTien
IF (TIEN <300) THEN
SET PHONG = 1
ELSEIF (TIEN>300 AND TIEN <600) THEN SET PHONG =2
ELSE
SET PHONG=3
END IF
END
delimiter ;
* Stored_procedure :
- tìm kiếm id đăng ký
Tìm kiếm id hóa đơn
Trang 14Tìm kiếm tên khách hàng
Tính tổng khách hàng
Trang 15Tính tổng hóa đơn
Trang 16Tính tổng đăng ký thuê phòng
Tính tổng phòng trống
*View:
CREATE VIEW phong_thietbi
Trang 17SELECT P.ID ,C.ID_TB,C.SoLuong
FROM phong P INNER JOIN chitiet_thietbi C ON P.ID = C.ID_Phong ;
Xuất ra xem thiết bị này tên là gì và thuộc phòng nào có thể sủ dụng thiết bị ấy
CREATE VIEW phong_dv
AS
SELECT t.ID ,d.TenDichVu ,d.ID ,d.GiaTien
FROM phong t INNER JOIN dichvu d ON t.ID = d.ID_Phong;
Kiểm tra xem các dịch vụ mà loại phòng có thể sử dụng
CREATE VIEW hoa_don
AS
SELECT H.ID ,CT.ID ,CT.ID_Phong ,H.ID_KH
FROM hoadon H INNER JOIN chitiet_hoadon CT ON H.ID_CTHoaDon = CT.ID;
CREATE VIEW PHONG_HOADON
AS
SELECT hd.ID_KH,p.LoaiPhong,p.GiaTien,p.ID
FROM hoa_don hd INNER JOIN phong p ON hd.ID_Phong=p.ID;
CREATE VIEW KH_DICHVU
AS
SELECT PP.ID_kh,D.TenDichVu,D.GiaTien,PP.ID
FROM PHONG_HOADON PP INNER JOIN dichvu d ON PP.ID = d.ID_Phong;
Kiểm tra xem khách hàng sử dụng phòng nào sử dung những dịch vụ gì và các loại thiết
bị j trong phòng