- 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 2MỤC LỤC
CHƯƠNG 1: ĐẶC TẢ HỆ THỐNG 3
I Mô tả phần mềm 3
1 Tầm quan trọng của việc quản lí hệ thống khách sạn 3
2 Mô tả dữ liệu phần mềm 3
II Quy trình xử lí 5
III Mô hình: 6
1 Lược đồ ERD 6
IV.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
2.Thành phần chức năng 8
3.Các form trong chương trình: 9
4.Tạo CSDL và ràng buộc: 12
4.1.1.Tạo bảng Taikhoan: 12
4.1.2.Tạo bảng Nhanvien 12
4.1.3Tạo bảng Phong 13
4.1.4.Tạo bảng Khachhang 13
4.1.5.Tạo bảng Thue 13
5.Cài đặt các chức năng 13
5.1.1.View: 13
5.1.2.Function: 14
5.1.3.Trigger 15
5.1.4.Procedure 16
6.Môi trường cài đặt và công nghệ sử dụng 25
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 viên
QuVn lJ Khách hàng: Lưu thông tin khách hàng, Loại khách hàng(VIP/V-VIP/Normal)
*ChU thJch:Loại khách hàng phụ thuộc vào loại phòng khách hàng thuê.
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 chPn QuVn lJ.
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ộc
tính
Kiểu dữ liệu Ý nghĩa Ràng buộc
BVng 2 Nhanvien
Trang 7Thuộc tính Kiểu dữ liệu Ý nghĩa Ràng buộc
3 tenlot nvarchar(50) Tên lLt nhân viên
4 tennv nvarchar(50) Tên nhân viên
5 ngaysinh date Ngày sinh
7 chucvu nvarchar(50) Chức vụ
BVng 3 Phong
Thuộc tính Kiểu dữ liệu Ý nghĩa Ràng buộc
1 stt int Số thứ tR
2 maphong char(5) Mã phòng KhLa chJnh
3 loaiphong nvarchar(20) Loại phòng
4 giaphong money Giá phòng
5 tinhtrang char(1) Tình trạng phòng
6 capdo nvarchar(50) CDp độ phòng
BVng 4 Khachhang
Thuộc tính Kiểu dữ liệu Ý nghĩa Ràng buộc
1 maKh int Mã khách hàng KhLa chJnh
3 tenlot nvarchar(50) Tên lLt khách hàng
4 tenKh nvarchar(50) Tên khách hàng
6 ngaysinh date Ngày sinh
7 loaiKh nvarchar(20) Loại khách hàng
Trang 88 nguoiCapnhat int Người cập nhật
BVng 5 Thue
Thuộc tính Kiểu dữ liệu Ý nghĩa Ràng buộc
1 mathue Int Mã thuê KhLa chJnh
2 maphong char(5) Mã phòng KhLa ngoại
3 maKh int Mã khách hàng KhLa ngoại
4 ngaythue int Ngày thuê
5 ngaytra datetime Ngày trV
6 tinhtrang char(1) Tình trạng
7 tongtien money TFng tiKn
8 nguoiCapnhat int Ngườ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 theo nhiề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 form Hình ảnh Chức năng thích Chú
function f_dangnhanhập vào
hệ thống tương ứng với từng vai trò đưXc phân quyKn M dZliệufrmDSK
H HiSn thị danh sách
khách hàngcTa hệ thống
Cùng với các chức năng thêm, xLa, sửa, tìm kiHm
Các chức năng tìm kiHm và xLa đưXc thRc hiện thông qua gPi procedure
từ CSDL Chức năng sửa
và thêm
sẽ mM frmKH đSthRc hiện
Trang 10các trường
đS thRc hiện chức năng thêm
và sửa khách hàng
M frmDSKH
đưXc mM
sẽ nhận 1
dZ liệu từ frmDSKH
đS nhận biHt đang thêm hay sửa đS chạy proceduretương ứng
từ CSDLfrmDSN
V HiSn thị danh sách
nhân viên cTa hệ thống
Cùng với các chức năng thêm, xLa, sửa, tìm kiHm
Các chức năng tìm kiHm và xLa đưXc thRc hiện thông qua gPi procedure
từ CSDL Chức năng sửa
và thêm
sẽ mM frmNV đSthRc hiện
các trường
đS thRc hiện chức năng thêm
và sửa nhân viên MfrmDSNV
Khi form đưXc mM
sẽ nhận 1
dZ liệu từ frmDSNV
đS nhận biHt đang thêm hay sửa đS chạy proceduretương ứng
từ CSDL
Trang 11danh sách khách hàngcTa hệ thống
Cùng với các chức năng thêm, xLa, sửa, lPc theo trạng thái
và đặt phòng
năng đặt phòng gPifunction kiSm tra xem phòng cL người thuê chưa,nHu chưa
sẽ mM frmDatP ngưXc lại
sẽ thông báo cL người đã thuê
- Các chức nănglPc và xLa
sẽ gPi procedure
- Thêm, sửa sẽ mMfrmP
các trường
đS thRc hiện chức năng thêm
và sửa phòng M frmDSNV
Nhận dZ liệu từ frmDSP
đS nhận biHt chức năng thêmhay sửa
và proceduretương ứng
Trang 12trường đS
hỗ trX việc đặt phòng
liệu từ frmDSP
đS chạy proceduređặt phòng
chức năng tìm kiHm, lPc theo trạng thái, trV phòng
Các chức năng đKu gPi procedure
đS thRc hiện
Trang 135.Cài đặt các chức năng
5.1.1.View:
T o view tài kho n
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
5.1.2.Function:
Function: Ki m tra tr ng thái phòngể ạ
createoralter function f_kiemtratrangthai @maphong ( char(5))
if @trangthai ='N'
beginset @kq = 1return @kqend
else if @trangthai ='Ý
beginset @kq = 0return @kqend
return 1end
Trang 15return 0
end
go
5.1.3.Trigger
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
begin
printN'Khách hàng ph i t 18 tu i tr lên'ả ừ ổ ở
rollback tranreturnend
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
end try
begin catch
rollback tran
return
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
go
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
go
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
go
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)
begin
rollback tranreturnend
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'
select*
from Khachhang_view
wherelower( ) likeho '%'+lower(@tukhoa)+'%'
orlower(tenlot ) like'%' +lower(@tukhoa ) +'%'
orlower(tenKh ) like'%' +lower(@tukhoa ) +'%'
orlower(loaiKh ) like'%' +lower(@tukhoa ) +'%'
Trang 20insert 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
from ThueTN_view wherelower(HotenKH)like
from ThueTN_view wherelower(HotenKH)like
'%'+lower(@tukhoa)+'%'
and tinhtrang ='N'
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'
from ThueAd_view wherelower(HotenKH)like
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
go
Procedure Thêm thuê phòng
createoralter proc sp_datphong
insert into Thue values (@maphong, @makh,getdate(), ,'' 'N','',@maNcc)
commit tran
go
d Phòng
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 datetime
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
go
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
go
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