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 1TRUNG TÂM ĐÀO TẠO ELEARNING
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 2Bà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 3Bà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,
Trang 4Bà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,
- 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 5Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân
Insert Into tblKhachHang Values
('KH01' N'Võ Văn Quang',,N'Nam',N'Qua ng
Giang' N'Nam' N'HCM' '09051115555' 'giang@gmail.com',,,,),('KH05' N'Lê Thầ ,m Dương',N'Nam',N'Hà
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 6Bà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
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ôNng'),('MP03' N'Phòng Đẹp',,N'Vip',N'900000','TrôNng'),('MP04' N'Phòng Đôi',,N'Vip',N'800000','TrôNng'),('MP05' N'Phòng Đơn',,N'Thường',N'600000','TrôNng'),
Primary key(MaHoaDon),
FOREIGN KEY (MaKhachHang)REFERENCES tblKhachHang(MaKhachHang), FOREIGN KEY (MaNhanVien)REFERENCES tblNhanVien(MaNhanVien)
Trang 7Bà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)
Trang 8Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân
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)
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
Tạo thu tục in danh sách Phòng N ( N là mã Phòng )
CREATE PROC inDSP @MaPhong char( )10
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)
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 xmlNOTNULL,
Trang 9Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân
NgayThayDoi datetimeNOTNULLDEFAULTGETDATE(), NguoiQT char( )40 NOT NULL
Tạo Trigger ThayDoiTable
CREATE TRIGGER ThayDoiTable
SELECT FROM* ThayDoi
Thêm cột NgayThucHien vào KiemTra_table
ALTER TABLE KiemTra
ADD NgayThucHien date DEFAULTGETDATE()
Trigger: Ghi lại thay đô i tại ba ng thông tin Khách Hàng
CREATE TRIGGER Tr_KhachHang
Trigger: Ghi lại thay đô i tại ba ng thông tin Nhần Viên
CREATE TRIGGER Tr_NhanVien
Trang 10Bài tập lớn môn học Cơ sở dữ liệu GVHD ThS Trịnh Thị Xuân
Trigger: Ghi lại thay đô i tại ba ng thông tin Hoa Đơn
CREATE TRIGGER Tr_HoaDon
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 GUESTtoUSE QuanLyKhachSan Grant insert on tblNhanVien GUESTtoUSE QuanLyKhachSan Grant delete on tblPhong GUESTtoUSE QuanLyKhachSan Grant select on tblHoaDon GUESTto
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 LeThanhTrungtoUSE QuanLyKhachSan Grant insert on tblNhanVien LeThanhTrungtoUSE QuanLyKhachSan Grant select on tblPhong LeThanhTrungto
USE QuanLyKhachSan Grant delete on tblHoaDon LeThanhTrungto
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,
SELECT FROM* tblNhanVien_Address Chuyê n dữ liệu từ ba ng gôNc sang ba ng con
INSERT INTO tblNhanVien_AddressMaNhanVien, DiaChi, DienThoai)
SELECT MaNhanVien DiaChi,, DienThoai
FROM tblNhanVien
Xóa cột DiaChi va DienThoai từ ba ng gôNc
ALTER TABLE tblNhanVien
DROP COLUMN DiaChi, DienThoai
SELECT FROM* tblNhanVien
SELECT FROM* tblNhanVien_Address
VII Kết luận, hướng phát triển tiếp theo
Trang 11Bà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 )