Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Hệ quản trị cơ sở dữ liệu, Study notes of Italian Language

Tổng hợp cách làm bài tập lớn môn hệ quản trị cơ sở dữ liệu

Typology: Study notes

2019/2020

Uploaded on 10/27/2024

duy-vo-4
duy-vo-4 🇻🇳

1 document

1 / 35

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
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Ị CƠ SỞ DỮ LIỆU
Đề bài: Quản lý khách sạn
Giảng viên hướng dẫn: ThS. Nguyễn Thị Tâm
Lớp : 2310A01
Sinh viên thực hiện:
Hoàng Ngọc Ánh Mã SV: 23A1001D0029
Nguyễn Thị Ngọc Anh Mã SV: 23A1001D0017
Lê Thị Hương Mã SV: 23A1001D0175
Bùi Nguyệt Hà Mã SV: 23A1001D0120
Đinh Ngọc Hiếu Mã SV: 23A1001D0138
Hà Nội, năm 2024
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Partial preview of the text

Download Hệ quản trị cơ sở dữ liệu and more Study notes Italian Language in PDF only on Docsity!

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Ị CƠ SỞ DỮ LIỆU

Đề bài: Quản lý khách sạn

Giảng viên hướng dẫn: ThS. Nguyễn Thị Tâm

Lớp : 2310A

Sinh viên thực hiện:

Hoàng Ngọc Ánh Mã SV: 23A1001D

Nguyễn Thị Ngọc Anh Mã SV: 23A1001D

Lê Thị Hương Mã SV: 23A1001D

Bùi Nguyệt Hà Mã SV: 23A1001D

Đinh Ngọc Hiếu Mã SV: 23A1001D 0138

Hà Nội, năm 2024

MỤC LỤC

 Hóa đơn khi khách hàng thanh toán trả phòng gồm có các

thông tin: mã hóa đơn, tên hóa đơn, ngày lập hóa đơn, tổng

tiền thanh toán.

 Hóa đơn cũng cần ghi lại các chi phí phụ như chi phí cho trẻ

em và người lớn.

DICHVU ( maDV, tenDV, giaDV)

TREEM (maTreEm, TenTrE, NgaySinh)

PHUPHI (maPhuPhi, TenPP, GiaPP)

2. Xác định mối liên kết

 NHANVIEN LAP HOADON : 1 – N

 KHACHHANG THANHTOAN HOADON : 1 –

 KHACHHANG BAOGOM TREEM : 1-N

 HOADON CO DICHVU : N-N

 HOADON CO PHONG : N-

 HOADON CO PHUPHI : N-N

3. Mô hình ER

III. Xây dựng mô hình cơ sở dữ liệu quan hệ

1. KHACHHANG (maKH, SDT, email, hotenKH, soluong)

2. PHONG ( maP, hangP, soluong, giaP, trangthaiP)

3. NHANVIEN ( maNV, hotenNV, SDT, diaChi)

4. HOADON (maHD, tenHD, ngayDen, ngayDi, ngayLap, thanhTien)

5. DICHVU ( maDV, tenDV, giaDV)

6. TREEM (maTreEm, TenTrE, NgaySinh)

7. PHUPHI (maPhuPhi, TenPP, GiaPP)

- B1: Chuyển KTT mạnh

 soluong là thuộc tính phức

(1)=> KHACHHANG(maKH, SDT, email, hotenKH, solgnguoilon, solgtreem)

 giaP là thuộc tính phức

(2)=> PHONG(maP, hangP, soluong, giaPcuoituan, giaPngaythuong,

trangthaiP)

- B2: Chuyển KTT yếu (Không có kiểu thực thể yếu) - B3: 1 – 1

KHACHHANG THANHTOAN HOADON : 1 –

(4)=> HOADON(maHD, tenHD, ngayDen, ngayDi, ngayLap,

thanhTien, maKH) (4.1)

  • B4 : 1-N

NHANVIEN LAP HOADON : 1 – N

( 4 .1)=> HOADON(maHD, tenHD, ngayDen, ngayDi, ngayLap,

thanhTien, maKH, maNV) (4.2)

KHACHHANG BAOGOM TREEM : 1 – N

(6)=> TREEM(maTreEm, TenTrE, NgaySinh, maKH) (6.1)

HOADON CO PHONG : N-

(4.2)=> HOADON(maHD, tenHD, ngayDen, ngayDi, ngayLap,

thanhTien, maKH, maNV, maP) (4.3)

- B5: N – N

HOADON CO DICHVU : N – N

INSERT INTO KHACHHANG

VALUES

(1, N'Nguyễn Văn Long', '0987654321', 'nguyenvanlong@gmail.com', 2, 1), (2, N'Trần Thị Hiền', '0901234567', 'tranthihien@gmail.com', 1, 0), (3, N'Lê Minh Cường', '0978888999', 'leminhcuong@gmail.com', 2, 2), (4, N'Phạm Thị Lan', '0961111222', 'phamthilan@gmail.com', 3, 1), (5, N'Trương Văn Dũng', '0944444555', 'truongvandung@gmail.com', 2, 2); -- Bảng PHONG CREATE TABLE PHONG ( maP INT not null, hangP NVARCHAR(50), soluong INT, giaPcuoituan FLOAT, giaPngaythuong FLOAT, trangthaiP NVARCHAR(50) ); INSERT INTO PHONG VALUES (1, 'Deluxe Lake View', 85, 4900000, 5500000, N'Còn trống'), (2, 'Deluxe Bay View', 200, 5490000, 6000000, N'Còn trống'), (3, 'Premier Deluxe Bay View', 34, 6890000, 7500000, N'Còn trống'), (4, 'Executive Bay View', 19, 8890000, 9500000, N'Còn trống'), (5, 'Junior Suite Bay View', 10, 10900000, 11500000, N'Còn trống'), (6, 'Executive Suite Bay View', 2, 16550000, 17500000, N'Còn trống'), (7, 'Grand Suite Bay View', 3, 18550000, 19500000, N'Còn trống'), (8, 'Presidential Suite', 1, 48790000, 49500000, N'Còn trống');

-- Bảng NHANVIEN CREATE TABLE NHANVIEN ( maNV INT NOT NULL, hotenNV NVARCHAR(100), SDT VARCHAR(20), diaChi NVARCHAR(200) ); INSERT INTO NHANVIEN VALUES (1, N'Nguyễn Văn An', '0912345678', N'Hà Nội'), (2, N'Trần Thị Bình', '0987654321', N'Hải Phòng'), (3, N'Lê Văn Cường', '0901111222', N'Đà Nẵng'), (4, N'Phạm Thị Hương', '0978888999', N'Hồ Chí Minh'), (5, N'Lê Thị Lan', '0961111222', N'Cần Thơ'); -- Bảng HOADON CREATE TABLE HOADON ( maHD INT NOT NULL, tenHD NVARCHAR(100), ngayDen DATE, ngayDi DATE, ngayLap DATE, thanhTien FLOAT, maKH INT, maNV INT, maP INT ); INSERT INTO HOADON VALUES (1, N'Hóa đơn 1', '2024-07-01', '2024-07-03', '2024-07-03', 11000000, 1, 1, 2), (2, N'Hóa đơn 2', '2024-07-05', '2024-07-08', '2024-07-08', 10080000, 2, 3, 3), (3, N'Hóa đơn 3', '2024-07-10', '2024-07-12', '2024-07-12', 9800000, 3, 2, 1), (4, N'Hóa đơn 4', '2024-07-15', '2024-07-18', '2024-07-18', 20080000, 4, 4, 5), (5, N'Hóa đơn 5', '2024-07-20', '2024-07-22', '2024-07-22', 19000000, 5, 5, 4);

(4, N'Phạm Văn An', '2018-01-25', 5), (5, N'Hoàng Thị Hà', '2019-11-05', 3), (6, N'Nguyễn Mỹ Tâm', '2019-12-01',5); -- Bảng PHUPHI CREATE TABLE PHUPHI ( maPhuPhi INT NOT NULL, TenPP NVARCHAR(100), GiaPP FLOAT ); INSERT INTO PHUPHI VALUES (1, N'Trẻ dưới 6 tuổi', 0), (2, N'Trẻ từ 6-12 tuổi', 500000), (3, N'Giường phụ', 1300000), (4, N'Người lớn ngủ ghép', 800000), (5, N'Cũi trẻ em', 0); -- Bảng ChiTietDichVu CREATE TABLE ChiTietDichVu ( maHD INT, maDV INT, ); INSERT INTO ChiTietDichVu VALUES (1, 1), (1, 3), (2, 2),

-- Bảng ChiTietPhuPhi CREATE TABLE ChiTietPhuPhi ( maHD INT, maPhuPhi INT, ); INSERT INTO ChiTietPhuPhi VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5); -- Thêm ràng buộc cho bảng KHACHHANG ALTER TABLE KHACHHANG ADD CONSTRAINT PK_KHACHHANG PRIMARY KEY (maKH), CONSTRAINT CHK_KHACHHANG_SoLuongNguoi CHECK (solgnguoilon >= 0 AND solgtreem >= 0); -- Thêm ràng buộc cho bảng PHONG ALTER TABLE PHONG ADD CONSTRAINT PK_PHONG PRIMARY KEY (maP); -- Thêm ràng buộc cho bảng NHANVIEN

ADD CONSTRAINT PK_ChiTietPhuPhi PRIMARY KEY (maHD, maPhuPhi), CONSTRAINT FK_ChiTietPhuPhi_HOADON FOREIGN KEY (maHD) REFERENCES HOADON(maHD), CONSTRAINT FK_ChiTietPhuPhi_PHUPHI FOREIGN KEY (maPhuPhi) REFERENCES PHUPHI(maPhuPhi); --Phần c: Truy vấn nhiều bảng --HỌ TÊN: HOÀNG NGỌC ÁNH --MÃ SV: 23A1001D --1. Liệt kê danh sách các hóa đơn cùng thông tin chi tiết khách hàng và phòng đã đặt SELECT HD.maHD, HD.tenHD, KH.hotenKH, KH.SDT, KH.email, P.hangP, HD.ngayDen, HD.ngayDi, HD.thanhTien FROM HOADON HD JOIN KHACHHANG KH ON HD.maKH = KH.maKH JOIN PHONG P ON HD.maP = P.maP; --2. Liệt kê các dịch vụ đã sử dụng trong mỗi hóa đơn SELECT HD.maHD, HD.tenHD, DV.tenDV, DV.giaDV FROM HOADON HD JOIN ChiTietDichVu CTDV ON HD.maHD = CTDV.maHD JOIN DICHVU DV ON CTDV.maDV = DV.maDV; --3. Truy vấn danh sách hóa đơn cùng với thông tin chi tiết khách hàng và nhân viên SELECT HD.maHD, HD.tenHD, HD.ngayDen, HD.ngayDi, HD.ngayLap, HD.thanhTien, KH.hotenKH AS TenKhachHang, KH.SDT AS SDT_KhachHang, NV.hotenNV AS TenNhanVien, NV.SDT AS SDT_NhanVien, P.hangP AS HangPhong,

P.giaPngaythuong AS GiaNgayThuong, P.giaPcuoituan AS GiaCuoiTuan FROM HOADON HD INNER JOIN KHACHHANG KH ON HD.maKH = KH.maKH INNER JOIN NHANVIEN NV ON HD.maNV = NV.maNV INNER JOIN PHONG P ON HD.maP = P.maP ORDER BY HD.ngayLap DESC; --4. Truy vấn danh sách chi tiết dịch vụ của các hóa đơn SELECT HD.maHD, HD.tenHD, KH.hotenKH AS TenKhachHang, DV.tenDV AS TenDichVu, DV.giaDV AS GiaDichVu FROM HOADON HD INNER JOIN KHACHHANG KH ON HD.maKH = KH.maKH INNER JOIN ChiTietDichVu CTDV ON HD.maHD = CTDV.maHD INNER JOIN DICHVU DV ON CTDV.maDV = DV.maDV ORDER BY HD.maHD, DV.tenDV; --5. Liệt kê tất cả các khách hàng đã sử dụng dịch vụ tại khách sạn SELECT DISTINCT KH.maKH, KH.hotenKH, KH.SDT, KH.email FROM KHACHHANG KH JOIN HOADON HD ON KH.maKH = HD.maKH JOIN ChiTietDichVu CTDV ON HD.maHD = CTDV.maHD;

-- Sắp xếp bảng phụ phí theo giá phụ phí giảm dần select * from PHUPHI ORDER BY GiaPP DESC; --Phần d: Tạo view --HỌ TÊN:LÊ THỊ HƯƠNG --MASV :23A1001D --Tạo view hiển thị thông tin khách hàng CREATE VIEW View_ThongTinKhachHang AS SELECT maKH AS MaKhachHang, hotenKH AS HoTen, SDT AS SoDienThoai, email AS Email, solgnguoilon AS SoLuongNguoiLon, solgtreem AS SoLuongTreEm FROM KHACHHANG; --Tạo view hiển thị thông tin khách hàng và số lượng hóa đơn đã lập CREATE VIEW View_KhachHang_HoaDon AS SELECT k.maKH AS MaKhachHang, k.hotenKH AS HoTen, k.SDT AS SoDienThoai,

k.email AS Email, k.solgnguoilon AS SoLuongNguoiLon, k.solgtreem AS SoLuongTreEm, COUNT(h.maHD) AS SoLuongHoaDon FROM KHACHHANG k LEFT JOIN HOADON h ON k.maKH = h.maKH GROUP BY k.maKH, k.hotenKH, k.SDT, k.email, k.solgnguoilon, k.solgtreem; --HỌ TÊN:ĐINH NGỌC HIẾU --MASV :23A1001D ----Tạo view hiển thị thông tin khách hàng và hóa đơn của họ CREATE VIEW View_KhachHang_HoaDon_ChiTiet AS SELECT k.maKH AS MaKhachHang, k.hotenKH AS HoTen, k.SDT AS SoDienThoai, k.email AS Email, k.solgnguoilon AS SoLuongNguoiLon, k.solgtreem AS SoLuongTreEm, h.maHD AS MaHoaDon, h.tenHD AS TenHoaDon, h.ngayDen AS NgayDen, h.ngayDi AS NgayDi, h.ngayLap AS NgayLap, h.thanhTien AS ThanhTien, p.hangP AS LoaiPhong FROM KHACHHANG k LEFT JOIN HOADON h ON k.maKH = h.maKH LEFT JOIN PHONG p ON h.maP = p.maP; --HỌ TÊN: HOÀNG NGỌC ÁNH --MÃ SV: 23A1001D -- Hiển thị thông tin phòng và tình trạng đặt phòng CREATE VIEW vw_ThongTinPhong AS SELECT P.maP, P.hangP, P.soluong, P.trangthaiP, COUNT(HD.maHD) AS SoLuongDat FROM PHONG P LEFT JOIN HOADON HD ON P.maP = HD.maP GROUP BY P.maP, P.hangP, P.soluong, P.trangthaiP;