Professional Documents
Culture Documents
Project CSDL về Quản lý Thư viện
Project CSDL về Quản lý Thư viện
- Tài liệu thư viện: Bao gồm sách, báo, tạp chí, đĩa CD/DVD, tài liệu điện tử và các loại tài liệu
khác.
- Thông tin về tài liệu: Tiêu đề, tác giả, năm xuất bản, chủ đề, vị trí lưu trữ, số lượng có sẵn, v.v.
- Người dùng: Thông tin cá nhân, lịch sử mượn/trả sách, thẻ thư viện, v.v.
- Nhân viên thư viện: Quản lý tài liệu, xử lý mượn/trả sách, duyệt sách mới, và quản lý hệ thống.
- Người đọc: Tìm kiếm, mượn, và trả sách, đặt sách trước, xem thông tin sách, v.v.
-Hệ thống quản lý thư viện sẽ bao gồm các tính năng sau:
Quản lý tài liệu: Lưu trữ và cập nhật thông tin về tài liệu thư viện.
Quản lý người dùng: Lưu trữ thông tin cá nhân của người dùng và lịch sử mượn/trả sách.
Tìm kiếm và tra cứu: Cho phép người dùng tìm kiếm tài liệu dựa trên nhiều tiêu chí.
Mượn/Trả sách: Ghi nhận việc mượn và trả sách, quản lý thời hạn mượn.
Đặt sách trước: Cho phép người đọc đặt sách khi chúng đang được mượn bởi người khác.
Báo cáo và thống kê: Tạo ra các báo cáo về hoạt động của thư viện.
Cập nhật thông tin về tài liệu như tiêu đề, tác giả, năm xuất bản, vị trí, …
Xóa tài liệu khi nó đã không còn trong thư viện.
Xóa người dùng khi họ không còn là thành viên thư viện.
Cho phép người đọc tìm kiếm tài liệu dựa trên tiêu đề, tác giả, chủ đề, ISBN, hoặc các tiêu chí khác.
Hiển thị kết quả tìm kiếm và chi tiết của tài liệu.
*Mượn/Trả sách:
Ghi nhận việc mượn sách bao gồm thông tin về người mượn, tài liệu, ngày mượn, và ngày hết hạn.
Ghi nhận việc trả sách bao gồm thông tin về tài liệu và ngày trả.
Tính toán phí trễ hạn nếu người mượn trả sách sau hạn.
Cho phép người đọc đặt sách khi chúng đang được mượn bởi người khác.
Thông báo cho người đọc khi sách đã sẵn sàng để mượn sau khi người trước đó trả sách.
Tạo các báo cáo về hoạt động của thư viện như số lượng sách mượn theo thời gian, sách phổ biến, số
lượng đặt sách trước, …
Hiển thị thống kê về người dùng, bao gồm người đọc mượn nhiều sách nhất, số lần trễ hạn, …
Rate UserID
BookReview
LibraryCards
DocumentID LoanDate
UserID
LoanHistory LateFee
UserID Take
Know
HistoryID ReturnDate
StatusID
Email PhoneNumber
DoCode Rate
Documents Users
Title Address
Location Take Create
UserType
DocumentID PublicationYear
LibraryCardNumber
QuantityInStock
DocumentType
ReservationID ReservationDate
Take
UserID Reservations
DocumentStatus
ReportID
StatusID Description
Reports
ReportType
UserID ReportContent
Take
ReturnDate ReportDate
LateFee Creat
e
Loans
Create
StatisticValue
StatisticDate
LoanID UserID
DocumentID
Statistic
LoanDate DueDate
UserID StatisticType StatisticID
Documents Table
Loans Table
Reservations Table
LoanHistory Table
BookReviews Table
Reports Table
Statistic Table
LibraryCards Table
DocumentStatus Table
VI. List of data constraints (Danh sách các ràng buộc dữ liệu)
1. Bảng Documents
- Title, Author, Location không thể là giá trị null (NOT NULL).
- StatusID là khóa ngoại (FOREIGN KEY) tham chiếu đến StatusID trong bảng DocumentStatus.
- PublicationYear, DoCode, QuantityInStock, DocumentType, Rate, và Description có thể là giá trị null.
2. Bảng Users
- FullName, Address, PhoneNumber, Email không thể là giá trị null (NOT NULL).
3. Bảng Loans
- DocumentID là khóa ngoại (FOREIGN KEY) tham chiếu đến DocumentID trong bảng Documents.
- UserID là khóa ngoại (FOREIGN KEY) tham chiếu đến UserID trong bảng Users.
4. Bảng LoanHistory
- DocumentID là khóa ngoại (FOREIGN KEY) tham chiếu đến DocumentI` trong bảng Documents.
- UserID là khóa ngoại (FOREIGN KEY) tham chiếu đến UserID trong bảng Users.
- LoanDate, ReturnDate, và LateFee không thể là giá trị null (NOT NULL).
5. Bảng Reservations
- DocumentID là khóa ngoại (FOREIGN KEY) tham chiếu đến DocumentID trong bảng Documents.
- UserID là khóa ngoại (FOREIGN KEY) tham chiếu đến UserID trong bảng Users.
6. Bảng Statistic
- UserID là khóa ngoại (FOREIGN KEY) tham chiếu đến UserID trong bảng Users.
- StatisticType, StatisticDate, và StatisticValue không thể là giá trị null (NOT NULL).
7. Bảng Reports
8. Bảng BookReviews
- DocumentID là khóa ngoại (FOREIGN KEY) tham chiếu đến DocumentID trong bảng Documents.
- UserID là khóa ngoại (FOREIGN KEY) tham chiếu đến UserID trong bảng Users.
9. Bảng LibraryCards
- UserID là khóa ngoại (FOREIGN KEY) tham chiếu đến UserID trong bảng Users.
DocumentStatus
Documents
Users
LibraryCards
Statistic
Reports
BookReviews
LoanHistory
Reservations
Loans
Lấy tất cả thông tin của các tài liệu có tên bắt đầu bằng 'The':
Đếm số lượng tài liệu theo từng thể loại:
Lấy thông tin người dùng có email kết thúc bằng @example.com và có loại người dung là người quản lý
thư viện.
Đếm số lượt mượn sách theo tháng:
Lấy các tài liệu có điểm đánh giá trung bình trên 4.5:
Lấy các tài liệu đã được đặt trước nhưng chưa sẵn sàng cho mượn:
Lấy top 5 người dùng có nhiều lượt đặt trước sách nhất:
Lấy tổng số lượt truy cập website hàng ngày trong tháng 10/2023:
Lấy tổng số lượt đăng ký thẻ thư viện còn hiệu lực:
Lấy 5 tài liệu có nhiều lượt đặt trước nhất:
Lấy thống kê số lượt mượn sách theo từng tháng trong năm 2022:
Lấy các báo cáo sự cố được tạo trong quý 1 năm 2023:
*Các trigger
Trigger để kiểm tra số lượng sách trong kho khi có sách được mượn:
Trigger để cập nhật trạng thái tài liệu khi có người mượn:
Trigger để kiểm tra ngày trả sách không được sớm hơn ngày mượn:
Trigger để tự động xóa đặt trước khi cho mượn sách:
Trigger để kiểm tra thẻ thư viện còn hạn khi mượn sách:
Trigger để tự động cập nhật thống kê số lượt mượn sách hàng ngày:
Trigger để kiểm tra số lượng đặt trước không vượt quá số lượng sách trong kho:
Tạo quy trình truy xuất tài liệu có xếp hạng cao nhất
Tạo quy trình lấy danh sách tài liệu theo danh mục