Đồ án quản lý thư viện bằng SQL

24 6.7K 40
Đồ án quản lý thư viện bằng SQL

Đ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

I. Mô tả chức năng của hệ thống I.1. Phân quyền cho đối tượng sử dụng -Thủ kho:Chịu trách nhiệm quản lý sách trong kho -Thủ thư :Tiếp nhận các yêu cầu của độc giả và cho phép mượn sách nếu được yêu cầu và đầy đủ các thông tin -Thủ quỹ:Nhận tiền phạt từ độc giả nếu trả sách quá hạn hoặc làm mất sách 1.2. Chức năng của hệ thống -Quản lý độc giả về thời hạn sử dụng,cho phép mượn sách -Quản lý sách,lưu giữ đầy đủ các thông tin về sách,tác giả,nhà xuất bản trong kho sách -Nếu trường hợp độc giả trả sách quá hạn quy định thì phải bị phạt tiền,số tiền phạt được tính là 1 nghìn đồng trên 1 ngày quá hạn II. Thiết kế cơ sở dữ liệu II.1. BảngDocGia.PhieuYeuCau Colum Name Description Datatype Length Allow Null MaThe Primary key Ma:Varchar 10 Not null TenSach Tên sách Varchar 50 null SoQuyen Số quyển int null II.2. BảngQuanTri.Nhanvien Colum Name Description Datatype Length Allow Null MaNV Primary key Ma:varchar 10 Not null HoTen Họ tên nhân viên HoTen:varchar 50 null NgaySinh Ngày sinh Datetime null BoPhan Bộ phận Varchar 50 null ChucVu Chức vụ Varchar 20 null CapTren Cấp trên Ma:varchar 10 Null DiaChi Địa chỉ Varchar 100 Null II.3. BảngThuKho.LoaiSach Colum Name Description Datatype Length Allow Null MaLS Khóachính Varchar 10 Not null TenLS Tên loại sách Varchar 50 Null II.4. BảngThuKho.NhaXuatBan Colum Name Description Datatype Length Allow Null TenNXB Primary key Hoten:varcha 50 Not null DiaChi Địa chỉ Varchar 100 Null NgayThanhLa p Ngày thành lập datetime Null II.5. BảngThuKho.Sach Colum Name Description Datatype Length Allow Null MaSach Mã sách (Khóa chính) Ma:Varchar 10 Not null TenSach Tên sách Varchar 50 Null MaTG MaTG Ma:varchar 10 Null TenNXB Tên NXB HoTen:Varchar 50 Null NamXuatBan int Null SoTrang int Null Gia int Null MaLS Varchar 10 Null MaNV Ma:varchar 10 Null II.6. BảngThuKho.TacGia Colum name description datatype length Allow null MaTG Primary key Ma:Varchar 10 Not null TenTG Hoten:Varcha r 50 Not null DiaChi Varchar 100 Null ChucDanh Varchar 50 null II.7. BảngThuQuy.ThuTienPhat Colum name description Datatype length Allow null MaThe Ma:varchar 10 Not null HoTen HoTen:varcha r 50 Null TienPhat int Null SoTienThu Int Null ConLai Int Null MaNV Ma:varchar 10 Null LydoPhat Varchar 50 Null Tensach Varchat 50 Null II.8. BảngThuThu.TheDocGia Colum name description Datatype length Allow null MaThe Khóachính Ma:varchar(10) 10 Not null HoTen HoTen:varchar(50 ) 50 null NgayCap datetime Null NgayHetHan Datetime Null DiaChi Varchar 50 Null MaNV Ma:varchar 10 null MaDV Varchar 10 Null Khoa Varchar 10 null II.9. BảngThuThu.TheoDoiMuonTra Colum name description Datatype length Allow null MaThe Khóachính Ma:varchar(10) 10 Not null HoTen HoTen:varchar(50 ) 50 Null TenSach Nvarchar(50) Null NgayMuon Datetime Null NgayHenTra Datetime Null NgayTraTrinhThuc Datetime Null TinhTrangSach(Truoc) Varchar(50) Null [inhTrangSach(Sau) Varchar(50) Null SoLuongMuon Int null SoLuongTra Int null Sơ đồ quan hệ giữa các bảng III. Mô tả các thủ tục, hàm và triggers theo mẫu: III.1. Thủ tục III.1.1. Thêm độc giả -Tên: ThuThu.insertDOCGIA -Kết quả thực hiện:Nhập thông tin vào bảng ThuThu.TheoDocGia -Các bước thực hiện: +) Nhập thông tin về độc giả +) Chèn vào bảng ThuThu.TheoDocGia III.1.2. Tính số người mượn sách trong cùng 1 ngày -Tên: thuthu.so_nguoi_muon_cung_ngay -Kết quả thực hiện:Kiểm tra số lượt mượn trong ngày -Các bước thực hiện: +) Nhấp vào ngày cần kiểm tra III.1.3. Xóa sách -Tên: ThuKho.XoaSach -Kết quả thực hiện:Xóa sách trong bảng ThuKho.Sach -Các bước thực hiện: +)Nhập mã sách cần xóa III.2. Hàm III.2.1. Hiển thị nhân viên cấp dưới -Tên: Quantri.Nhanviencapduoi -Kết quả thực hiện : Tìm kiếm tất cả nhân viên cấp dưới của một nhân viên nào đó. -Các bước thực hiện : + Nhập mã nhân viên cần tìm kiếm + Tạo một bảng tạm có cấu trúc giống với bảng gốc ([QuanTri].[NHANVIEN]) + Chèn thông tin các nhân viên có cấp trên là mã nhân viên nhập vào + Tìm kiếm các nhân viên có cấp trên là mã nhân viên vừa chèn vào + SELECT bảng tạm III.2.2. Tính tổng tiền nợ của 1 độc giả -Tên: thuquy.tongno -Kết quả thực hiện: Tính tổng tiền nợ của độc giả -Các bước thực hiện: +Nhập vào mã độc giả +Các giá trị được trả về 1 bảng +Chọn các cột cần hiển thị +Sử dụng hàm tính tổng tiền còn nợ III.2.3. Tìm các độc giả phải trả sách trước 1 ngày nào đó -Tên: thuthu.Trasach -Kết quả thực hiện:Hiển thị tất cả các độc giả phải trả sách trước ngày nào đó -Các bước thực hiện: +Nhập vào ngày cần tra +Giá trị trả về là 1 bảng +Thực hiện chèn tất cả các giá trị hợp lệ vào 1 bảng +Trả về bảng vừa nhận được III.3. Trigger III.3.1. Tính tiền phạt của 1 độc giả mượn sách quá hạn -Tên: tg_Trasach -Kết quả thực hiện:Trả về số tiền phạt vào cột Phattien -Các bước thực hiện: +Kiểm tra điều kiện:Nếu ngày trả chính thức < ngày hẹn trả thì bỏ qua trigger,nếu ngày trả chính thức > ngày hẹn trả thì thực hiện phạt tiền theo công thức tính là 1000 đồng / 1 ngày quá hạn III.3.2. Khóa thẻ nếu quá hạn -Tên: thuthu.TRGkhoathe -Kết quả:Khóa thẻ nếu độc ngày quá hạn -Các bước thực hiện +So sánh ngày hết hạn với thời gian hiện tại.Nếu ngày hết hạn > thời gian hiện tại thì thông báo thẻ đã hết hạn sử dụng và ngược lại III.3.3. Không cho mượn sách nếu độc giả đã bị khóa thẻ -Tên: thuthu.KiemSoatDocGiaMuonSach -Kết quả:Không cho độc giả đã bị khóa thẻ mượn sách -Các bước thực hiện +Thực hiện kiểm tra các dữ liệu trong bảng tạm +So sánh kết quả đó với bảng ThuThu.TheDocGia theo mã và khóa thẻ +Thực hiện rollback nếu có kết quả trả về IV. Mô tả các View IV.1. Hiển thị danh sách các thành viên có cùng MaDV -Tên: ds_lopTH44 -Kết quả thực hiện:Hiển thị tất cả các thành viên có mã đơn vị là ‘TH4’ V. Quản trị CSDL 1. Tạo các Login STT Tên Login Quyền 1 loginQuanTri ANY PERMISSION 2 loginThuThu CONNECT SQL, VIEW ANY DATABASE 3 loginThuKho CONNECT SQL, VIEW ANY DATABASE 4 loginThuQuy CONNECT SQL, VIEW ANY DATABASE 5 loginKhach CONNECT SQL, VIEW ANY DATABASE 6 loginDocGia CONNECT SQL, VIEW ANY DATABASE 2. Tạo các User STT Tên user Quyền 1 userQuanTri - Cập nhật bảng [QuanTri].[NHANVIEN] - Cấp quyền cho người sử dụng 2 userThuThu - Có mọi quyền trong các bảng thuộc schema ThuThu (TheDocGia,TheoDoiMuonTra) - Có quyền SELECT đối với các bảng khác 3 userThuKho - Có mọi quyền trong các bảng thuộc schema ThuKho (Sach,NhaXuatBan,TacGia,Loaisach) - Có quyền SELECT đối với các bảng khác 4 userThuQuy - Có mọi quyền trong các bảng thuộc schema QuanLyPhong (Thutienphat) - Có quyền SELECT đối với các bảng khác 5 userDocGia Có mọi quyền trong các bảng thuộc schema DocGia (Phieuyeucau) 6 userKhach Có quyền SELECT bảng ThuKho.Sach 3. Tạo các role STT Tên db_role Quyền 1 db_QuanTri - Cập nhật bảng [QuanTri].[NHANVIEN] - Cấp quyền cho người sử dụng 2 db_NhanVien - Có quyền SELECT trên các schema ThuThu, ThuKho,ThuQuy 3 db_DocGia - Có quyền cập nhật bảng [DocGia].[PhieuYeuCau] - Có quyền SELECT đối với các bảng khác (ThuKho.Sach) 4. Cấp phát quyền cho role và user sử dụng giao diện MS SQL Management Studio a.Cấp phát quyền cho role - db_QuanTri [...]... @Reports return KẾT LUẬN Với sự hướng dẫn tận tình của thầy Nguyễn Mạnh Hùng và sự cố gắng của bản than e cũng đã hoàn thành xong đồ án của minh, song vì thời gian còn hạn chế, bước đầu chúng em được làm quen với bài toán mà kinh nghiệm còn chưa nhiều nên chương trình của em không tránh khỏi những thiếu sót Em rất mong nhận được sự chỉ dẫn của thầy cô giáo cùng với sự góp ý của các bạn để chương trình của...-db_NhanVien -db_DocGia 5 Cấp phát quyền cho role và user sử dụng các câu lệnh T -SQL 5.1 Cấp phát quyền cho role -db_QuanTri GRANT SELECT ,UPDATE ,DELETE, INSERT ON SCHEMA::[QuanTri] TO [db_QuanTri] DENY DELETE,INSERT,UPDATE ON SCHEMA::[ThuKho] TO [db_QuanTri] DENY DELETE,INSERT,UPDATE

Ngày đăng: 23/10/2014, 22:53

Từ khóa liên quan

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

Tài liệu liên quan