Báo cáo bài tập lớnmôn hệ quản trị cơ sở dữ liệu

19 2 0
Báo cáo bài tập lớnmôn hệ quản trị cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 Đề tài Sinh viên thực Giáo viên hướng dẫn Hà Nội – 2023 Yêu cầu chung báo cáo chương trình *Tồn chương trình file báo cáo BTL lưu thư mục với tên theo nguyên tắc sau: Nguyên tắc: SQLSERVER-BTL-- Ví dụ: SQLSERVER -BTL-01-NguyenVanHung e g a P *Chương trình: Tạo file Query ghi nhận toàn câu lệnh thực xử lý với CSDL toám gồm: Tạo sở liệu, tạo chỉnh sửa bảng, tạo kiểm tra View, tạo thực thi thủ tục Proc, tạo thực thi Trigger, tạo người dùng phân quyền người dùng, … *Cấu trúc báo cáo: Trang bìa: Tên đề tài, tên nhóm (gồm họ tên thành viên nhóm), tên lớp 10 Mục lục Giới thiệu đề tài Phát biểu tốn Mơ hình CSDL tạo CSDL – tạo chỉnh sửa bảng Các đối tượng CSDL gồm: View, Proc, Trigger Phân quyền bảo mật CSDL … Kết luận, hướng phát triển Tài liệu tham khảo I Phát biểu toán: … {Yêu cầu: phát biểu toán dạng văn thể nghiệp vụ toán tổng hợp mẫu tài liệu nguồn mô tả thông tin quản lý toán} Lưu ý: phải xác định thông tin đối tượng cần quản lý, chức dự kiến triển e a khai Đồng thời phải có ràng buộc cần thoả mãn liệu g P Khi quản lí khách sạn cần quản lí u cầu quản lí dịch vụ quản lí phịng ốc Khi có khách hàng muốn đặt phịng khách sạn, điều nhân viên lễ tân phải làm kiểm tra trạng thái phịng khách sạn Nếu trống phịng nhân viên thơng báo cho khách hàng Nếu khách hàng có nhu cầu th phịng khách sạn cần phải cung cáp thông tin cá nhân như: Tên, Sđt, Địa Do nhu cầu sử dụng KH mà họ u cầu khách sạn đổi phịng Ngồi việc cung cấp phịng cho khách hàng khách sạn cung cấp thêm dịch vụ cho khách hàng như: ăn uống, phương tiện lại, điện thoại,giặt là, Nội dung thơng tin cần quản lí: - Thơng tin khách hàng - Thơng tin phịng - Quản lí giao dịch - Thơng tin dịch vụ - Thơng tin tốn XĐ kiểu thực thể thuộc tính nó; - KhachSan(sMaKS,sTenKS,sDiaChi,sSoDienThoai,sEmail) sMaKS TenKS sDiaChi sSoDienThoai sEmail KhachHang(sMaKH, sHotenKH, sĐC, sSĐT, sCMND) - sMaKH: Mã Khách hàng(Khóa chính) - HotenKH: Họ tên khách hàng - ĐC: Địa khách hàng - SĐT: Số điện thoại khách hàng - CMND: Số CMND khách hàng Phong(MaP.TenP, LoaiP, Trangthai, GiaP) - MaP: Mã phịng Khóa - TenP: Tên P - LoaiP: Loại cảu phòng( Phịng đơn, đơi, đặc biệt, thường) - Trangthai: Trạng thái P(trống, có khách, sứa, phịng đặt trước) - GiaP: Giá loại P Dich Vu(MaDV, TenDV, iSoLuong,Đơn giá) - MaDV: Mã dịch vụ, khóa e g a - TenDV: Tên dịch vụ P - iSoLuong:Số lượng dịch vụ - GiaDV: Giá dịch vụ HoaDon(MaHD, Sotien TT, NgayTT, HinhthucTT) - MaHD: Mã hóa đơn, khóa chinh - Sotien TT: Số tiền khách hàng toán - NgayTT: Ngày toán - Hinhthuc TT: Khách hàng toán thẻ hay tiền mặt ThuePhong(MaK H Ngayden, Ngaydi, Tiendat) DatPhong( MaKH, Ngayden, Tiendat) DoiPhong( MaKH Ngaydoi, MaPcu ,MaPmoi) SuDungDich Vu(MaKH MaDV, NgaySD) SuDung Phong(MaP,MaKH) II Mơ hình CSDL quan hệ: Kết quả: Xác định mơ hình CSDL quan hệ bảng mơ tả chi tiết bảng (ít bảng) Mỗi bảng cần mô tả theo cấu trúc sau (ví dụ minh hoạ) e g a P Ta có CSDL tốn sau: (1)tblBoPhan(sMaBoPhan, sTenBoPhan) (2) tblNhanVien( sMaNV, sTenNV, bGioiTinh, sQueQuan, sDiaChi, sSDT, fHSL, fPC, Các bảng xác định cấu trúc sau: *tblBoPhan: lưu trữ thông tin NHÂN VIÊN TT Tên Thuộc Tính Kiểu Dữ Liệu sMaBoPhan varchar(10) sTenBoPhan nvarchar(25) Ràng Buộc PK Ghi Chú Mã phận Tênbộ phân *tblNhanVien: lưu trữ thông tin NHÂN VIÊN TT Tên Thuộc Tính Kiểu Dữ Liệu Ràng Buộc PK Ghi Chú sMaNV varchar(10) Mã nhân viên sTenNV nvarchar(25) sGioitinh bit Chỉ nhận giá trị ‘true’ ‘false’ Giới tính sMabophan varchar(10) FK, tham chiếu sang bảng tblBoPhan Mã nhân viên làm việc 10 sTenchucvu nvarchar(25) 11 dNgayvaolam date Tên nhân viên Tên chức vụ dNgayvaolam0), ) *Chèn liệu cho bảng: Chèn liệu cho bảng tblBoPhan INSERT INTO tblBoPhan(sMaBoPhan,sTenBoPhan) VALUES ('BP01', N'Thu ngân'), ('BP02', N'Bán hàng'), ('BP03', N'Kho hàng') e g a P Chèn liệu cho bảng tblNhanVien INSERT INTO tblNhanVien(sMaNV, sTenNV, sGioitinh, sQuequan, sDiachi, sSDT, fHSL, fPC, sMabophan, sTenchucvu, dNgayvaolam) VALUES ('NV01', N'Phạm Văn Hùng', 'Nam', N'Hải Phòng', N'Hà Nội', '0912083435', 4.4, 0.6, 'BP01', N'Trưởng phòng', '07/02/2000'), ('NV02', N'Phạm Thị Nga', N'Nữ', N'Quảng Ninh', N'Hà Nội', '0901283435', 3.9, 0.4, 'BP01', N'Phó phịng', '07/04/2000'), ('NV03', N'Nguyễn Thúy Ngọc', N'Nữ', N'Quảng Ninh', N'Hà Nội', '0901382435', 3.0, 0.1, 'BP01', N'Nhân Viên', '07/04/2000'), ('NV04', N'Phạm Thị Hằng', N'Nữ', N'Thái Nguyên', N'Hà Nội', '0901283565', 3.6, 0.1, 'BP01', N'Nhân Viên', '07/04/2002'), ('NV05', N'Trần Văn Hạnh', 'Nam', N'Thái Nguyên', N'Hà Nội', '0912067835', 4.4, 0.6, 'BP02', N'Trưởng phòng', '07/02/2000'), ('NV06', N'Phạm Thị Nga', N'Nữ', N'Quảng Ninh', N'Hà Nội', '0901123435', 3.7, 0.4, 'BP02', N'Phó phịng', '07/04/2003'), ('NV07', N'Nguyễn Thúy Khánh', N'Nữ', N'Quảng Ninh', N'Hà Nội', '0932082435', 3.6, 0.1, 'BP02', N'Nhân Viên', '07/04/2002'), ('NV08', N'Phạm Văn Khánh', N'Nam', N'Thái Nguyên', N'Hà Nội', '0901267865', 3.0, 0.1, 'BP02', N'Nhân Viên', '07/04/2004') Sơ đồ quan hệ bảng: e g a P e g a P IV Xây dựng View cho CSDL: Gợi ý: Phát biểu thao tác – Chức tương ứng cần thực CSDL Xây dựng View tương ứng cho thao tác Kết quả: Có file sql lưu trữ câu lệnh thực (tất dùng chung file) Minh họa kết tương ứng câu lệnh tạo View, View gồm: yêu cầu View, code câu lệnh hình ảnh kết thực thi câu lệnh Yêu cầu: 10 view, gồm: view lấy thông tin (từ bảng nhiều bảng) view tổng hợp tính tốn phân nhóm (trên bảng từ nhiều bảng) * Tạo View: Cho biết mã sách có tổng doanh thu bán lớn 100000 * Tạo View: Tinh tien chi tiet cua tung hoa don CREATE VIEW vvTinhTienCTHD as Select sMaHD, sMaSach, iSL, fDGban, iSL*fDGban as ThanhTien from tblChiTietHD select * from vvTinhTienCTHD e g a P * Tạo View: Tinh tổng số lượng sách tổng tiền hóa đơn CREATE VIEW vvTongTienHD (sMaHD, iTongSL, fTongTien) as Select sMaHD, sum(iSL), sum(iSL*fDGban) from tblChiTietHD group by sMaHD select * from vvTongTienHD 10 e g a P V Xây dựng Procedure cho CSDL Gợi ý: Phát biểu thao tác – Chức tương ứng cần thực CSDL Xây dựng Proc tương ứng cho thao tác Kết quả: Có file sql lưu trữ câu lệnh thực (tất dùng chung file) Minh họa kết tương ứng câu lệnh tạo Proc, gồm: yêu cầu thủ tục, code câu lệnh hình ảnh kết thực thi câu lệnh Yêu cầu proc, gồm: proc lấy thông tin (từ nhiều bảng), proc tổng hợp tính tốn phân nhóm (lấy từ bảng nhiều bảng) * thủ tục in nhân viên vào làm năm nhập vào CREATE PROC pr_NhanVien_Nam @nam int as BEGIN Select sTenNV, sGioitinh, sDiachi from tblNhanVien where year(dNgayvaolam) = @nam END EXEC pr_NhanVien_Nam 2000 EXEC pr_NhanVien_Nam 2001 * Thủ tục: Nhập mã HD, in tổng tiền tốn hd Proc: Cho biết tổng tiền tốn Hóa đơn theo mã HD CREATE PROC pr_TongTienHD @mahd varchar(10) as BEGIN Select sum(iSL*fDGban) from tblChiTietHD where sMaHD = @mahd 11 END EXEC pr_TongTienHD 'HD001' e g a P EXEC pr_TongTienHD 'HD002' … 12 VI Xây dựng Trigger cho CSDL Gợi ý: e g a P - - Phát biểu ràng buộc tương ứng (trừ có thiết kế CSDL) cần thực CSDL Xây dựng trigger tương ứng cho ràng buộc Kết quả: Có file sql lưu trữ câu lệnh thực (tất dùng chung file) Minh họa kết tương ứng câu lệnh tạo trigger, gồm: yêu cầu thủ tục, code câu lệnh hình ảnh kết thực thi câu lệnh Yêu cầu trigger, gồm: trigger (từ nhiều bảng), trigger tổng hợp (lấy từ bảng nhiều bảng) Thêm cột tổng số lượng bán vào bảng tblSach ALTER TABLE tblSach ADD iTongSLBan int default(0) Update tblSach set iTongSLBan = select * from tblSach Trigger thêm vào bảng tblChiTietHD tổng số lượng sách bán tăng tương ứng CREATE TRIGGER tg_TongSLSachDaBan ON tblChiTietHD FOR insert as BEGIN DECLARE @iSL int, @masach VARCHAR(10) SELECT @iSL = iSL, @masach = sMasach FROM inserted Update tblSach Set iTongSLBan = iTongSLBan + @iSL Where sMaSach = @masach END select * from tblSach Kiểm tra kết Trigger INSERT INTO tblChiTietHD(sMaHD,sMasach,iSL,fDGban) VALUES ('HD001', 'S010',3, 65000) Xóa dịng tblChiTietHD Tổng số lượng sách bán giảm tương ứng select * from tblSach CREATE TRIGGER tg_TongSLSachDaBan_Xoa 13 e g a P ON tblChiTietHD FOR delete as BEGIN DECLARE @iSL int, @masach VARCHAR(10) SELECT @iSL = iSL, @masach = sMasach FROM deleted Update tblSach Set iTongSLBan = iTongSLBan - @iSL Where sMaSach = @masach END select * from tblSach Kiểm tra kết trigger Delete tblChiTietHD Where sMAHD = 'HD001' and sMaSach = 'S010' 14 VII Phân quyền bảo mật CSDL Gợi ý: - Tạo người dùng đặt mật tương ứng - Đặt mật truy cập đến CSDL - Phân quyền sử dụng CSDL, gồm: quyền sửa cấu trúc, quyền xem khai thác, quyền tạo e đối tượng, … a g P Kết quả: Có file sql lưu trữ câu lệnh thực (tất dùng chung file) Minh họa kết tương ứng câu lệnh tạo, gồm: câu lệnh, kết Yêu cầu người dùng, cho phép thực thêm – sửa – xóa CSDL câu lệnh cụ thể CREATE ROLE BPNhapHang EXEC sys.sp_addrolemember BPNhapHang, th GRANT INSERT, SELECT ON dbo.tblNhaCungCap TO BPNhapHang CREATE LOGIN TrinhThiXuan WITH PASSWORD = ’xuan’ CREATE USER user1 For login TrinhThiXuan Cấp quyền GRANT INSERT, UPDATE,DELETE ON tblNhaCungCap TO user1 WITH GRANT OPTION ……………………………………………………… 15 VII Phân tán sở liệu Gợi ý: e g a P Lựa chọn số bảng CSDL, xác định thực phân tán ngang hay phân tán dọc cho bảng Cài đặt bảng theo nguyên tắc phân tán xác định - Viết đoạn mã: thêm liệu, View, thủ tục để khai thác bảng phân tán Kết quả: Có file sql lưu trữ câu lệnh thực (tất dùng chung file) Minh họa kết tương ứng câu lệnh tạo, gồm: câu lệnh, kết ……………………………………………………… ……………………………………………………… 16 TÀI LIỆU THAM KHẢO e g a P 17

Ngày đăng: 18/10/2023, 12:13

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan