BÀI TẬP LỚNTÊN HỌC PHẦN: HỆ QUẢN TRỊ DỮ LIỆU PHÂN TÁNĐỀ TÀI: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝ CHUỖI KHÁCH SẠN HƯƠNG LANGiáo viên hướng dẫn: Nguyễn Hồng Nam.Hà Nội, năm 2023... BÀI
Trang 1BÀI TẬP LỚN
TÊN HỌC PHẦN: HỆ QUẢN TRỊ DỮ LIỆU PHÂN TÁNĐỀ TÀI: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN
LÝ CHUỖI KHÁCH SẠN HƯƠNG LAN
Giáo viên hướng dẫn: Nguyễn Hồng Nam.
Hà Nội, năm 2023
Trang 2BÀI TẬP LỚN
TÊN HỌC PHẦN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PHÂN TÁN
ĐỀ TÀI: THIẾT KẾ CƠ SỞ DỮ LIỆU PHÂN TÁN QUẢN LÝCHUỖI KHÁCH SẠN HƯƠNG LAN
STTMã Sinh ViênHọ và TênNgày SinhĐiểm
Bằng sốBằng chữ11671020128Nguyễn Lê Việt Hoàng27/12/200
CÁN BỘ CHẤM THI
Hà Nội, năm 2022
Page 2
Trang 3Mục lục
CHƯƠNG 1:THIẾT KẾ HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁN
CHO QUẢN LÝ CHỖI KHÁCH SẠN HƯƠNG LAN 4
1 Khảosátnghiệpvụ 4
1.1 thông tin chung 4
1.2 Cơ cấu hoạt động 5
CHƯƠNG 2: CÀI ĐẶT CHƯƠNG TRÌNH SQLSERVER 16
1 Cài đặt phân tán cho máy chủ điềukhiển 21
Trang 42 Cài đặt phân tán ở các trạm địa phương phân
CHƯƠNG 3: XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆQUẢNTRỊDỮLIỆUSQLSERVER 32
1 Cấutrúccácbảngdữliệu 32
2 Môhìnhcơsởdữliệuphântán 36
43 Giả thiết đưa ra bài toán ứng dụng 37
4 Một số truy vấn phân tán trong hệ quản trị cơ sở dữ liệu phân tánchobàitoánứngdụng 38
KẾT LUẬN 45
1 Ưu điểm và Nhược điểm 45
2 Hướng phát triển của đề tài 45
Page 4
Trang 5CHƯƠNG I: THIẾT KẾ HỆ THỐNG CƠ SỞ DỮ LIỆU PHÂN TÁNCHO QUẢN LÝ CHUỖI KHÁCH SẠN HƯƠNG LAN
1 Khảo sát nghiệp vụ
1.1 Thông Tin Chung
Tên đề tài: Thiết kế hệ thống CSDLPT QL chuỗi khách sạn Hương LanThông tin cá nhân:
STTMã Sinh ViênHọ và TênNgày SinhĐiểm
Bằng sốBằng chữ11671020128Nguyễn Lê Việt Hoàng27/12/200
4
Trang 6Địa ChỉHọ tên người quản lýSố điện thoại Ngày thành lập
Hà Nội Nguyễn Lê Việt Hoàng 0941281157 18/01/2004Thông tin địa chỉ các trạm 1
Miền Bắc Phùng Văn Vũ 0356555013 26/20/1993 Thông tin địa chỉ các trạm 2
Miền Trung Bùi Nguyệt Anh 0333174114 6/03/2000
Thông tin địa chỉ các trạm 3
Miền Nam Lê Nhật Long 0345621768 14/07/2013
1.2 Cơ cấu hoạt động 1.2.1 Cơ cấu tổ chức
- Tổng giám đốc: Là người đứng đầu chuỗi khách sạn, chịu trách nhiệmthực hiện công tác đối nội và đối ngoại trong mọi hoạt động kinh doanh củachuỗi khách sạn Là người có chức năng cao nhất về quản lý chuỗi kháchsạn, có chức năng bao quát chung toàn bộ hoạt động của khách sạn.
Page 6
Trang 7- Giám đốc chi nhánh: Là người đứng đầu mỗi chi nhánh của chuỗi kháchsạn, chịu mọi trách nhiệm liên quan đến khách sạn đấy và có quyền quản lýmọi công việc của khách sạn
- Giám đốc các bộ phận: có chức năng tổ chức, quản lý điều hành mọi hoạtđộng kinh doanh của bộ phận mình, phối kết hợp với các bộ phận kháctrong khách sạn, giúp giải quyết các vấn đề và phát triển khách sạn
- Thư ký: là người có nhiệm vụ ghi chép sổ sách, giấy tờ đồng thời phiêndịch cho tổng giám đốc và giám đốc chi nhánh.
- Bộ phận nhân sự: chịu trách nhiệm đảm bảo nguồn nhân lực cho kháchsạn vào mọi thời điểm Tìm kiếm những nguồn lao động cần thiết và phânbổ các nguồn này một cách
Trang 8- Bộ phận tài chính: có chức năng về các công việc như tiền lương, chứngtừ, sổ sách kế toán, ghi chép các giao dịch về tài chính và các diễn giải cácbáo cáo tài chính cung cấp cho ban quản lý của các bộ phận khác
- Bộ phận ăn uống: có chức năng đón tiếp và phục vụ khách các món ăn, đồuống đảm bảo chất lượng nhằm tạo hiệu quả kinh doanh
- Bộ phận phòng: Tổ chức,lo liệu đón tiếp và phục vụ nơi nghỉ ngơi củakhách, quản lý việc cho thuê phòng và quán xuyến toàn bộ trong quá trìnhkhách ở, các dịch vụ bổ sung như giặt là, thực hiện các biện pháp chốngcháy, chống độc, thực hiện tẩy trùng, diệt chuột, gián, phòng chống dịchbệnh Chịu trách nhiệm về toàn bộ tài sản khu vực phòng Kiểm soát chitiêu của bộ phận Tổ chức quản lý và giữ gìn hành lý của khách để quên,kip thời thông báo với bộ phận lễ tân để tìm cách trả lại cho khách.
- Bộ phận bảo vệ: có nhiệm vụ bảo đảm an toàn thân thể và tài sản chokhách trong khách sạn dảm bảo an ninh luôn ổn định bên ngoài và trongkhách sạn.
- Bộ phận kỹ thuật: đảm bảo hệ thống kỹ thuật như âm thanh,điện,nướcđược hoạt động tốt
1.2.2 Cơ cấu hoạt động
Thời gian: Tất cả các ngày trong năm
Page 8
Trang 9Hình thức hoạt động: Khi có khách hàng đến thuê phòng, bộ phận tiếp tânsẽ tiếp nhận Nhận thông tin khách hàng và trả về số phòng Sau đấy bộphận phòng sẽ chuẩn bị và đưa khách hàng đến phòng được nhận Vào mỗibữa sáng, trưa, chiều, bộ phận ăn uống sẽ chuẩn bị và đưa đồ ăn đến phòngkhách hàng Khi khách trả phòng, bộ phận phòng sẽ có nhiệm vụ thu dọnphòng cho khách và đưa đồ của khách ra cổng khách sạn Sau đấy bộ phậntiếp tân sẽ in hoa đơn và thu tiền Vào cuối ngày, bộ phận tài chính sẽ kiểmlại thu nhập cũng như chi tiêu của khách sạn trong ngày.
2 Bài Toán
Qua khảo sát thấy được việc quản lý chuỗi khách sạn còn nhiều thao tácthủ công Do vậy mục đích đề tài này là giảm tới mức tối thiểu các côngviệc thủ công để đảm bảo tính chính xác và tốc độ của công việc Vì thế,với việc có 6 khách sạn được phân bố khắp cả nước nên nhóm em quyếtđịnh xây dựng 3 máy trạm chia theo khu vực bắc trung nam.
Máy chủ sẽ được đặt tại Hà Nội có khả năng truy cập, thêm, sửa, xóathông tin chuỗi khách sạn ở mọi máy trạm Trong trường hợp máy chủ lỗisẽ có một máy chủ phụ được bật lên, máy chủ này cũng là nơi sao lưu vàkhôi phục dữ liệu
Các máy trạm sẽ đặt ở các khu vực dựa trên địa lý bao gồm miền Bắc, miềnTrung, miền Nam Và các máy trạm sẽ chỉ có thể truy cập, thêm, sửa, xóa
Trang 10Và mỗi khách sạn sẽ quản lý bao gồm: - Quản lý thông tin khách hàng
- Quản lý thông tin nhân viên,quản lý
- Quản lý giao dịch : thuê phòng, đặt phòng - Quản lý thông tin loại phòng
- Quản lý dịch vụ
- Quản lý thanh toán : thanh toán trả phòng
3 Thiết kế cơ sở dữ liệu tập trung cho hệ thống
3.1 Phân tích thực thể Thực thể vùng miền
Tên thuộctính
Mô tả
MaKhachSan Mã Khách SạnTenKhachSan Tên Khách SạnDiaChi Địa Chỉ
Tên thuộc tính Mô tả
MaPhongBan Mã Phòng BanTenPhongBan Tên Phòng Ban
Trang 11Thực thể nhân viên
Thực thể khách hàng
Tên thuộctính
Mô tă
MaNV Mã Nhân ViênTenNV Tên Nhân ViênChucVu Chức Vụ
DiaChi Địa ChỉGioiTinh Giới TínhNgaySinh Ngày SinhSDT Số Điện Thoại
Tên thuộc tính Mô tả
MaKH Mã Khách HàngTenKH Tên Khách HàngCMND Chứng minh nhân dânDiaChi Địa Chỉ
GioiTinh Giới TínhNgaySinh Ngày SinhSDT Số Điện Thoại
Trang 12Thực thể phiếu đặt phòng
Thực thể phiếu thuê phòng
12Thực thể hóa đơn
Thực thể phòng
Page 12
Tên thuộc tính Mô tả
MaPhieuDat Mã Phiếu ĐặtNgayDat Ngày ĐặtSoLuongNguo
Số Lượng Người
Tên thuộctính
Mô tả
MaPhieuThue Mã PhiếuThuê
NgayThue Ngày Thuê
Tên thuộc tính Mô tả
MaHoaDon Mã Hóa Đơn NgayLap Ngày LậpTongTien Tổng Tiền
Tên thuộctính
Mô tả
Ma Phong Mã PhòngTenPhong Tên PhòngTinhTrang Tình Trạng
Trang 13Thực thể loại phòng
13Thực thể dịch vụ
3.2 Mô hình cơ sở dữ liệu tập trungTên thuộc tính Mô tả
MaLoaiPhong Mã Loại PhòngTenLoaiPhong Tên Loại
PhòngDonGia Đơn GiáSoNguoi Số Người
Tên thuộctính
Mô tả
MaDV Mã DịchVụ
TenDV Tên DịchVụ
DonGia Đơn Giá
Trang 14Biểu đồ diagrams:
Page 14
Trang 153.3 Thiết kế mô hình cơ sở dữ liệu phân tán cho hệ thống
Trong hệ thống quản lý khách sạn, ở đây phân mảnh ngang nguyên thủy đểchia hệ CSDL thành 3 mảnh đặt ở 3 trạm dựa vào Miền và 1 trạm trung tâmdữ liệu:
Trạm 1: Miền Bắc Trạm 2: Miền Trung Trạm 3: Miền Nam
Trạm 4: Trung tâm dữ liệu Trong đó Trạm trung tâm (trạm 4) được truy cậptới dữ liệu trên tất cả các trạm.
Trạm 1 chỉ được quản lí và truy cập tới thông tin của các khách sạn khuvực miền Bắc
Trạm 2 chỉ được quản lý và truy cập tới thông tin của các khách sạn khuvực miền Trung
Trang 16Trạm 3 chỉ được quản lý và truy cập tới thông tin của các khách sạn khuvực miền Nam
Trạm trung tâm được thêm, sửa, xóa thông tin tại tất cả các trạm Còn cáctrạm 1, trạm 2, trạm 3 chỉ được phép thêm, sửa, xóa thông tin thuộc trạmđấy quản lý
3.5 Phân mảnh dữ liệuST
Server
Trang 17Ở đây ta thực hiện phân mảnh ngang để chia hệ CSDL thành 3 mảnh đặt ở3 trạm dựa vào mã Miền và 1 trạm trung tâmdữ liệu Do đó cấu trúc CSDLtại các trạm sẽ giống trạm trung tâm Tuy nhiên dữ liệu được lưu trữ và sửdụng tại các trạm lại khác nhau Với Trạm 1 chỉ lưu và sử dụng thông tin vềmã miền là miền Bắc, Trạm 2 chỉ lưu và sử dụng thông tin về mã miền làmiền Trung và Trạm 3 chỉ lưu và sử dụng các thông tin về mã miền là miềnNam.
+ CSDL tại server chứa các thủ tục, các hàm để thực hiện thao tác trên từngkhu hoặc cả 3 khu khi có lệnh yêu cầu truy xuất dữ liệu từ người quản lý.Kết quả trả về sẽ thông qua hệ quản trị cơ sở dữ liệu và phần mềm ứngdụng để hiển thị lên màn hình
- Trạm 1: Miền Bắc + Phân quyền người dùng: cho phép hoặc hạn chếquyền sử dụng phần mềm ứng dụng tại khách sạn có mã miền là miền Bắc
Trang 19+ Tìm kiếm thông tin trên cơ sở dữ liệu của tại khách sạn có mã miền làmiền Nam
+ Thống kê tình hình doanh thu, loại hình dịch vụ của khách sạn có mãmiền là miền Nam.
19
Trang 20CHƯƠNG 2:CÀI ĐẶT CHƯƠNG TRÌNH SQL SERVERCách cài đặt chương trình SQL Server cho máy chủ và trạm
Bước 1: Truy cập trang web: server/sql-serverdownloads và chọn Developer để tải SQL Server về máy
https://www.microsoft.com/en-us/sql-Bước 2: Mở ứng dụng ra đã tải về rồi chọn vào Basic
Bước 3: Đồng ý điều khoản, chọn thư mục lưu trữ và ấn nút Install
Page 20
Trang 21Bước 4: Sau khi đã tải về thành công, chạy chương trình SETUP.EXE ở thumục SQL Server vừa cài đặt.
Bước 5: Ấn vào Installation rồi chon New Sql Server
Bước 6: Tiếp tục ấn next cho tới mục Product Key
Trang 22Bước 7: Ở mục Product Key này ta chọn Evaluation ở Specify a free editon
Bước 8: Ở mục Feature Selectionta chọn các mục như hình dưới
Bước 9: Điền tên cho sever của mình ở mục Instance Configuration
Page 22
Trang 23Bước 10: Ở mục Database Engine Configuration chọn Mixed Mode vànhậm password cho tài khoản sa
Sau đấy ấn vào Add Current User rồi ấn Next
Bước 11: Ấn nút Install và hoàn thành
Trang 241 Cài đặt phân tán cho máy chủ điều khiển
Sau khi đã cài đặt máy chủ ta bắt đầu cài đặt cho máy chủ để phân tán dữliệu
Bước 1: Chuẩn bị thư mục
+ Ta tạo 1 thư mục để chứa các dữ liệu trao đổi trong quá trình update dữliệu từ các phân mảnh về cơ sở dữ liệu gốc, và từ cơ sở dữ liệu gốc đến cácphân mảnh
+ Tiến hành cho phép mọi người dùng trong máy chủ được phép đọc, viếtlên thư mục này.
Cuối cùng click lệnh share.
Bước 2: Thực hiện phân tán ở máy chủ
Ta chạy Server và đăng nhập SQL Server bằng tài khoản
Page 24
Trang 25Ở mục SQL Server Agent nhấn chuột phải và chọn Start
Tiếp theo tại Replication ta nhấn chuột phải chọn Configure Distributiond
Ở mục Snapshot folder ta dán đường link của folder vừa tạo lúc nãy
Trang 26Sau đấy ấn Next rồi Finish
Tiếp theo ở mục Local Publication bên trong Replication ta ấn chuột phảichọn New Publication Sau đấy chọn server gốc mà mình muốn phân tánrồi ấn Next
Page 26
Trang 27Ở mục tiếp theo ta chọn Merge publication rồi ấn Next26
Ở phần Articles ta chọn các bảng mà mình muốn phân tán lên các máytrạm.
Trang 28Ở mục Filter table rows ta ấn nút Add rồi select đến bảng mình muốn phântán Ở đây ta chọn bảng MIEN và phân tán dựa trên MaVungMien =‘MBac’
Từ đấy ta Add join các bảng khác dựa trên bảng MIEN Ta làm tương tự với các vùng miền khác
Page 28
Trang 29Ở mục Agent Security ta ấn nút Security Settings
Và nhập tài khoản như hình dưới
Trang 30Sau đó ta chọn điền tên và hoàn thành
2 Cài đặt phân tán ở các trạm địa phương phân tán
Trong phần Local Publication ta tìm đến phần phân tán theo máy trạm đãviết ở trên rồi nhân chuột phải chọn New Subscriptions
Page 30
Trang 32Sau đấy điền các thông tin như sau
Page 32
Trang 33Ở phần Agent Schedule ta chọn Run continuously31
Trang 34Sau đấy ấn finish và hoàn thành.
Chúng ta thực hiện lần lượt các bước trên với mỗi máy trạm.
CHƯƠNG 3: XÂY DỰNG CƠ SỞ DỮ LIỆU PHÂN TÁN TRONG HỆQUẢN TRỊ CƠ SỞ DỮ LIỆU SQL SERVER
1 Cấu trúc các bảng dữ liệu
Bảng MIEN
Bảng KHACHSAN
32Bảng NHANVIEN
Tên thuộc tính Kiểu dữ liệu Ràng buộcMaNV Char(8) Khóa chínhTenNV nvarchar(50) Not NullChucVu nvarchar(50) Not NullGioiTinh bit Not NullDiaChi nvarchar(200) Not NullNgaySinh Date Not NullSDT char(6) Not Null
Page 34
Tên thuộc tính Kiểu dữ liệu Ràng buộcMaVungMien Char(6) Khóa chínhTenVungMien Nvarchar(20) Not Null
Tên thuộctính
Kiểu dữ liệu Ràng buộc
MaKhachSan char(6) Khóa chínhTenKachSan nvarchar(50) Not NullDiaChi nvarchar(100) Not NullMaVungMien char(6) Not Null
Trang 35MaPhongBan char(6) Not NullMaKhachSan char(6) Not NullBảng PHONG
MaPhong Char(6) Khóa chínhTenPhong nvarchar(50) Not NullTinhTrang bit Not NullMaLoaiPhong Char(4) Not Null
33Bảng LOAIPHONG
MaLoaiPhong Char(4) Khóa chínhTenLoaiPhong Nvarchar(50) Not Null DonGia Int Not NullSoNguoi Int Not Null
Bảng DATPHONG
MaPhieuDat Int Khóa chínhNgayDat Date Not NullSoLuongNguoi Int Not NullMaKH Int Not NullMaPhong Char(6) Not Null
Trang 36Bảng KHACHHANG
34MaKH Khóa Chính Khóa ChínhTenKH Nvarchar(60) Not NullCMND Char(11) Not NullGioi Bit Not NullDiaChi Nvarchar(20) Not NullSDT Char(10) Not NullQuocTich Nvarchar(20) Not NullBảng THUEPHONG
MaPhieuThue Int Khóa ChínhMaPhieuDat Int Not NullNgayThue Date Not NullBảng HOADON
MaHoaDon Int Khóa ChínhMaPhieuThue Int Not NullTongTien Int Not Null
Page 36
Trang 37NgayLap Date Not NullBảng DICHVU
MaDV Char(6) Khóa ChínhTenDV Nvarchar Not NullDonGia Int Not NullBảng SUDUNGDICHVU
MaKH Int Khóa ChínhMaDV Char(6) Khóa ChínhSoLanSD Int Not NullGiaTien Int Not Null
2 Mô hình cơ sở dữ liệu phân tán
Trang 38Chuỗi khách sạn có được phân bố trên 3 miền: gồm miền Bắc, Trung vàNam, để công tác quản lý được dễ dàng và chính xác thông tin nhóm xâydựng phần mềm dựa trên mô hình cơ sở dữ liệu phân tán để quản lý dữ liệucác khách sạn dựa trên mã Miền
+ Mỗi miền sẽ có một phần mềm ứng dụng, một hệ quản trị cơ sở dữ liệuvà một cơ sở dữ liệu độc lập của riêng, cơ sở dữ liệu của từng mã miềnkhông được tạo liên kết với nhau mà chỉ tạo liên kết đến máy chủ
+ Khi các máy trạm ở các miền thêm, sửa, xóa vào CSDL của miền đó thìhệ thống cũng tự động thực hiện chức năng tương tự trên máy chủ.
+ Khi máy chủ thêm, sửa, xóa vào CSDL của mỗi vùng miền thì hệ thốngcũng tự động thực hiện chức năng tương tự trên các miền tương tự.
Page 38
Trang 393 Giả thiết đưa ra bài toán ứng dụng
Bài toán 1: Truy vấn thông tin các hóa đơn của khu vực miền Bắc.
Bài toán 2: Tính tổng doanh thu của khách sạn trong ngày nào đấy.Bài toán 3: Xem khu vực miền Nam có bao nhiêu khách sạn Bài toán 4: Tính tổng số nhân viên khu vực miền Nam Bài toán 5: Tính tổng số phòng khu vực Bắc Và Nam Bài toán 6: Xem danh tên khách hàng của khu vực miền Bắc.Bài toán 7: Xem số phòng đang thuê của cả chuỗi khách sạn
Bài toán 8: Tổng doanh thu của chuỗi khách sạn từ trước tới giờ
Bài toán 9: Hiển thị tên các nhân viên đã đặt phòng và số lần đặt phòng của họ.Bài toán 10: Truy vấn xem nhân viên có mã nhân viên nào đó thuộc khu vực nào.
Bài toán 11: Khi nhập thông tin hóa đơn, bảng tổng tiền tự động tính ra dựa theo sốngày ở và đơn giá theo phòng
Bài toán 12: Khi nhập thông tin hóa đơn, phòng được thuê tự động chuyển đổi trìnhtrạng phòng
Bài toán 13: Khi khách hàng đặt phòng, phòng được thuê tự động chuyển đổi trình trạngphòng
Trang 404 Một số truy vấn phân tán trong hệ quản trị cơ sở dữ liệu
phân tán cho bài toán ứng dụng
Bài toán 1: Câu lệnh
Kết quả
Bài toán 2:Câu Lệnh:
Page 40
Trang 41Kết quả
Bài toán 3:Câu lệnh:
Kết quả
39Bài toán 4:
Câu Lệnh:
Trang 42Kết quả
Bài toán 5:Câu lệnh:
Kết quả
Bài toán 6:Câu lệnh:
Page 42
Trang 43Kết quả
Bài Toán 7:Câu lệnh:
Kết quả
Bài toán 8:Câu Lệnh:
Trang 44Kết quả
Bài toán 9:Câu lênh:
Kết quả
Bài toán 10:Câu lệnh:
Page 44
Trang 4542Kết quả
Bài toán 11:Câu Lệnh:
Kết quả
Trang 46Bài toán 12:Câu lệnh”
Kết quả
Page 46
Trang 47KẾT LUẬN
1.Ưu điểm và Nhược điểm
- Ưu điểm :
Cấu trúc phân tán dữ liệu thích hợp với nhiều người dung
Dữ liệu được chia sẻ trên mạng những vẫn cho phép quản lí địa phương
Dữ liệu có tính tin cậy cao Cho phép mở rộng linh hoạt
Hiệu năng của hệ thống được nâng cao hơn - Nhược điểm:
Hệ thống phức tạp hơn vì phải làm ẩn đi sự phân tán dữ liệu đối vớingười dùng
Thiết kế hệ thống CSDL, chi phí cao Đảm bảo an ninh khó khăn hơn