1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớp chương trình quản lý khách sạn

11 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương trình quản lý khách sạn
Tác giả Võ Trung Hải, Trần Hiếu Trứ, Nguyễn Khắc Hiếu, Trần Hoàng Tiến Đạt
Người hướng dẫn ThS. Trịnh Thị Xuân
Trường học Trường Đại học Mở Hà Nội, Trung tâm Đào tạo Elearning
Chuyên ngành Hệ Quản trị Cơ sở dữ liệu
Thể loại Bài tập lớp
Năm xuất bản 2023
Thành phố Đà Nẵng
Định dạng
Số trang 11
Dung lượng 781,58 KB

Nội dung

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS.. Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS.. Các thông tin chi tiêu của Khách Hàng phải cập nhật thường xuyên để không làm tốn thời gian chờ

Trang 1

TRUNG TÂM ĐÀO TẠO ELEARNING

-VÕ TRUNG HẢI – C618 TRẦN HIẾU TRỨ – C618 NGUYỄN KHẮC HIẾU – C618

TRẦN HOÀNG TIẾN ĐẠT – C618

CHƯƠNG TRÌNH QUẢN LÝ KHÁCH SẠN

BÁO CÁO BÀI TẬP LỚP

MÔN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU

Giảng viên hướng dẫn: ThS Trịnh Thị Xuân

Đà Nẵng 2023

Trang 2

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

MỤC LỤC

I Giới thiệu đề tài 4

II Phát biểu bài toán 4

III Mô hình CSDL và tạo CSDL 5

IV Các đối tượng CSDL 6

V Phân quyền và bảo mật CSDL 16

VI Phân tan ngang & dọc CSDL 16

VII Kết luận, hướng phát triển tiếp theo 16

VIII Tài liệu tham khảo 17

Trang 3

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

I Giới thiệu đề tài

Mỗi Khách Hàng đến Khách Sạn để ở thì phải check in để nhận phòng Khi nhận phòng sẽ khai báo các thông tin các nhân để nhân viện lễ tân lưu lại trên hệ thống, Sau đó khách hàng có thể lưu lại tại Phòng mình đã chọn, Và tận dụng các dịch vụ từ ăn uống, sinh hoạt đến vui chơi giải trí Sau thời gian lưu trú khách hàng

sẽ trả Phòng và nhận được Hóa Đơn thanh toán Các thông tin chi tiêu của Khách Hàng phải cập nhật thường xuyên để không làm tốn thời gian chờ đợi của Khách Hàng

Qua khảo sát hoạt động của một số Khách Sạn ta nhân thấy được sự cần thiết phải xây dựng một chương trình quản lý dữ liệu thông tin bao gồm: thông tin Khách Hàng, Thông tin Nhân Viên, thông tin chi tiết về loại Phòng, thông tin về Hóa Đơn thanh toán, thông tin chi tiết về Hóa Đơn thanh toán khi sử dụng dịch vụ

và để giúp việc quản lý Khách Sạn thêm dễ dàng hơn cũng như sau này

II Phát biểu bài toán

Bài toán là chương trình được xây dựng trên phần mềm SQL server gồm cơ

sở dữ liệu, các bảng dữ liệu như sau:

* Bảng dữ liệu Khách Hàng: đây là bảng dữ liệu quan trọng trong mô hình Quản Lý Khách Sạn, bất kỳ khách sạn nào cũng cần phải có Khách

- Khách Hàng gồm: Mã khách hàng, tên khách hàng, giới tính, địa chỉ, điện thoại, email

- Khách hàng đến lưu trú phải khai báo đầy đủ thông tin để lễ tân đăng ký lưu trú

* Bảng dữ liệu Nhân Viên: thông tin tất cả nhân viện từ quản lý -> nhân viện đều có thông tin đầy đủ trong bảng này

- Nhân Viên gồm: Mã nhân viên, tên nhân viên, giới tính, địa chỉ, SĐT, chức vụ

* Bảng dữ liệu Phòng: bảng này cung cấp đầy đủ thông tin về các loại phòng, thường hay vip, đôi hay đơn…

- Phòng gồm: Mã phòng, tên phòng, loại phòng, giá phòng, tình trạng

* Bảng dữ liệu Hóa Đơn: bảng này cung cấp thông tin số tiền thanh toán, nhân viên và khách hàng

- Hóa Đơn gồm: Mã hóa đơn, mã khách hàng, ma nhân viên, ngày thanh toán, tổng tiền

* Bảng chi tiết Hóa Đơn: bảng này cung cấp chi tiết về hóa đơn khách hàng

đã sử dụng tại khách sạn

- Chi tiết hóa đơn gồm: Mã chi tiết hóa đơn, mã hóa đơn, mã phòng, số ngày, thành tiền

Trang 4

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

Mỗi khách hàng đến ở dẽ được khai báo chi tiết các thông tin, và được lưu trữ tại csdl của khách sạn để sau này có quay lại sẽ nhận được nhiều ưu đãi hơn

III Mô hình CSDL và tạo CSDL

1 Xác định các thực thể, thuộc tính và ràng buộc

- Bảng Khách Hàng: tblKhachHang (MaKhachHang, TenKhachHang,

GioiTinh, DiaChi, DienThoai, Email)

- Bảng Nhân Viên: tblNhanVien (MaNhanVien, TenNhanVien, GioiTinh, DiaChi, DienThoai, ChucVu)

- Bảng Phòng: tblPhong (MaPhong, TenPhong, LoaiPhong, GiaPhong,

TinhTrang)

- Bảng Hóa Đơn: tblHoaDon (MaHoaDon, MaKhachHang, MaNhanVien, NgayThanhToan, TongTien)

- Bảng Chi Tiết Hóa Đơn: tblChiTietHoaDon (MaChiTietHoaDon,

MaHoaDon, MaPhong, SoNgay, ThanhTien)

2 Xác định sơ đồ quan hệ giữa các bảng

IV Các đối tượng CSDL

Trang 5

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

1 Các bảng và chèn dữ liệu vào bảng

-Tạo CSDL

TẠO DATABASE:

QuanLyKhachSan

Create database

Go

QuanLyKhachSan

Use

Go

Tạo ba ng tblKhachHang

CREATE TABLE tblKhachHang (

MaKhachHang CHAR ( ), 10

TenKhachHang NVARCHAR ( 50 ),

GioiTinh NVARCHAR ( 5 ),

DiaChi NVARCHAR ( 100 ),

DienThoai NVARCHAR ( 15 ),

Email NVARCHAR ( 50 ),

Primary key ( MaKhachHang )

)

Go

Insert Into tblKhachHang Values

( 'KH01' N'Võ Văn Quang' , , N'Nam' , N'Qua ng

Nam' '0905111222' 'nam@gmail.com' , , ),

( 'KH02' N'Võ Văn Hiệp' N'Nam' N'Qua , , , ng

Ngãi' '0905111333' 'hiep@gmail.com' , , ),

( 'KH03' N'Lê Thi Dầ@ , n' , N'Nữ' , N'Nghệ

An' '0905111444' 'dan@gmail.com' , , ),

( 'KH04' N'Trường ,

Giang' N'Nam' N'HCM' '09051115555' 'giang@gmail.com' , , , , ),

( 'KH05' N'Lê Thầ , m Dương' , N'Nam' , N'Hà

Nội' '0905111666' 'duong@gmail.com' , , ),

( 'KH06' N'NguyêI , n Thị Lê@ ' , N'Nữ' , N'Ha i

Dương' '0905111777' 'le@gmail.com' , , ),

( 'KH07' N'Phan Văn ,

Quang' N'Nam' N'HCM' '0905111888' 'quang@gmail.com' , , , , )

Go

Tạo ba ng tblNhanVien

CREATE TABLE tblNhanVien (

MaNhanVien CHAR ( ), 10

TenNhanVien NVARCHAR ( ), 50

GioiTinh NVARCHAR ( 5 ),

DiaChi NVARCHAR ( 100 ),

DienThoai NVARCHAR ( 15 ),

ChucVu NVARCHAR ( ), 50

Primary key ( MaNhanVien )

)

Go

Insert Into tblNhanVien Values

( 'NV01' N'Lê Văn Minh' , , N'Nam' N'HuêN , ' '0905222222' , , N'Nhần Viên' ),

( 'NV02' N'Lê Thị Lài' N'Nữ' N'Đà NăI , , , ng' , '0905222333' , N'Qua n Lý' ),

( 'NV03' N'Lê Thị DiêI , m' , N'Nữ' , N'Nghệ An' , '0905222444' , N'Nhần

Viên' ),

( 'NV04' N'Trường Thanh' , , N'Nam' , N'HCM' , '0905222555' N'Nhần Viên' , ),

Trang 6

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

( 'NV05' N'Võ Trung Hà' N'Nam' N'Qua , , , ng Nam' , '0905222666' , N'Qua n

Lý' ),

( 'NV06' N'Bùi Thiện Thanh' N'Nữ' N'Tam Kỳ' '0905222777' , , , , , N'Nhần

Viên' ),

( 'NV07' N'Võ Trung Ha , i' , N'Nam' , N'Đà NăI ng' , '0905222888' , N'Nhần

Viên' )

Go

Tạo ba ng tblPhong

CREATE TABLE tblPhong (

MaPhong CHAR ( ), 10

TenPhong NVARCHAR ( 50 ),

LoaiPhong NVARCHAR ( 50 ),

GiaPhong FLOAT ( ), 15

TinhTrang NVARCHAR ( 20 ),

Primary key ( MaPhong )

)

Go

Insert Into tblPhong Values

( 'MP01' N'Phòng Đôi' , , N'Vip' N'800000' 'TrôN , , ng' ),

( 'MP02' N'Phòng Đơn' , , N'Thường' , N'600000' , 'TrôN ng' ),

( 'MP03' N'Phòng Đẹp' , , N'Vip' , N'900000' , 'TrôN ng' ),

( 'MP04' N'Phòng Đôi' , , N'Vip' , N'800000' , 'TrôN ng' ),

( 'MP05' N'Phòng Đơn' , , N'Thường' , N'600000' , 'TrôN ng' ),

( 'MP06' N'Phòng Đẹp' , , N'Vip' , N'900000' , 'TrôN ng' ),

( 'MP07' N'Phòng Đơn' , , N'Thường' , N'600000' , 'TrôN ng' )

Go

Tạo ba ng tblHoaDon

CREATE TABLE tblHoaDon (

MaHoaDon CHAR ( 10 ),

MaKhachHang CHAR ( ), 10

MaNhanVien CHAR ( ), 10

NgayThanhToan DATE ,

TongTien FLOAT ( ), 15

Primary key ( MaHoaDon ),

FOREIGN KEY ( MaKhachHang ) REFERENCES tblKhachHang ( MaKhachHang ),

FOREIGN KEY ( MaNhanVien ) REFERENCES tblNhanVien ( MaNhanVien )

)

Go

Insert Into tblHoaDon Values

( 'HD01' 'KH02' 'NV01' N'01/01/2023' N'1600000' , , , , ),

( 'HD02' 'KH01' 'NV01' N'03/04/2023' N'1200000' , , , , ),

( 'HD03' 'KH02' 'NV03' N'02/05/2023' N'1800000' , , , , ),

( 'HD04' 'KH04' 'NV03' N'06/02/2023' N'1200000' , , , , ),

( 'HD05' 'KH05' 'NV01' N'02/03/2023' N'2400000' , , , , ),

( 'HD06' 'KH03' 'NV01' N'02/05/2023' N'3600000' , , , , ),

( 'HD07' 'KH02' 'NV01' N'02/04/2023' N'2400000' , , , , )

Go

Tạo ba ng tblChiTietHoaDon

CREATE TABLE tblChiTietHoaDon (

MaChiTietHoaDon CHAR ( ), 10

MaHoaDon CHAR ( 10 ),

MaPhong CHAR ( ), 10

SoNgay CHAR ( ), 10

Trang 7

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

ThanhTien FLOAT ( ), 15

Primary key ( MaChiTietHoaDon ),

FOREIGN KEY ( MaHoaDon ) REFERENCES tblHoaDon ( MaHoaDon ),

FOREIGN KEY ( MaPhong ) REFERENCES tblPhong ( MaPhong )

)

Go

Insert Into tblChiTietHoaDon Values

( 'CTHD01' , 'HD02' , 'MP02' , N'2' N'1200000' , ),

( 'CTHD02' , 'HD01' , 'MP01' , N'2' N'1600000' , ),

( 'CTHD03' , 'HD02' , 'MP03' , N'2' N'1200000' , ),

( 'CTHD04' , 'HD04' , 'MP03' , N'2' N'1200000' , ),

( 'CTHD05' , 'HD05' , 'MP01' , N'4' N'2400000' , ),

( 'CTHD06' , 'HD03' , 'MP06' , N'3' N'2700000' , ),

( 'CTHD07' , 'HD03' , 'MP06' , N'3' N'2700000' , )

Go

2 View

Tạo view in đầ@ y đu thông tin Khách Hàng

SELECT *

FROM tblKhachHang

Go

Tạo view in đầ@ y đu thông tin Nhần Viên

SELECT *

FROM tblNhanVien

Go

Tạo view in đầ@ y đu thông tin Phòng

SELECT *

FROM tblPhong

Go

Tạo view in đầ@ y đu thông tin Hóa Đơn

SELECT *

FROM tblHoaDon

Go

Tạo view in đầ@ y đu thông tin Chi TiêN t Hóa Đơn

SELECT *

FROM tblChiTietHoaDon

Go

Tạo view in đầ@ y đu thông tin Khách Hàng là Nữ

SELECT *

FROM tblKhachHang

WHERE GioiTinh = N'Nữ'

Go

Tạo view in thông tin cu a những Khách hàng có hóa đơn lớn hơn

800000

SELECT *

FROM tblHoaDon

WHERE TongTien > 800000

Go

Tạo view in đầ@ y đu thông tin Nhần Viên là Nữ và quê ơ Đà NăI ng

SELECT *

FROM tblNhanVien

WHERE GioiTinh = N'Nữ' AND DiaChi = N'Đà NăI ng'

Go

Tạo view in thông tin Chi TiêN t Hóa Đơn có sôN ngày ơ là 2

SELECT *

Trang 8

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

FROM tblChiTietHoaDon

WHERE SoNgay 2 =

Tạo view in đầ@ y đu thông tin Phòng Vip

SELECT *

FROM tblPhong

WHERE LoaiPhong = N'Vip'

Go

3 Proc

Tạo thu tục in danh sách Khách Hàng N ( N là mã Khách Hàng )

CREATE PROC inDSKH @MaKhachHang char ( 10 )

AS

Select * From tblKhachHang Where MaKhachHang @MaKhachHang = ;

GO

EXEC inDSKH KH02

GO

Tạo thu tục in danh sách Nhần Viên N ( N là mã Nhần Vien )

CREATE PROC inDSNV @MaNhanVien char ( ) 10

AS

Select * From tblNhanVien Where MaNhanVien @MaNhanVien = ;

GO

EXEC inDSNV NV05

GO

Tạo thu tục in danh sách Phòng N ( N là mã Phòng )

CREATE PROC inDSP @MaPhong char ( ) 10

AS

Select * From tblPhong Where MaPhong @MaPhong = ;

GO

EXEC inDSP MP03

GO

Tạo thu tục in danh sách Hóa Đơn N ( N là mã Hóa Đơn )

CREATE PROC inDSHD @MaHoaDon char ( 10 )

AS

Select * From tblHoaDon Where MaHoaDon @MaHoaDon = ;

GO

EXEC inDSHD HD04

GO

Tạo thu tục in danh sách Chi TiêN t Hóa Đơn N ( N là mã Chi TiêN t Hóa

Đơn )

CREATE PROC inDSCTHD @MaChiTietHoaDon char ( ) 10

AS

Select * From tblChiTietHoaDon Where MaChiTietHoaDon =

@MaChiTietHoaDon ;

GO

EXEC inDSCTHD CTHD02

GO

4 Trigger

Trigger: Ghi lại thông tin Người QT, Ngày Thay Đô i, Thông Tin Thay

Đô a cơ sơ dữ liệu Qua n lý Khách Sạn

Tạo thêm ba ng ThayDoi

CREATE TABLE ThayDoi

(

ThongTinThayDoi xml NOT NULL,

Trang 9

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

NgayThayDoi datetime NOT NULL DEFAULT GETDATE (),

NguoiQT char ( ) 40 NOT NULL

)

GO

Tạo Trigger ThayDoiTable

CREATE TRIGGER ThayDoiTable

ON DATABASE

FOR CREATE_TABLE ALTER_TABLE , , DROP_TABLE

AS

SET NOCOUNT ON

INSERT ThayDoi ( ThongTinThayDoi , NguoiQT ) VALUES ( EVENTDATA (),

USER )

GO

SELECT FROM * ThayDoi

Tạo ba ng KiemTra_table

CREATE TABLE KiemTra

(

STT int PRIMARY KEY ,

DienGiai nvarchar ( 30 ),

DienGiaiKhac nvarchar ( 30 )

)

GO

SELECT FROM * ThayDoi

Thêm cột NgayThucHien vào KiemTra_table

ALTER TABLE KiemTra

ADD NgayThucHien date DEFAULT GETDATE ()

GO

SELECT FROM * ThayDoi

Xóa bo ba ng KiemTra_table

DROP TABLE KiemTra

GO

SELECT FROM * ThayDoi

GO

Trigger: Ghi lại thay đô i tại ba ng thông tin Khách Hàng

CREATE TRIGGER Tr_KhachHang

ON tblKhachHang

FOR INSERT

AS

COMMIT

GO

SELECT FROM * tblKhachHang

GO

Trigger: Ghi lại thay đô i tại ba ng thông tin Nhần Viên

CREATE TRIGGER Tr_NhanVien

ON tblNhanVien

FOR INSERT

AS

COMMIT

GO

SELECT FROM * tblNhanVien

GO

Trigger: Ghi lại thay đô i tại ba ng thông tin Phòng

CREATE TRIGGER Tr_Phòng

ON tblPhong

FOR INSERT

Trang 10

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

AS

COMMIT

GO

SELECT FROM * tblPhong

GO

Trigger: Ghi lại thay đô i tại ba ng thông tin Hoa Đơn

CREATE TRIGGER Tr_HoaDon

ON tblHoaDon

FOR INSERT

AS

COMMIT

GO

SELECT FROM * tblHoaDon

GO

V Phân quyền và bảo mật CSDL

Phần quyê@ n cho người dùng có tên 'GUEST'

USE QuanLyKhachSan Grant select on tblKhachHang GUEST to

USE QuanLyKhachSan Grant insert on tblNhanVien GUEST to

USE QuanLyKhachSan Grant delete on tblPhong GUEST to

USE QuanLyKhachSan Grant select on tblHoaDon GUEST to

Phần quyê@ n cho người dùng có tên 'LeThanhTrung'

Create user LeThanhTrung for login [BUILTIN\Users]

USE QuanLyKhachSan Grant select on tblKhachHang LeThanhTrung to

USE QuanLyKhachSan Grant insert on tblNhanVien LeThanhTrung to

USE QuanLyKhachSan Grant select on tblPhong LeThanhTrung to

USE QuanLyKhachSan Grant delete on tblHoaDon LeThanhTrung to

VI Phân quyền và bảo mật CSDL

Phần tán Dọc cho tbl Nhần Viên

Tạo ba ng con cho DiaChi va DienThoai

CREATE TABLE tblNhanVien_Address

MaNhanVien CHAR ( ) 10 PRIMARY KEY ,

DiaChi NVARCHAR ( 100 ),

DienThoai NVARCHAR ( 15 )

FOREIGN KEY ( MaNhanVien ) REFERENCES tblNhanVien ( MaNhanVien )

)

Go

SELECT FROM * tblNhanVien_Address

Chuyê n dữ liệu từ ba ng gôN c sang ba ng con

INSERT INTO tblNhanVien_Address MaNhanVien , DiaChi , DienThoai )

SELECT MaNhanVien DiaChi , , DienThoai

FROM tblNhanVien

Go

Xóa cột DiaChi va DienThoai từ ba ng gôN c

ALTER TABLE tblNhanVien

DROP COLUMN DiaChi , DienThoai

Go

SELECT FROM * tblNhanVien

SELECT FROM * tblNhanVien_Address

Go

VII Kết luận, hướng phát triển tiếp theo

Trang 11

Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân

Vì thời gian thực hiện đề tài cũng tương đối ngắn không thể diễn tả hết được hết tính năng cũng như hiệu quả của chương trình của đề tài Nhìn chung chương trình đã đáp được các yêu cầu hiện nay của 1 khách sạn tầm trng cũng như người dùng quan tâm, chương trình đã hỗ trợ giảm thiểu đáng kể thời gian truy xuất dữ liệu nhân viên, khách hàng…, thông tin khách hàng đã từng đến lưu trú, hỗ trợ người dùng một cách khách quan và nhanh chóng

Mặc khác chương trình cũng còn một số hạn chế nhất định, mong rằng thời gian tới qua thời gian sử dụng thực tế sẽ cập nhật, sửa lỗi và phát triển tốt hơn

VIII Tài liệu tham khảo

1 Professional SQL Server 2000 Database Design, Louis Davidson, Wrox PressLtd

2 SQL Server 2008 Books Online

SINH VIÊN THỰC HIỆN

NHÓM N3- Trường ĐHM Hà Nội ( đại diện trưởng nhóm )

Ngày đăng: 08/04/2024, 12:52

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w