- QuVn lY khách sạn là hoạt động kinh doanh dRa trên cơ sM cung cDp các dịch vụ lưu trU, ăn uống và các dịch vụ bF sung cho khách hàng.. Người quVn lY cfn quVn lY nhiKu mVng bao gồm khác
Trang 1TRƯỜNG ĐẠI HỌC
SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH
HCMC University of Technology and Education
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
NGÀNH CÔNG NGHỆ THÔNG TIN
BÁO CÁO ĐỒ ÁN HỆ QUẢN TRỊ CƠ SỞDỮ LIỆU
QUẢN LÝ KHÁCH SẠN
Nhóm sinh viên thực hiện:
Trang 2IV.Thiết kế và cài đặt chức năng: 6
1.Mô tả các thuộc tính và kiểu dữ liệu của chúng 6
Trang 3CHƯƠNG 1: ĐẶC TẢ HỆ THỐNG
I.Mô tả phần mềm
1 Tầm quan trọng của việc quản lí hệ thống khách sạn
- Hiê Bn nay, công nghê B thông tin đang rDt phF biHn, đă Bc biê Bt là các máy tJnh đKu cL M khOp mPi nơi SR phát triSn cTa công nghê B thông tin giUp làm tăng sR phát triSn cho các ngành kinh tH GiVi quyHt đưXc các bài toán quVn lY vK dZ liê Bu, giUp cho người sử dụng thao tác nhanh hơn, tiHt kiê Bm thời gian và chi phJ - QuVn lY khách sạn là hoạt động kinh doanh dRa trên cơ sM cung
cDp các dịch vụ lưu trU, ăn uống và các dịch vụ bF sung cho khách hàng Nhưng với sR phát triSn như hiện nay thì lưXng khách hàng đF vK các khách sạn ngày càng nhiKu, dẫn đHn viê Bc sử dụng giDy đS ghi chbp thông tin, tìm kiHm thông tin tạo nên sR khL khăn Vì vâ By, viê Bc xây dRng 1 hê B thống giUp quVn lY là viê Bc làm cfn thiHt, đem lại hiê Bu quV cao cho việc quVn lJ ChJnh vì thH chUng em chPn đK tài: QuVn lY khách sạn.
2 Mô tả dữ liệu phần mềm
- ĐS quVn lY một hệ thống trong doanh nghiệp cL rDt nhiKu mVng và chUng liên quan với nhau và quVn lY khách sạn cũng vậy Người quVn lY cfn quVn lY nhiKu mVng bao gồm khách hàng, nhân viên, phòng, tài khoVn, thuê.
- DZ liệu cfn thiHt đS xây dRng phfn mKm:
Tài khoVn: Chứa tài khoVn đS quVn lY tDt cV các Phòng, Khách Hàng, Thuê, Nhân Viên,…
Trang 4QuVn lY thông tin người dùng và quyKn đăng nhập hệ thống: Lưu thông tin cTa người dùng gồm: HP và Tên, Ngày Sinh, Email, UserName, Password
QuVn lJ Phòng: Lưu thông tin các loại phòng cL trong khách sạn:Giá thuê phòng, Mã phòng, Loại phòng(Phòng đơn/đôi,twin),, Tình trạng phòng(Đã đưXc thuê/Còn trống)TrV tiKn phòng,Danh sách vật dụng trong phòng,Danh sách các mLn ăn,thức uống tJnh thêm phJ trong phòng(Snack,Bia,RưXu, )
QuVn lJ Nhân viên: Lưu thông tin nhân viên(id nhân viên,hP và tên nhân viên,số điện thoại nhân viên,user name nhân viên,password nhân viên), Tài khoVn nhân
QuVn lJ Thuê phòng: Lưu thông tin khách hàng thuê phòng, phòng đưXc thuê,loại phòng(đơn/đôi), ngày nhận phòng,ngày trV phòng, tình trạng phòng, tFng tiKn thuê phòng,chi phJ sử dụng dịch vụ trong phòng(bánh snack,nước ngPt,bia,rưXu,…),chi phJ phát sinh(đF vỡ,hư hại,…), thông tin số điện thoại liên hệ(lễ tân),thông tin WI-FI,nhận xbt vK phòng M(cVi thiện/hạn chH),
LXi nhuận(Dành cho Bộ phận kH toán,kiSm toán):GiUp xem đưXc thu,chi,lXi nhuận cTa khách sạn trong 1 đơn vị thời gian cụ thS(1 tháng,1 quY,1 năm).
Trang 5II.Quy trình xử lí
- ĐS sử dụng phfn mKm,User phVi Tạo tài khoVn:bao gồm User name,Password,SĐT,Thông tin cá nhân khác,… Admin cL quyKn cho người dùng vào hệ thống với quyKn nào đL trên hệ thống Việc thRc hiện đăng nhập thông qua bVng Đăng Nhập.
Đăng nhập vào chương trình bằng các tài khoVn QuVn lY, Nhân viên (Thu ngân).
- Khi QuVn lY muốn xem Thông tin cá nhân thì chPn bVng Thông
tin cá nhân.
+ĐS ChPn phòng thì Khách hàng cfn Đăng nhập,sau đL ChPn
vào phòng mình muốn đặt sau đL nhDn Đặt phòng.
+ĐS Thanh toán tiKn phòng thì User nhDn vào mục Phòng đã đặt,Sau đL nhDn Thanh toán đS thanh toán tiKn phòng+ĐS Xem, Thêm, Sửa, XLa thông tin các phòng:QuVn lJ sẽ cL các chức năng Xem, Thêm, Sửa, XLa Nhân viên trong bVng
Trang 6- Tìm kiHm các Phòng, Nhân viên, Khách hàng tương ứng với các quyKn trong QuVn lY, Nhân viên.
III.Mô hình:
1 Lược đồ ERD
IV.Thiết kế và cài đặt chức năng:
1.Mô tả các thuộc tính và kiểu dữ liệu của chúng
BVng 1 Taikhoan
Thuộctính
Kiểu dữ liệu Ý nghĩaRàng buộc
BVng 2 Nhanvien
Trang 7Thuộc tính Kiểu dữ liệu Ý nghĩaRàng buộc
3tenlotnvarchar(50)Tên lLt nhân viên
4tennvnvarchar(50)Tên nhân viên
5ngaysinhdateNgày sinh
7chucvunvarchar(50)Chức vụ
BVng 3 Phong
Thuộc tính Kiểu dữ liệu Ý nghĩaRàng buộc
1sttintSố thứ tR
2maphongchar(5)Mã phòngKhLa chJnh 3loaiphongnvarchar(20)Loại phòng
4giaphongmoneyGiá phòng
5tinhtrangchar(1)Tình trạng phòng
6capdonvarchar(50)CDp độ phòng
BVng 4 Khachhang
Thuộc tínhKiểu dữ liệu Ý nghĩaRàng buộc
1maKhintMã khách hàngKhLa chJnh
3tenlotnvarchar(50)Tên lLt khách hàng
4tenKhnvarchar(50)Tên khách hàng
6ngaysinhdateNgày sinh
7loaiKhnvarchar(20)Loại khách hàng
Trang 88nguoiCapnhatintNgười cập nhật
BVng 5 Thue
Thuộc tínhKiểu dữ liệu Ý nghĩaRàng buộc
1mathueIntMã thuêKhLa chJnh 2maphongchar(5)Mã phòngKhLa ngoại 3maKhintMã khách hàngKhLa ngoại 4ngaythueintNgày thuê
5ngaytradatetimeNgày trV
6tinhtrangchar(1)Tình trạng
7tongtienmoneyTFng tiKn
8nguoiCapnhatintNgười cập nhật
2.Thành phần chức năng
Đăng nhập và phân quyền:
Mỗi user cL 1 quyKn nhDt định Tài khoVn quVn lY sẽ cL tDt cV các quyKn Tài khoVn cTa nhân viên:
select, insert, update bVng Khachhang select, update bVng Phong
select, insert, update bVng Thue select, insert, update Khachhang_view select, insert, update ThueTN_view
exec các proce: sp_chonkh, sp_chonphong, sp_datphong, sp_loadDSKH, sp_loadDSP, sp_loadDSTP, sp_suaphong, sp_themkh, sp_selectLoaikh, sp_suakh, sp_thongtincn, sp_traphong
exec các functions: f_dangnhap, f_kiemtratrangthai
Tìm kiếm phòng, nhân viên, khách hàng, danh sách thuê phòng theonhiều tiêu chí
Thêm, xóa, sửa phòng, nhân viên, khách hàng
Trang 9- Thêm: ta nhập vào các thông tin cfn thêm vK phòng, khách hàng, nhân viên đS cL thS thêm mới một đối tưXng
- Sửa: ta chPn vào đối tưXng trong DataGridView và thay đFi các thông tin cfn thay đFi ChPn Sửa
- XLa: ta chPn vào đối tưXng trong DataGridView và chPn XLa
Chọn phòng và thanh toán: Cho phbp đặt phòng và trV phòng Thao tác
với bVng Thue, Phong
Xem thông tin cá nhân
Xem danh sách tài khoản trong hệ thống
3.Các form trong chương trình:
Tên formHình ảnhChức năngthíchChú
Trang 13constraint FK_Thue_Phong foreignkey (maphong)references Phong(maphong), constraint FK_Thue_Khachhang foreignkey (maKh)references Khachhang(maKh),
createoralter view Taikhoan_view as
select tentk asN'Tên tài kho n'ả , loaitk asạN'Lo i tài kho n'ả
from Taikhoan go
T o view khách hàng ạ
Trang 14from Khachhang go
T o view thuê phòng cho thu ngân ạ
createoralter view ThueTN_view as
select t maphong , kh.hớ ' kh tenlot + + kh tenKh HotenKH as , t ngaythue t ngaytra , , t tinhtrang t tongiten t maThue, , from Thue t Khachhang kh,
where t maKh kh = maKh go
T o view cho thuê phòng cho admin ạ
createoralter view ThueAd_view as
select t maphong , kh.hớ ' kh tenlot + + kh tenKh HotenKH as , t ngaythue t ngaytra , , t tinhtrang t tongiten nv manv , , , nv.ho + + nv tenlot ++ nvtennv as HotenNV, t.maThue
from Thue t Khachhang kh Nhanvien nv, ,
where t maKh kh = maKh and nv manv t nguoiCapnhat = go
Function: Ki m tra tr ng thái phòngể ạ
createoralter function f_kiemtratrangthai @maphong ( char(5))
if (selectcount(*)from Taikhoan where tentk @taikhoan = and matkhau @matkhau = and loaitk @loaitk= )=1
Trang 15else if @loaitk =N'TN'
if (selectcount(*)from Taikhoan where tentk @taikhoan = and matkhau @matkhau = and loaitk @loaitk= )= 1
Trigger: Nhân viên ph i trên 18 tu iả ổ
createoralter trigger tg_InUpNhanvien Nhanvienon for insert,update
as begin
declare @ngaysinh date
select @ngaysinh = ngaysinh from inserted
createoralter trigger tg_InKhachHang Khachhangon for insert,update
as begin
declare @ngaysinh date
select @ngaysinh = ngaysinh from inserted ifdatediff year( ,@ngaysinh,getdate()) < 18
Trang 16else if @loaitk =N'Thu ngân'
insert into Taikhoan values(@tentk,'1111' 'TN', )
declare @maphong char( )10
select @maphong maphong = from inserted
Procedure xem thông tin cá nhân
createoralter proc sp_thongtincn
Trang 17tên', ngaysinh asN'Ngày sinh', sdt asốN'S đi n tho i'ệ ạ , chucvu asN'Ch c ứ v '
from Nhanvien
wherelower( ) likeho '%'+lower(@tukhoa)+'%'
orlower(tenlot ) like'%' +lower(@tukhoa ) +'%'
orlower(tennv ) like'%' +lower(@tukhoa ) +'%'
orlower(chucvu ) like'%' +lower(@tukhoa ) +'%'
commit tran go
Procedure S a thông tin nhân viên theo mã nhân viênử
createoralter proc sp_suanv
if @ho =''or @tenlot = '' @ten = '' @sdt = '' (@chucvu !=
N'Thu ngân'and @chucvu !=N'Qu n lý'ả )
set ho @ho= , tenlot = @tenlot tennv , = @ten, sdt = @sdt, ngaysinh = @ngaysinh, chucvu @chucvu=
where manv @manv= commit tran
Procedure Thêm nhân viên theo mã nhân viên
createoralter proc sp_themnv
if @ho =''or @tenlot = '' @ten = '' @sdt = '' (@chucvu !=
N'Thu ngân'and @chucvu !=N'Qu n lý'ả ) begin
Trang 18whileexists(select from * Nhanvien where @manv manv= ) set @manv @manv = + 1
insert into Nhanvien values (@manv @ho, ,@tenlot @ten, ,@ngaysinh,@sdt @chucvu, ) commit tran
Procedure Xóa nhân viên g m thông tin nhân viên và tài kho nồ ả
createoralter proc sp_xoanv @manv int as
begin tran
delete from Taikhoan where tentk @manv= delete from Nhanvien where @manv manv= commit tran
Procedure Danh sách ch c v c a nhân viênứ ụ ủ
createoralter proc sp_loainv
Procedure ch n nhân viên theo mã nhân viênọ
createoralter proc sp_chonnv
Procedure Xem danh sách khách hàng
createoralter proc sp_loadDSKH @tukhoa nvarchar(50), @loaitk nvarchar(50) as
Trang 19ifnot exists (select from * Khachhang)
select maKh asN'Mã khách hàng', ho +' ' tenlot +' ' tenKh asN'Họ và tên', ngaysinh asN'Ngày sinh', loaiKh asN'C p đ 'ấ ộ, nguoiCapnhat asN'Mã người c p nh t'
from Khachhang
wherelower( ) likeho '%'+lower(@tukhoa)+'%'
orlower(tenlot ) like'%' +lower(@tukhoa ) +'%'
orlower(tenKh ) like'%' +lower(@tukhoa ) +'%'
orlower(loaiKh ) like'%' +lower(@tukhoa ) +'%'
else if @loaitk ='TN'
from Khachhang_view
wherelower( ) likeho '%'+lower(@tukhoa)+'%'
orlower(tenlot ) like'%' +lower(@tukhoa ) +'%'
orlower(tenKh ) like'%' +lower(@tukhoa ) +'%'
orlower(loaiKh ) like'%' +lower(@tukhoa ) +'%'
Trang 20whileexists (select from* Khachhang where maKh = @makh) set @makh @makh = + 1
insert into Khachhang values (@makh, @ho, @tenlot @tenkh @sdt @ngaysinh, , , ,N'Th ng'ườ ,@mancn)
set ho @ho= , tenlot = @tenlot tenKh , = @tenkh @sdt sdt , = , ngaysinh = @ngaysinh, loaiKh @loaiKh= , nguoiCapnhat = @mancn
where @makh = maKh
Trang 21c Thuê
Procedure Xem danh sách thuê phòng
createoralter proc sp_loadDSTP
select maphong asN'Mã phòng', HotenKH asN'H tên ọ KH', ngaythue asN'Ngày thuê', ngaytra asN'Ngày tr 'ả,
select maphong asN'Mã phòng', HotenKH asN'H tên ọ KH', ngaythue asN'Ngày thuê', ngaytra asN'Ngày tr 'ả,
else if @trangthai ='Y'
select maphong asN'Mã phòng', HotenKH asN'H tên ọ KH', ngaythue asN'Ngày thuê', ngaytra asN'Ngày tr 'ả,
tinhtrang asN'Tr ng thái'ạ , tongiten asN'T ng ti n'ổ ề
from ThueTN_view wherelower(HotenKH)like
'%'+lower(@tukhoa)+'%'and tinhtrang ='Y'
end else if @loaitk ='admin'
if @trangthai ='A'
select maphong asN'Mã phòng', HotenKH asN'H tên ọ KH', ngaythue asN'Ngày thuê', ngaytra asN'Ngày tr 'ả,
tinhtrang asN'Tr ng thái'ạ , tongiten asN'T ng ti n'ổ ề , manv asN'Mã nhân viên', HotenNV asN'H tên NV'ọ
from ThueAd_view wherelower(HotenKH)like
else if @trangthai ='N'
select maphong asN'Mã phòng', HotenKH asN'H tên ọ KH', ngaythue asN'Ngày thuê', ngaytra asN'Ngày tr 'ả,
tinhtrang asN'Tr ng thái'ạ , tongiten asN'T ng ti n'ổ ề , manv asN'Mã nhân viên', HotenNV asN'H tên NV'ọ
from ThueAd_view where tinhtrang ='N'and (lower(HotenKH)like'%'+lower(@tukhoa)+'%'
Trang 22select maphong asN'Mã phòng', HotenKH asN'H tên ọ KH', ngaythue asN'Ngày thuê', ngaytra asN'Ngày tr 'ả,
tinhtrang asN'Tr ng thái'ạ , tongiten asN'T ng ti n'ổ ề , manv asN'Mã nhân viên', HotenNV asN'H tên NV'ọ
from ThueAd_view where tinhtrang ='Y' and (lower(HotenKH)like'%'+lower(@tukhoa)+'%'
end end
Procedure Thêm thuê phòng
createoralter proc sp_datphong
Procedure Xem danh sách phòng
createoralter proc sp_loadDSP
Trang 23createoralter procedure ThemHoaDon_proc @maHoaDon varchar(10),@SDT varchar( ),10 @maNV varchar( ),10 @maCN varchar(10),@tongGia float, @ngayBan
if @maphong =''or @loaiphong =''or @giaphong = '' @capdo =''
or (@tinhtrang !='Y'and @tinhtrang !='N')
insert into Phong
values(@stt,@maphong @loaiphong @capdo @giaphong @tinhtrang, , , , ) commit tran
Procedure Xóa phòng theo mã phòng
createoralter proc sp_xoaphong
Trang 24if @maphong =''or @loaiphong =''or @giaphong = '' @capdo =''
or (@tinhtrang !='Y'and @tinhtrang !='N')
select @tien = giaphong from Phong where maphong =@maphong select @ngaythue = ngaythue from Thue where @maThue maThue=
Trang 25set tinhtrang ='Y', ngaytra =getdate(), tongiten @songay @tien = * , nguoiCapnhat =@mancc
where @maThue maThue=
set tinhtrang ='Y'
where @maphong maphong= commit tran
to RoleThuNgan
6.Môi trường cài đặt và công nghệ sử dụng
Chương trình đưXc xây dRng trên nKn tVng NET FRAMEWORK 4.7.3 trong môi trường phfn mKm Visual Studio 2019.
Các công nghệ đưXc sử dụng: - Microsoft SQL Server 2019 - ADO.Net
- SQL Server Develop 2019