-1-
BÀI TẬP LỚN HỌC PHẦN
Họ và tên sinh viên:
Lớp:
Ngành đào tạo: Công nghệ thông tin
Hệ đào tạo: Đại học
Tên chủ đề báo cáo: CHỦ ĐỀ 2: Thiết kế cơ sở dữ liệu cho hệ thống Quản lý
thuê phòng khách sạn .
-2-
LỜI MỞ ĐẦU
Trong hoạt động môi giới kinh doanh. Giờ đây, đặt phòng trực tuyến đã
khẳng định được vai trò xúc tiến và thúc đẩy sự phát triển của doanh nghiệp.
Đối với một khách sạn hay homestay, việc quảng bá và giới thiệu phòng đến
khách hàng các dịch vụ mới sẽ đáp ứng được nhu cầu của khách hàng. Bắt kịp
xu thế công nghệ thông tin đang tăng cao, cùng với sự bùng nổ về công nghệ 4.0
đã thay đổi hành vi của khách hàng dần dịch chuyển sang các trang đặt phịng
trực tuyến tại nhà. Vì vậy, một trang đặt phòng điện tử cho khách sạn hoặc
homestay là điều mà các người chủ nào cũng muốn sở hữu.
Đó là lý do em đã thực hiện đồ án “ Thiết kế cơ sở dữ liệu cho hệ thống
Quản lý thuê phòng khách sạn”. Trên trang đặt phòng trực tuyến này, quản trị
viên có thể đưa lên các phịng và quản lý, theo dõi các đơn đặt phòng, lợi nhuận,
phản hồi của khách hàng. Đồng thời, khách hàng cũng có thể trở thành thành
viên của khách sạn, có thể tự do đặt phòng, theo dõi đơn đặt phòng và tham
khảo các phịng cũng như dịch vụ của khách sạn mà khơng cần phải đến trực
tiếp. Ngồi ra, trang web cịn mang lại cho người dùng một trải nghiệm đặt
phòng mới mẻ, hiện đại nhờ vào thiết kế hiện đại cùng với sự tối giản của
website.
Tuy đã cố gắng hết sức tìm hiểu, phân tích thiết kế và cài đặt hệ thống
nhưng chắc rằng khơng tránh khỏi những thiếu sót. Em rất mong nhận được sự
thơng cảm và góp ý của các quý thầy, cô.
Em xin chân thành cảm ơn,
-3-
MỤC LỤC
LỜI MỞ ĐẦU ....................................................................................................... i
MỤC LỤC ............................................................................................................ ii
DANH MỤC BẢNG BIỂU ................................................................................ iii
DANH MỤC HÌNH ẢNH .................................................................................. iv
CHƢƠNG 1: PHÂN TÍCH THIẾT KẾ HỆ THỐNG ..................................... 9
1.1. PHÂN TÍCH BÀI TỐN ......................................................................... 9
1.1.1. Phát biểu bài tốn ................................................................................. 9
1.1.2. u cầu của bài tốn ............................................................................ 9
1.2. PHÂN TÍCH THIẾT .............................................................................. 10
1.2.1. Tác nhân và vai trị ............................................................................. 10
1.3. Mơ hình thực thể liên kết ....................................................................... 15
CHƢƠNG 2: PHÂN TÍCH LUÔNG DỮ LIỆU QUAN HỆ ......................... 17
2.1. Biểu đồ tuần tự (Sequence Diagram) .................................................... 17
2.1.1.Biểu đồ tuần tự thêm phòng vào đơn đặt phòng ................................. 17
2.1.2. Biểu đồ tuần tự xem đơn đặt phòng ................................................... 18
2.1.3. Biểu đồ tuần tự cập nhật đơn đặt phòng............................................. 19
2.1.4. Biểu đồ tuần tự thanh toán ................................................................. 19
2.2. Biểu đồ lớp ràng buộc dữ liệu (Class Diagram) ................................... 20
2.3. Mơ hình cơ sở dữ liệu quan hệ (Database Diagram) ........................... 24
2.4. Các bảng cơ sở dữ liệu ............................................................................ 25
2.4.1. Bảng quản trị viên (admins) ............................................................... 25
2.4..2. Bảng nhật ký công việc (audits) ........................................................ 25
2.4.3. Bảng đơn đặt phòng (bookings) ......................................................... 26
-4-
2.4.4. Bảng chi tiết đơn đặt phòng (booking_detail).................................... 27
2.4.5. Bảng quan hệ nhiều - nhiều giữa đơn đặt phòng và dịch vụ phát sinh
(cost_booking) .............................................................................................. 28
2.4.6. Bảng dịch vụ phát sinh (cost_overrun) .............................................. 28
2.4.7. Bảng phản hồi (feedbacks) ................................................................. 29
2.4.8. Bảng tin tức (news) ............................................................................ 30
2.4.9. Bảng quyền (permissions) .................................................................. 30
2.4.10. Bảng quan hệ nhiều - nhiều giữa quyền và nhóm quyền
(role_has_permissions)................................................................................. 31
2.4.11. Bảng Giá ngày đặc biệt (ngày lễ) (price_manager) ......................... 31
2.4.12. Bảng nhóm quyền (roles) ................................................................. 32
2.4.13. Bảng quan hệ nhiều – nhiều giữa tài khoản với nhóm quyền
(model_has_roles) ........................................................................................ 32
2.4.14. Bảng phòng (rooms) ......................................................................... 32
2.4.15. Bảng ảnh phòng (room_images) ...................................................... 33
2.4.16. Bảng quan hệ nhiều – nhiều giữa phòng và dịch vụ (room_service)
...................................................................................................................... 34
2.4.17. Bảng thể loại (room_types) .............................................................. 34
2.4.18. Bảng dịch vụ (services) .................................................................... 35
2.4.19. Bảng nhãn (tags)............................................................................... 36
2.4.20. Bảng tài khoản khách hàng (users) .................................................. 36
2.4.21. Bảng (vote_booking) ........................................................................ 37
2.4.22. Bảng quan hệ nhiều - nhiều giữa nhãn và phòng (room_tag) .......... 38
2.4.23. Bảng đăng ký nhận quảng cáo (member) ......................................... 38
-5-
2.4.24. Bảng quan hệ nhiều – nhiều giữa đơn đặt phịng và giá ngày đặc biệt
(specialday_booking) ................................................................................... 39
2.4.25. Bảng thơng báo (notifications) ......................................................... 39
2.5. CẤU HÌNH HỆ THỐNG DỮ LIỆU ..................................................... 40
2.5.1. Môi trường phát triển ......................................................................... 40
2.5.2. Khởi chạy ứng dụng dữ liệu ............................................................... 40
2.6. Khai thác dữ liệu ..................................................................................... 41
CHƢƠNG 3: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN ............................... 42
3.1. KẾT LUẬN .............................................................................................. 42
3.1.1. Những kết quả đạt được ..................................................................... 42
3.1.2. Chưa đạt được .................................................................................... 42
3.2. HƢỚNG PHÁT TRIỂN ......................................................................... 42
HỌC LIỆU THAM KHẢO .............................................................................. 44
-6-
DANH MỤC BẢNG BIỂU
BẢNG 2.1. Xác định các tác nhân ...................................................................... 10
BẢNG 2.2. Xác định các Use-case ..................................................................... 14
BẢNG 2.2. Quản trị viên .................................................................................... 25
BẢNG 2.3. Nhật ký công việc ............................................................................ 26
BẢNG 2.4. Đơn đặt phòng.................................................................................. 27
BẢNG 2.5. Chi tiết đơn đặt phòng...................................................................... 28
BẢNG 2.6. Quan hệ nhiều – nhiều giữi đơn đặt phòng và dịch vụ .................... 28
BẢNG 2.7. Dịch vụ phát sinh ............................................................................. 29
BẢNG 2.8. Phản hồi ........................................................................................... 30
BẢNG 2.9. Tin tức .............................................................................................. 30
BẢNG 2.10. Quyền ............................................................................................. 31
BẢNG 2.11. Quan hệ nhiều nhiều giữi quyền và nhóm quyền .......................... 31
BẢNG 2.12. Giá ngày đặc biệt ........................................................................... 32
BẢNG 2.13. Nhóm quyền ................................................................................... 32
BẢNG 2.14. Quan hệ nhiều nhiều giữi tài khoản với nhóm quyền .................... 32
BẢNG 2.15. Phịng ............................................................................................. 33
BẢNG 2.16. Ảnh phòng...................................................................................... 34
BẢNG 2.17. Quan hệ nhiều nhiều giữi phòng và dịch vụ phòng ....................... 34
BẢNG 2.18. Loại phòng ..................................................................................... 35
BẢNG 2.19. Dịch vụ ........................................................................................... 36
BẢNG 2.20. Nhãn ............................................................................................... 36
BẢNG 2.21. Tài khoản khách hàng .................................................................... 37
BẢNG 2.22. Đánh giá đơn đặt phòng ................................................................. 38
-7-
BẢNG 2.23. Quan hệ nhiều nhiều giữa nhãn và phòng ..................................... 38
BẢNG 2.24. Đăng ký nhận thông tin khách sạn ................................................. 39
BẢNG 2.25. Quan hệ nhiều nhiều giữi đơn đặt phịng và giá ngày đặc biệt ..... 39
BẢNG 2.26. Thơng báo ...................................................................................... 40
-8-
DANH MỤC HÌNH ẢNH
HÌNH 1.1. Biểu đồ Use-case tổng quát khách hàng ........................................... 15
HÌNH 1.2. Biểu đồ Use-case quản trị viên ......................................................... 16
HÌNH 2.3. Biểu đồ tuần tự thêm phịng và đơn đặt phịng ................................. 17
HÌNH 2.4. Biểu đồ tuần tự xem đơn đặt phịng .................................................. 18
HÌNH 2.5. Biểu đồ tuần tự cập nhật đơn đặt phịng ........................................... 19
HÌNH 2.6. Biểu đồ tuần tự thanh tốn ................................................................ 20
HÌNH 2.7. Biểu đồ lớp ........................................................................................ 20
HÌNH 2.8. Biểu đồ lớp ........................................................................................ 21
HÌNH 2.9. Biểu đồ lớp ........................................................................................ 22
HÌNH 2.10. Biểu đồ lớp ...................................................................................... 23
HÌNH 2.11. Biểu đồ cơ sở dữ liệu ...................................................................... 24
Hình 2.1. Phân quyền User.................................................................................. 41
Hình 2.2. Tạo dữ liệu phòng cho thuê ................................................................. 41
-9-
CHƢƠNG 1: PHÂN TÍCH THIẾT KẾ HỆ THỐNG
1.1. PHÂN TÍCH BÀI TỐN
1.1.1. Phát biểu bài tốn
Website Booking Hotel là một website đặt phòng trực tuyến cung cấp cho
doanh nghiệp và cá nhân nền tảng kinh doanh phù hợp với xu hướng của ngành
cơng nghiệp 4.0. Ngồi ra, website cịn cung cấp và phục vụ khách hàng các
chức năng đặt phòng tiện lợi, hiện đại cùng với trải nghiệm đặt phòng tốt nhất.
1.1.2. Yêu cầu của bài toán
Website cần đáp ứng những chức năng sau:
Giao diện hiện đại, thân thiện, đơn giản, khơng lịe loẹt, dễ nhìn, sáng
sủa.
Bảo mật thơng tin người dùng, có quy định về chính sách riêng tư.
Hỗ trợ người dùng đăng ký, đăng nhập, quên mật khẩu ( truyền thống
hoặc đăng nhập thông qua tài khoản Gmail - Google ).
Xác nhận email sau khi đăng ký tài khoản nhằm tránh các tài khoản ảo.
Phòng được sắp xếp hiển thị hợp lý theo danh mục, bố cục rõ ràng.
Người dùng có thể xem, tìm kiếm, đặt phịng, theo dõi trạng thái đơn
đặt phòng, hủy đơn khi đơn chưa được xác nhận hoặc đơn chưa vượt
quá số ngày quy định.
Người dùng có thể đánh giá đơn đặt phòng khi trả phòng.
Người dùng có thể quản lý thơng tin cá nhân, đổi mật khẩu.
Người dùng sẽ nhận hóa đơn điện tử qua email sau khi đặt phịng,
thanh tốn, phản hồi.
Người dùng có thể tùy chỉnh ngơn ngữ (VI, EN).
Người dùng có thể phản hồi ý kiến của mình cho trang quản trị.
- 10 -
Người dùng có thể nhận thơng báo (tin tức mới, Chương trình khuyến
mãi mới) qua email.
Người dùng có thế lựa chọn hình thức thanh tốn ( tại khách sạn,
VNPay).
Trang quản trị bao gồm đầy đủ các chức năng quản lý từng thành
phần.
Trang quản trị hiển thị đầy đủ các số liệu thống kê.
Trang quản trị hỗ trợ checkin, checkout thông qua QR Code.
Theo dõi cập nhật nhật ký làm việc của quản trị viên.
Trang quản trị hỗ trợ tạo, phân quyền theo chức năng cho quản trị
viên.
Trang quản trị phản hồi lại góp ý của khách hàng thơng qua email.
1.2. PHÂN TÍCH THIẾT KẾ
1.2.1. Tác nhân và vai trị
1.2.1.1. Xác định các tác nhân
STT
1
2
3
Tên tác nhân
Khách hàng (User)
Vai trị
Người có nhu cầu đặt phòng tương tác trực tiếp với
trang website
Quản trị viên
Người quản lý trang website về phòng, đơn đặt
(Admin)
phòng, phản hồi, checkin, checkout, người dùng,...
Hệ thống (System)
Xử lý các chức năng của trang web
BẢNG 2.1. Xác định các tác nhân
1.2.1.2 Xác định các Use-case
STT
Tác nhân
1
Khách hàng
Use-case
Ý nghĩa
Đăng ký và Đăng nhập Tạo 1 tài khoản để hưởng quyền
- 11 -
lợi của khách hàng, đăng nhập
để sử dụng đầy đủ các chức
năng của trang web và sau đó
đăng xuất khỏi tài khoản để bảo
mật tài khoản.
Đăng nhập bằng tài
Thực hiện đăng nhập với tài
khoản Google
khoản Google của khách hàng.
Qn mật khẩu
Xem thơng tin phịng
Giúp khách hàng lấy lại mật
khẩu.
Giới thiệu và trưng bày các
thông tin liên quan về phòng.
Xem phòng theo thể
Hiển thị các phòng theo thể loại
loại phịng
phịng đã chọn.
Xem bài viết
Giúp khách hàng cập nhật thơng
tin mới nhất về khách sạn…
Giúp khách hàng tìm kiếm
Tìm kiếm phịng
phịng dựa trên những từ khóa
ngày đến ngày đi … để tiết kiệm
thời gian.
Thêm phòng vào đơn
Giúp khách hàng thêm phịng đã
đặt phịng
chọn vào đơn đặt phịng.
Đặt phịng
Thanh tốn online
Giúp khách hàng thực hiện đặt
phòng đã chọn.
Giúp khách hàng thực hiện
thanh tốn đơn đặt phịng thơng
- 12 -
qua VNPay.
Tiếp nhận phản hồi của khách
Phản hồi
hàng và trả lời lại cho khách
hành thông qua email.
Đánh giá đơn đặt
phịng
Sau khi trả phịng, thì cho khách
hành đánh giá chất lượng dịch
vụ của khách sạn.
Theo dõi đơn đặt
Giúp khách hàng cập nhập thơng
phịng
tin chi tiết về đơn hàng đã đặt.
Hỗ trợ khách hàng dễ dàng lựa
Sắp xếp phòng
chọn phòng theo loại phịng, giá,
số lượng người…
Đa ngơn ngữ
Nhận email quảng cáo
Hỗ trợ khách hàng với nhiều
ngôn ngữ khác nhau.
Hỗ trợ khách hàng đăng ký nhận
quảng cáo từ khách sạn.
Giúp khách hàng cập nhật tin
Xem tin tức
tức, xem tin tức mới do khách
sạn đăng.
Giúp khách hàng cập nhập bổ
Quản lý đơn đặt phịng sung thơng tin đơn đặt phịng,
hỗ trợ cho việc thanh toán.
- 13 -
Giúp khách hàng xem thông tin
Quản lý thông tin cá
cá nhân, cập nhập bổ sung thông
nhân
tin cá nhân, hỗ trợ cho việc
thanh toán.
Đăng nhập để sử dụng đầy đủ
Đăng nhập, đăng xuất
các chức năng của trang website
và sau đó đăng xuất khỏi tài
khoản để bảo mật tài khoản.
Quản lý loại phịng
Giúp tạo, sửa, xóa loại phịng.
Quản lý nhãn
Giúp tạo, sửa, xóa nhãn.
Quản lý dịch vụ phịng Giúp tạo, sửa, xóa dịch vụ.
Quản lý giá ngày đặc
Giúp tạo, sửa, xóa giá ngày đặc
biệt(ngày lễ)
biệt.
Giúp hiển thị, cập nhật trạng
2
Quản trị viên
Quản lý người dùng
thái, xóa người dùng, xuất dữ
liệu người dùng ra file exce.
Quản lý phản hồi
Giúp hiển thị, phản hồi.
Quản lý dịch vụ phát
Giúp tạo, sửa, xóa dịch vụ phát
sinh
sinh.
Quản lý bài viết
Giúp tạo, sửa, xóa bài viết.
Quản lý phịng
Giúp tạo, sửa, xóa phịng, xuất
dữ liệu ra file exce.
Quản lý checkin,
Giúp tìm kiếm thơng tin đơn đặt
checkout
phịng thơng qua mã QR Code,
- 14 -
cập nhật trạng thái đơn đặt
phòng.
Quản lý nhật ký công
Giúp hiển thị nhật ký công việc
việc
trên hệ thống.
Quản lý quản trị viên
Giúp tạo, sửa, xóa, phân quyền
quản trị viên.
Giúp hiển thị, cập nhập trạng
Quản lý đơn đặt phòng
thái đơn hàng, xóa đơn đặt
phịng, xuất dữ liệu đơn đặt
phịng ra file exce.
Đa ngôn ngữ
Xem thống kê
Hệ thống
ngôn ngữ khác nhau.
Hiển thị các bảng số liệu thống
kê của trang web.
Gửi thơng tin đơn đặt
Gửi thơng tin đơn đặt phịng qua
phịng
email của khách hàng.
Gửi nội dung phản hồi
3
Hỗ trợ người dùng với nhiều
Gửi thông báo
Hiển thị thông báo
Gửi nội dung phản hồi cho
khách hàng.
Gửi thơng báo đến khách hàng
(phịng mới, tin tức, event…).
Hiển thị thơng báo khi có khách
hàng đặt phịng, góp ý…
Gửi email xác nhận
Gửi email xác nhận đăng ký tài
đăng ký
khoản, tránh các email ảo.
BẢNG 2.2. Xác định các Use-case
- 15 -
1.3. Mơ hình thực thể liên kết
1.3.1. Biểu đồ Use-case tổng quát khách hàng
HÌNH 1.1. Biểu đồ Use-case tổng quát khách hàng
- 16 -
1.3.2. Biểu đồ Use-case quản trị viên
HÌNH 1.2. Biểu đồ Use-case quản trị viên
- 17 -
CHƢƠNG 2: PHÂN TÍCH LNG DỮ LIỆU QUAN HỆ
2.1. Biểu đồ tuần tự (Sequence Diagram)
2.1.1.Biểu đồ tuần tự thêm phịng vào đơn đặt phịng
HÌNH 2.3. Biểu đồ tuần tự thêm phòng và đơn đặt phòng
- 18 -
2.1.2. Biểu đồ tuần tự xem đơn đặt phịng
HÌNH 2.4. Biểu đồ tuần tự xem đơn đặt phịng
- 19 -
2.1.3. Biểu đồ tuần tự cập nhật đơn đặt phịng
HÌNH 2.5. Biểu đồ tuần tự cập nhật đơn đặt phịng
2.1.4. Biểu đồ tuần tự thanh tốn
- 20 -
HÌNH 2.6. Biểu đồ tuần tự thanh tốn
2.2. Biểu đồ lớp ràng buộc dữ liệu (Class Diagram)
HÌNH 2.7. Biểu đồ lớp
- 21 -
HÌNH 2.8. Biểu đồ lớp
- 22 -
HÌNH 2.9. Biểu đồ lớp
- 23 -
HÌNH 2.10. Biểu đồ lớp
- 24 -
2.3. Mơ hình cơ sở dữ liệu quan hệ (Database Diagram)
HÌNH 2.11. Biểu đồ cơ sở dữ liệu
- 25 -
2.4. Các bảng cơ sở dữ liệu
2.4.1. Bảng quản trị viên (admins)
Tên
Kiểu dữ liệu
Mơ tả
id
int(10) unsigned
Mã id (khóa chính)
name
varchar(255)
Tên quản trị viên
email
varchar(255)
Địa chỉ email quản trị
viên
password
varchar(255)
Mật khẩu
remember_token
varchar(100)
Mã ghi nhớ đăng nhập
isdeleted
tinyint(1)
Phân biệt xóa và chưa
xóa
created_at
timestamp
Thời gian tạo
updated_at
timestamp
Thời gian cập nhật
BẢNG 2.2. Quản trị viên
2.4..2. Bảng nhật ký công việc (audits)
Tên
Kiểu dữ liệu
Mơ tả
id
int(10) unsigned
Mã id (khóa chính)
user_type
varchar(191)
Tên model user thực hiện
thay đổi
user_id
bigint(20)
Id user thực hiện thay đổi
event
varchar(191)
Hành động
auditable_type
varchar(191)
Tên model bị thay đổi