Tải bản đầy đủ (.pdf) (25 trang)

Báo cáo đồ án hệ quản trị cơ sở dữ liệu quản lý khách sạn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.16 MB, 25 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

TRƯỜNG ĐẠI HỌC

<b>SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH</b>

HCMC University of Technology and Education

<b>KHOA ĐÀO TẠO CHẤT LƯỢNG CAO</b>

NGÀNH CÔNG NGHỆ THÔNG TIN

<b>BÁO CÁO ĐỒ ÁN HỆ QUẢN TRỊ CƠ SỞDỮ LIỆU</b>

<b>QUẢN LÝ KHÁCH SẠN</b>

<b>Nhóm sinh viên thực hiện:</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>IV.Thiết kế và cài đặt chức năng:...6</b>

<b>1.Mơ tả các thuộc tính và kiểu dữ liệu của chúng...6</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

CHƯƠNG 1: ĐẶC TẢ HỆ THỐNG

<b>I.Mô tả phần mềm</b>

<b>1. Tầm quan trọng của việc quản lí hệ thống khách sạn</b>

- 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.

<b>2. Mô tả dữ liệu phần mềm</b>

- Đ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,…

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

QuVn 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 Th phịng: Lưu thơng tin khách hàng th phịng, phịng đưXc th,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 th 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).

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>II.Quy trình xử lí</b>

- Đ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 <b>Đăng Nhập.</b>

Đă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).

<b>- Khi QuVn lY muốn xem Thơng tin cá nhân thì chPn bVng Thơng</b>

<b>tin cá nhân.</b>

+ĐS ChPn phịng thì Khách hàng cfn Đăng nhập,sau đL ChPn

<b>vào phịng mình muốn đặt sau đL nhDn Đặt phịng.</b>

+ĐS Thanh tốn tiKn phịng thì User nhDn vào mục Phịng đã đặt,Sau đL nhDn <b>Thanh toán </b>đ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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="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.

<b>III.Mơ hình:</b>

<b>1. Lược đồ ERD</b>

<b>IV.Thiết kế và cài đặt chức năng:</b>

<b>1.Mô tả các thuộc tính và kiểu dữ liệu của chúng</b>

BVng 1. Taikhoan

<b>Thuộctính</b>

<b>Kiểu dữ liệu Ý nghĩaRàng buộc</b>

BVng 2. Nhanvien

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Thuộc tính Kiểu dữ liệu Ý nghĩaRàng buộc</b>

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

<b>Thuộc tính Kiểu dữ liệu Ý nghĩaRàng buộc</b>

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

<b>Thuộc tínhKiểu dữ liệu Ý nghĩaRàng buộc</b>

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

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

8nguoiCapnhatintNgười cập nhật

BVng 5. Thue

<b>Thuộc tínhKiểu dữ liệu Ý nghĩaRàng buộc</b>

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

<b>Đăng nhập và phân quyền:</b>

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

<b>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í</b>

<b>Thêm, xóa, sửa phịng, nhân viên, khách hàng</b>

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="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

<b>Chọn phịng và thanh tốn: Cho phbp đặt phòng và trV phòng. Thao tác</b>

với bVng Thue, Phong

<b>Xem thông tin cá nhân</b>

<b>Xem danh sách tài khoản trong hệ thống</b>

3.Các form trong chương trình:

<b>Tên formHình ảnhChức năng<sub>thích</sub><sup>Chú</sup></b>

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

constraint 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 ạ

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

from 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

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

else 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

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

else 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

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

tê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

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

whileexists(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

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

ifnot 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 ) +'%'

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

whileexists (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

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

c. 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)+'%'

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

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 ='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

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

createoralter 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

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

if @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=

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

set tinhtrang ='Y', ngaytra =getdate(), tongiten @songay @tien = * , nguoiCapnhat =@mancc

where @maThue maThue=

set tinhtrang ='Y'

where @maphong maphong= commit tran

to RoleThuNgan

<b>6.Môi trường cài đặt và công nghệ sử dụng</b>

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

</div>

×