TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ---------------------- BÁO CÁO BÀI TẬP LỚN MÔN: HỆ QUẢN TRỊ CSDL ĐỀ TÀI: QUẢN LÝ KHÁCH SẠN Giảng viên hướng dẫn: Th.S Nguyễn Thị Tâm Nhóm sinh viên: Lâm Thị Hạnh - 2010A04 Đặng Thành Công - 2010A05 Hà Nội – 2021 PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN HỌ VÀ TÊN CÔNG VIỆC ĐÁNH GIÁ GHI CHÚ Đặng Thành Công - Xây dựng mô Hoàn Thành hình dữ liệu quan hệ -Thực hiện các truy vấn dữ liệu -Thực hiện tạo procduce -Thực hiện tạo Trigger -Thực hiện phần quyền, phân tán CSDL Lâm Thị Hạnh - Phát biểu bài Hoàn Thành toán -Thực hiện nhập dữ liệu CSDL - Tạo view hiện dữ liệu - Thực hiện tạo CSDL 1 MỤC LỤC 1. PHÁT BIỂU BÀI TOÁN. Xây dựng mô hình thực thể liên kết. Xác định các thuộc tính và phân loại thuộc tính.
Vẽ mô hình ER. Xây dựng mô hình cơ sở dữ liệu quan hệ. Chuẩn hóa cơ sở dữ liệu của bài toán. TẠO BẢNG CƠ SỞ DỮ LIỆU.
Diagram_quan_ly_KS. Nhập dữ liệu. THỰC HIỆN CÁC YÊU CẦU. Truy vấn dữ liệu.
Tạo view hiện dữ liệu. Tạo các STORED PROCEDURE. Tạo Trigger kiểm soát ràng buộc dữ liệu. Phân quyền cho các thành viên.
Thực hiện phân tán ngang bảng Nhân viên.65 BÀI TOÁN QUẢN LÝ KHÁCH SẠN 2 1. PHÁT BIỂU BÀI TOÁN Quản lý khách sạn gồm các thông tin sau: Mỗi khách sạn có nhiều PHÒNG với mỗi số phòng khác nhau. Khách sạn cũng phân ra thành nhiều hạng phòng với giá khác nhau như hạng A (Cao cấp), hạng B (Trung bình) và hạng C (Giá rẻ) được gắn với tên phòng. Vì có các loại phòng khác nhau dẫn đến giá của phòng cũng khác nhau.
Trong mỗi khách sạn có nhiều DỊCH VỤ theo nhu cầu của từng khách hàng và từng dịch vụ có đơn giá khác nhau. Mỗi dịch vụ bao gồm: Mã dịch vụ, tên dịch vụ, giá dịch vụ phụ thuộc vào từng loại dịch vụ khác nhau. Trong khách sạn có BỘ PHẬN QUẢN LÝ để quản lý các nhân viên của từng bộ phận bao gồm mã bộ phận, tên bộ phận, mã nhân viên quản lí. Mỗi phòng ban quản lý nhiều nhân viên.
Một khách sạn có nhiều NHÂN VIÊN. Mỗi NHÂN VIÊN bao gồm các thông tin như: Mã nhân viên, họ tên, ngày sinh, giới tính, địa chỉ, số điện thoại, chức vụ, lương cơ bản, phụ cấp tương đương và ngày vào làm. Lương của mỗi người được tính dựa trên tổng hệ số lương và phụ cấp. Mã nhân viên để phân biệt các nhân viên với nhau.
Thông tin của KHÁCH HÀNG khi đến thuê khách sạn sẽ được lưu lại bao gồm: Mã khách hàng(Mỗi khách hàng có 1 mã duy nhất), tên khách hàng, giới tính, số CCCD (hoặc giấy tờ tương đương), số điện thoại. Mỗi khách hàng có thể có nhiều HÓA ĐƠN bao gồm các thông tin: Mã hóa đơn, tên dịch vụ, tên khách hàng, mã phòng( số phòng) khách hàng thuê, thông tin thuê phòng của khách hàng (ngày đặt phòng, thời gian thuê phòng, ngày đi), ngày lập hóa đơn và tổng tiền. Xây dựng mô hình thực thể liên kết BOPHANQUANLY _ làm việc _ NHANVIEN: 1-n + Một nhân viên chỉ làm việc cho một loại phòng ban + Có ít nhất một nhân viên làm việc tại phòng ban 1 N BỘ PHẬN QL Làm việc NHÂN VIÊN NHANVIEN _ lập _ HOADON: 1-n + Một nhân viên có thể lập nhiều hóa đơn + Mỗi hóa đơn chỉ nhập bằng 1 nhân viên 1 N NHÂN VIÊN Lập HÓA ĐƠN 4 KHACHHANG_có_HOADON: 1- n + Một khách hàng chỉ có thể có nhiều hóa đơn + Một hóa đơn chỉ thuộc 1 khách hàng 1 N KHÁCH HÀNG Có HÓA ĐƠN HOADON_có_PHÒNG: m-n + Mỗi hóa đơn có thể có thông tin nhiều phòng + Mỗi phòng có thể thuộc nhiều hóa đơn ở các thời điểm khác nhau. M N HÓA ĐƠN Có PHÒNG HOADON_có_DICHVU: m-n + Mỗi hóa đơn có nhiều dịch vụ + Mỗi dịch vụ thuộc nhiều hóa đơn khác nhau HÓA ĐƠN M N DỊCH VỤ Có 2.
Xác định các thuộc tính và phân loại thuộc tính Các đối tượng cần lưu trữ thông tin: NHANVIEN, PHONG, BOPHANQUANLY, KHACHHANG, HOADON, DICHVU. PHONG (imaP; fgiaP; sLoaiP) maP: Mã loại phòng – Khóa chính 5 LoạiP: loại phòng( Hạng A, B, C) giaP: Giá của loại phòng imaP sLoaiP fgiaP PHÒNG b. BoPhanQuanLy (smaPB; stenPB) maPB: Mã phòng ban tenPB: Tên phòng ban smaPB stenBP BỘ PHẬN QUẢN LÝ c. KhachHang ( smaKH; stenKH; sgioiTinh; sCCCD; sSDTKH) maKH : Mã khách hàng - Khóa chính tenKH: là họ và tên khách hàng gioiTinh: là giới tính của khách hàng CCCD : là mã căn cước công dân của khách hàng SDTKH: Số điện thoại của khách hàng 6 smaKH stenKH sgioiTinh KHÁCH HÀNG sCCCD sSDTKH d.
NhanVien(smaNV; stenNV; dNgSinh; sgioiTinh ; sDchi ; sSDTNV ; sMaPB; fluongCB ; fphuCap;dngayVaoLam) maNV : Mã Nhân viên - Khóa chính tenNV: là họ và tên nhân viên Ngsinh: là ngày sinh của nhân viên gioiTinh: là giới tính của nhân viên Dchi : là địa chỉ của nhân viên SDTNV : là số điện thoại của nhân viên maPB: mã phòng ban luongCB : là lương của nhân viên phuCap: là mức lương được hưởng thêm của nhân viên ngayVaoLam: Ngày vào làm 7 stenNV dNgaySinh sgioiTinh smaNV dngayVaoLam sDiaChi NHÂN VIÊN fphuCap fluongCB sSDTNV smaPB e. DichVu ( smaDV ; stenDV ; fgiaDV; maLDV ) maDV: Mã dịch vụ - khóa chính tenDV : là tên dịch vụ giaDV: là giá dịch vụ maLDV: mã loại dịch vụ sMaDV stenDV fgiaDV smaLDV DỊCH VỤ f. HoaDon ( smaHD; smaKH; smaNV; dNgayLap ; ftongTien) maHD : Mã Hóa Đơn - Khóa chính maKH: Mã khách hàng maNV: Mã nhân viên 8 tongTien: Tổng tiền hóa đơn NgayLap: Ngày lập hóa đơn smaKH smaNV smaHD HÓA ĐƠN dngayLap ftongTien 9 3. Vẽ mô hình ER BỘ PHẬN QUẢN LÝ 1 Làm việc N NHÂN VIÊN 1 Lập Ngaytrả Ngaythuê N N N co HÓA ĐƠN có M co M N 1 PHÒNG DỊCH VỤ KHÁCH HÀNG 10 4.
Xây dựng mô hình cơ sở dữ liệu quan hệ Quy tắc 1 : Thực thể mạnh NhanVien( maNV; tenNV; NgSinh; gioiTinh ; Dchi ; SDTNV ; ngayVaoLam; LuongCB; maPB; phuCap) DichVu ( maDV ; tenDV ; giaDV; MaLDV ) HoaDon ( maHD; maKH; maNV; ngayLap; tongTien) KhachHang ( maKH; tenKH; gioiTinh; CCCD; SDTKH) BoPhanQuanLy (maPB; tenPB) Phong (maP; LoaiP; giaP) Quy tắc 4: 1-N NhanVien( maNV; tenNV; ngaySinh; gioiTinh ; diaChi ; SDTNV ; luongCB; phuCap ;maBP; ngayVaoLam) HoaDon ( maHD; maKH; maNV ; ngayLap; tongTien) Quy tắc 5: kiểu liên kết N-M Chi_tiet_hoa_don_dv( maHD ; maDV) Chi_tiet_hoa_don_phong ( maP ; maHD; NgayThue; NgayTra) Kết quả : HoaDon ( maHD; maKH; maNV ; ngayLap; tongTien) NhanVien( maNV; tenNV; ngaySinh; gioiTinh ; diaChi ; SDTNV ; luongCB; phuCap ;maPB ; ngayVaoLam) Chi_tiet_hoa_don_dv( maHD ; maDV) Chi_tiet_hoa_don_phong ( maP ; maHD; NgayThue; NgayTra) KhachHang ( maKH; tenKH; gioiTinh; CCCD; SDTKH) BoPhanQuanLy (maPB; tenPB) DichVu( maDV ; tenDV ; giaDV; MaLDV ) 5. Chuẩn hóa cơ sở dữ liệu của bài toán 10 Xác định các quan hệ chuẩn NF HoaDon ( maHD; maKH; maNV ; ngayLap; tongTien) R1= {maHD → maKH ; maHD → ngayLapHD ; maHD → TongTien ; maHD →maNV ; maKH → tenK Sau khi chuẩn hóa: HoaDon ( maHD; maKH; maNV ; ngayLap; tongTien) → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF NhanVien( maNV; tenNV; ngaySinh; gioiTinh ; diaChi ; SDTNV ; luongCB; phuCap ;maPB; ngayVaoLam) R2= {; maNV → tenNV ; maNV → Ngsinh ; maNV → gioitinh; maNV → Dchi ; maNV → SDTNV ; } Sau khi chuẩn hóa: NhanVien( maNV; tenNV; ngaySinh; gioiTinh ; diaChi ; SDTNV; luongCB; phuCap ;maBP; ngayVaoLam) → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF Phong (maP; loaiP; giaP) R3 = { maP → tenP ; maP → giaP ; maP →loaiP } → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa 11 chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF Chi_tiet_hoa_don_dv( maHD ; maDV) → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF Chi_tiet_hoa_don_phong ( maP ; maHD; NgayThue; NgayTra) → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF KhachHang ( maKH; tenKH; gioiTinh; CCCD; SDTKH) R4= {maKH → tenKH ; maKH → gioitinh ; maKH →CCCD ; maKH → STDKH} → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF BoPhanQuanLy (maBP; tenBP) R5= { maBP → tenBP } → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF 12 →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF DichVu( maDV ; tenDV ; giaDV; MaLDV ) R6 = { maDV → tenDV ; maDV → LoaiDV ;maDV → giaDV } Sau khi chuẩn hóa: DichVu( maDV ; tenDV ; giaDV; maLDV ) LoạiDV(maLDV, TenLoai) → Mọi thuộc tính không khóa đều phụ thuộc hàm đày đủ vào khóa chính->Chuẩn 2NF →Mọi thuộc tính không khóa đều không phụ thuộc bắc cầu vào bất kỳ khóa chính của quan hệ -> 3NF Kết luận: Các thuộc tính thuộc dang chuẩn 3NF Phong (maP; LoaiP, giaP) KhachHang ( maKH; tenKH; gioiTinh; CCCD; SDTKH) NhanVien( maNV; tenNV; ngaySinh; gioiTinh ; diaChi ; SDTNV; luongCB; phuCap ;maPB; ngayVaoLam) BoPhanQuanLy(maBP; tenBP) DichVu( maDV ; tenDV ; giaDV; maLDV ) LoạiDV(maLDV, TenLoai) HoaDon ( maHD; maKH; maNV ; ngayLap; tongTien) Chi_tiet_hoa_don_dv( maHD ; maDV) Chi_tiet_hoa_don_phong ( maP ; maHD; NgayThue; NgayTra) Vậy lược đồ quan hệ đã được chuẩn hóa về dạng cao nhất – 3NF. TẠO BẢNG CƠ SỞ DỮ LIỆU 1.