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 (781.58 KB, 11 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b>TRUNG TÂM ĐÀO TẠO ELEARNING</b>
<i><b>Giảng viên hướng dẫn: </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
Đà Nẵng 2023
</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<b>I. Giới thiệu đề tài...4</b>
<b>II. Phát biểu bài tốn...4</b>
<b>III. Mơ hình CSDL và tạo CSDL...5</b>
<b>IV. Các đối tượng CSDL...6</b>
<b>V. Phân quyền và bảo mật CSDL...16</b>
<b>VI. Phân tan ngang & dọc CSDL...16</b>
<b>VII. Kết luận, hướng phát triển tiếp theo...16</b>
<b>VIII. Tài liệu tham khảo...17</b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<b>I. Giới thiệu đề tài</b>
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 tố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 tốn, thơng tin chi tiết về Hóa Đơn thanh tố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.
<b>II. Phát biểu bài tốn</b>
Bài tố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 tốn,
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><i><b>Bài tập lớn mơn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
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.
<b>III. Mơ hình CSDL và tạo CSDL</b>
<b>1. Xác định các thực thể, thuộc tính và ràng buộc</b>
<b>- Bảng Khách Hàng: tblKhachHang (MaKhachHang, TenKhachHang,</b>
GioiTinh, DiaChi, DienThoai, Email)
- Bảng Nhân Viên: tblNhanVien (<b>MaNhanVien</b>, TenNhanVien, GioiTinh, DiaChi, DienThoai, ChucVu)
<b>- Bảng Phòng: tblPhong (MaPhong, TenPhong, LoaiPhong, GiaPhong,</b>
- Bảng Hóa Đơn: tblHoaDon (<b>MaHoaDon</b>, MaKhachHang, MaNhanVien, NgayThanhToan, TongTien)
<b>- Bảng Chi Tiết Hóa Đơn: tblChiTietHoaDon (MaChiTietHoaDon,</b>
MaHoaDon, MaPhong, SoNgay, ThanhTien)
<b>2. Xác định sơ đồ quan hệ giữa các bảng</b>
<b>IV. Các đối tượng CSDL</b>
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<small>Insert Into tblKhachHang Values</small>
<small> ('KH01' N'Võ Văn Quang',,N'Nam',N'Qua ng </small>
<small>Giang' N'Nam' N'HCM' '09051115555' '',,,,),('KH05' N'Lê Thầ ,m Dương',N'Nam',N'Hà </small>
<small>Insert Into tblNhanVien Values</small>
<small> ('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'),</small>
<small>('NV04' N'Trường Thanh',,N'Nam',N'HCM','0905222555' N'Nhần Viên',),</small>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<small>('NV05' N'Võ Trung Hà' N'Nam' N'Qua,,, ng Nam','0905222666',N'Qua n </small>
<small>Insert Into tblPhong Values</small>
<small> ('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'),</small>
<small>Primary key(MaHoaDon),</small>
<small> FOREIGN KEY (MaKhachHang)REFERENCES tblKhachHang(MaKhachHang), FOREIGN KEY (MaNhanVien)REFERENCES tblNhanVien(MaNhanVien)</small>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<small> ThanhTien FLOAT( ),15</small>
<small>Primary key(MaChiTietHoaDon),</small>
<small> FOREIGN KEY (MaHoaDon)REFERENCES tblHoaDon(MaHoaDon), FOREIGN KEY (MaPhong)REFERENCES tblPhong(MaPhong)</small>
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<small>-- Tạo thu tục in danh sách Khách Hàng N ( N là mã Khách Hàng )</small>
<small>CREATE PROC inDSKH @MaKhachHang char(10)</small>
<small>-- Tạo thu tục in danh sách Nhần Viên N ( N là mã Nhần Vien )</small>
<small>CREATE PROC inDSNV @MaNhanVien char( )10</small>
<small>-- Tạo thu tục in danh sách Phòng N ( N là mã Phòng )</small>
<small>CREATE PROC inDSP @MaPhong char( )10</small>
<small>-- Tạo thu tục in danh sách Hóa Đơn N ( N là mã Hóa Đơn )</small>
<small>CREATE PROC inDSHD @MaHoaDon char(10)</small>
<small>--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</small>
<small>-- Tạo thêm ba ng ThayDoi</small>
<small>CREATE TABLE ThayDoi(</small>
<small> ThongTinThayDoi xmlNOTNULL,</small>
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<small> NgayThayDoi datetimeNOTNULLDEFAULTGETDATE(), NguoiQT char( )40 NOT NULL</small>
<small>--Tạo Trigger ThayDoiTable</small>
<small>CREATE TRIGGER ThayDoiTable</small>
<small>SELECT FROM* ThayDoi</small>
<small>--Thêm cột NgayThucHien vào KiemTra_table</small>
<small>ALTER TABLE KiemTra</small>
<small>ADD NgayThucHien date DEFAULTGETDATE()</small>
<small>--Trigger: Ghi lại thay đô i tại ba ng thông tin Khách Hàng</small>
<small>CREATE TRIGGER Tr_KhachHang</small>
<small>--Trigger: Ghi lại thay đô i tại ba ng thông tin Nhần Viên</small>
<small>CREATE TRIGGER Tr_NhanVien</small>
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
<small>--Trigger: Ghi lại thay đô i tại ba ng thông tin Hoa Đơn</small>
<small>CREATE TRIGGER Tr_HoaDon</small>
<b>V. Phân quyền và bảo mật CSDL</b>
<small>--Phần quyê@n cho người dùng có tên 'GUEST'</small>
<small>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</small>
<small>--Phần quyê@n cho người dùng có tên 'LeThanhTrung'</small>
<small>Create user LeThanhTrung for login [BUILTIN\Users]</small>
<small>USE QuanLyKhachSan Grant select on tblKhachHang LeThanhTrungtoUSE QuanLyKhachSan Grant insert on tblNhanVien LeThanhTrungtoUSE QuanLyKhachSan Grant select on tblPhong LeThanhTrungto</small>
<small>USE QuanLyKhachSan Grant delete on tblHoaDon LeThanhTrungto</small>
<b>VI. Phân quyền và bảo mật CSDL</b>
<small>-- Phần tán Dọc cho tbl Nhần Viên-- Tạo ba ng con cho DiaChi va DienThoai</small>
<small>CREATE TABLE tblNhanVien_Address MaNhanVien CHAR( )10 PRIMARY KEY,</small>
<small>SELECT FROM* tblNhanVien_Address-- Chuyê n dữ liệu từ ba ng gôNc sang ba ng con</small>
<small>INSERT INTO tblNhanVien_AddressMaNhanVien, DiaChi, DienThoai)</small>
<small>SELECT MaNhanVien DiaChi,, DienThoai</small>
<small>FROM tblNhanVien</small>
<small>-- Xóa cột DiaChi va DienThoai từ ba ng gôNc</small>
<small>ALTER TABLE tblNhanVien</small>
<small>DROP COLUMN DiaChi, DienThoai</small>
<small>SELECT FROM* tblNhanVien</small>
<small>SELECT FROM* tblNhanVien_Address</small>
<b>VII. Kết luận, hướng phát triển tiếp theo</b>
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11"><i><b>Bài tập lớn môn học Cơ sở dữ liệu GVHD </b></i><b><small>ThS. Trịnh Thị Xuân</small></b>
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.
<b>VIII. Tài liệu tham khảo</b>
1. Professional SQL Server 2000 Database Design, Louis Davidson, Wrox PressLtd
2. SQL Server 2008 Books Online
<b> SINH VIÊN THỰC HIỆN</b>
NHÓM N3- Trường ĐHM Hà Nội ( đại diện trưởng nhóm )
</div>