Đang tải... (xem toàn văn)
Vậy nên việc tạo lập một hệ thống quản lí thư viện bằng các công cụtin học là rất cần thiết.Hệ thống quản lí thư viện cần khắc phục được những nhược điểm của quy trìnhquản lí hiện tại và
Trang 1TRƯỜNG ĐẠI HỌC XÂY DỰNGKHOA CÔNG NGHỆ THÔNG TIN
-o0o -ĐỒ ÁN MÔN HỌC
HỆ CƠ SỞ DỮ LIỆUĐỀ TÀI: QUẢN LÝ THƯ VIỆN
Sinh viên thực hiện : Nhóm 3 – Lớp 66IT6
Trang 3Chương I.Xác định các yêu cầu lưu trữ và khai thác dữ liệu cơ bản
1.1 Đặt vấn đề:
Thư viện – được coi là kho tri thức của loài người - ngày càng phát triển đa dạng vềnội dung và số lượng sách báo Hiện này có nhiều thư viện đã có số lượng hàng nghìncuốn sách, hàng trăm số báo và tạp chí đồng thời cũng có số lượng lớn độc giả đếnmượn, trả mỗi ngày Ví dụ Thư viện Trường Đại học Xây Dựng có hơn 40000 tài liệusố và hơn 10000 tài liệu in Trong đó có gần 3000 tài liệu số là sách giáo trình và sáchtham khảo Tiếng Việt và gần 2500 là sách Ngoại văn Tài liệu in thì có hơn 3000 bảnlà sách giáo trình và sách tham khảo và hơn 6000 là các loại luận văn, luận án và cáctài liệu khoa học Mỗi ngày lại có hơn 100 lượt mượn trả
Điều đó đã tạo nên sự phức tạp về mặt tìm kiếm và quản lí sách Và khó hơn cả làviệc xử lí thông tin trong việc quản lí sách để người đọc có thể tìm kiếm sách cần đọcmột cách dễ dàng Vậy nên việc tạo lập một hệ thống quản lí thư viện bằng các công cụtin học là rất cần thiết.
Hệ thống quản lí thư viện cần khắc phục được những nhược điểm của quy trìnhquản lí hiện tại và đáp ứng được các yêu cầu mà người dùng mong muốn.
Các nhược điểm của hệ thống quản lí thư viện bằng phương pháp truyền thống:- Thông tin trên giấy tờ sổ sách dễ bị mất mát, không lưu trữ được lâu dài.- Quy trình tìm kiếm phục vụ cho việc mượn, trả gây mất nhiều thời gian - Tốn nhiều thời gian, công sức vào việc nhập liệu, thống kê sách.1.2 Đối tượng sử dụng:
Thủ thư và người đọc.
Trang 41.3 Yêu cầu cơ bản:
Hệ thống quản lí thư viện cần phải đáp ứng được các yêu cầu sau:- Đáp ứng chức năng cập nhật, lưu trữ thông tin về tài liệu.- Đáp ứng chức năng cập nhật, lưu trữ thông tin về người đọc.- Đáp ứng chức năng cập nhật, lưu trữ thông tin về kho sách.
- Quản lý quy trình mượn-trả bao gồm: mượn sách, trả sách, mức xử lý phạt, báo quá hạn.
- Cung cấp khả năng tìm kiếm thông tin về tài liệu, độc giả, mượn-trả.- Báo cáo thống kê về lượt lưu hành, tài liệu hiện có, lượt đọc của độc giả.1.3.1 Tạo CSDL Thư viện và nhập liệu cho các bảng
a) Đáp ứng chức năng cập nhật, lưu trữ thông tin về tài liệu.
Chức năng này có nhiệm vụ cập nhật thông tin về tài liệu bao gồm: thể loại sách ( vídụ: sách tham khảo, sách giáo khoa, tiểu thuyết, truyện đọc …), tác giả, nhà xuất bản,năm xuất bản Điều này giúp cho thủ thư dễ dàng phân loại và quản lý sách còn ngườiđọc tìm kiếm tài liệu nhanh theo nhu cầu Sách cũng cần được chia ra theo các mứcphạt khác nhau tùy theo giá trị Hệ thống cần cho phép thủ thư bổ sung/ cập nhật/ xóacác thông tin về sách Khi thêm phải đảm bảo mã sách không được trùng lặp
Nhóm 3, Lớp 66IT6 Trang 4
Trang 5b) Đáp ứng chức năng cập nhật, lưu trữ thông tin về người đọc.
Chức năng này có nhiệm vụ cập thông tin về người đọc mượn-trả sách tại thư viện.Để trở thành bạn đọc của thư viện thì người đọc phải cung cấp các thông tin bao gồm:họ và tên, giới tính, ngày tháng năm sinh, mã số CCCD, nơi ở hiện tại, số điện thoại,email, kèm theo ảnh(3x4) Thủ thư sẽ cấp cho người đọc thẻ thư viện gồm mã độc giảđể phân biệt độc giả này với độc giả khác Thẻ có giá trị từ ngày đăng ký đến ngày hếthạn theo quy định.
Ảnh 3x4 Thẻ thư viện
Mã độc giả:
Họ và tên: ……… Ngày sinh: ………SĐT: ……… Email: ……… Địa chỉ: ……… Mã số CCCD:………
Giới tính: ………Ngày đăng ký: ………Người đăng ký
Hạn sử dụng: ……….
Hình 1.1: Mẫu Thẻ thư viện
c) Đáp ứng chức năng cập nhật, lưu trữ thông tin về kho sách.
Chức năng này cho phép người quản lý thư viện cập nhật số lượng sách hiện có theotừng quyển.
Trang 6d) Quản lý quy trình mượn-trả bao gồm: mượn sách, trả sách, mức xử lý phạt, báo quá hạn.
- Mượn sách: Bạn đọc muốn đăng ký mượn sách phải sử dụng thẻ Thư viện chứa cácthông tin của mình và phiếu mượn đến quầy gặp trực tiếp thủ thư, thủ thư nhậpthông tin độc giả đó và chương trình hiện thị thông tin liên quan như bảng 2 Nếuthẻ nào sắp hết hạn hay đã hết hạn thì chương trình cũng sẽ cảnh báo thẻ đó Ngoàira, chương trình còn hiển thị thông tin về việc mượn trả sách của người đọc nhưbảng 3 theo thứ tự sách nào mượn lâu nhất trước Những sách nào quá hạn mượnhay gần đến hạn sẽ được đánh dấu để làm nổi bật thông tin cho thủ thư biết Nếu tấtcả thông tin về thẻ hợp lệ thì thủ thư sẽ cho mượn sách và đưa cho sinh viên phiếumượn sách đồng thời thủ thư sẽ nhập thông tin vào bảng 4 Sau đó chương trình sẽxuất hiện thông tin về hạn trả Thủ thư tại một thời điểm bất kỳ, có thể xác định cóbao nhiêu cuốn ứng với một loại sách đang được mượn hay đang đăng ký.
Hình 1.2: Mẫu Phiếu mượn trả
Nhóm 3, Lớp 66IT6 Trang 6
PHIẾU MƯỢN TRẢ
Họ tên:Mã độc giả:Tên sách:Số lượng:
Mượn đọc : Tại chỗ Mang về Ngày mượn:
Ngày hẹn trả:Kí tên
Trang 7- Trả sách: Chức năng này có nhiệm vụ thu thập lại sách của từng đọc giả đã mượn, do đó cần ghi lại các thông tin về độc giả đã trả sách như: ngày trả, tình trạng trả - Xử lý phạt: Mỗi thẻ sẽ có thời hạn sử dụng theo quy định của thư viện, đối vớimỗi trường hợp mượn sách quá hạn hay làm hư hỏng sách thì sẽ bị phạt theo mứcphạt đã quy định.
PHIẾU PHẠT
Mã sách:Tên sách:Ngày trảLí do:Mức phạtKí tên
Hình 1.3: Mẫu Phiếu phạt
- Báo quá hạn: Chức năng này có nhiệm vụ báo cho độc giả biết khi thẻ của bạn đọchết hạn hay bạn đọc mượn sách quá hạn.
Trang 8QUI ĐỊNH XỬ PHẠT THƯ VIỆN
1.Bạn đọc làm hư hỏng tài liệu
1.1 Làm bẩn (bị ố, vết mực) từ 5 trang trở lên, làm rách hoặc mất từ 1 tờ trở lên: đền tài liệu mới giá phạt bằng giá trị 100%.
1.2 Làm bẩn (bị ố, vết mực) từ 1 đến 4 trang: đền 5% giá bìa/1 trang.
1.4 Làm hỏng hoặc mất mã vạch, nhãn tài liệu: đền 5.000đ/1 mã vạch hoặc nhãn.2 Bạn đọc làm mất tài liệu
2.1 Đền đúng như tài liệu đã mượn: áp dụng với tài liệu hiện có trên thị trường.2.2 Đền thay thế tài liệu khác: áp dụng đối với tài liệu không có trên thị trường.2.3 Đền bằng tiền:
2.3.1 Tài liệu xuất bản từ năm 2000 đến nay: đền gấp 3 lần giá bìa2.3.2.Tài liệu xuất bản trước 2000 hoặc tài liệu không có giá bìa: đền theo số trang:
· Sách Việt: 1.000đ/1 trang· Sách ngoại 1.500đ/1 trang
Ngoài ra, tất cả các trường hợp ở mục 1.1, 2.1, 2.2, 2.3 (2.3.1, 2.3.2) phải nộp 20.000đ tiền phạt và 20.000đ tiền xử lý nghiệp vụ
3 Ban đọc mượn tài liệu quá hạn quy định
Tất cả các loại tài liệu mượn quá hạn (trả chậm) 01 ngày, phạt 1.000đ/ngày/cuốn.4 Bạn đọc vi phạm các nội quy khác
- Cho người khác mượn thẻ.
4.4 Khóa thẻ từ 1 năm đến vĩnh viễn, thông báo về đơn vị đào tạo khi vi phạm một trong các qui định sau:
Trang 9e) Cung cấp khả năng tìm kiếm thông tin về tài liệu, độc giả, mượn-trả.- Chức năng này có nhiệm vụ tìm kiếm thông tin phục vụ bạn đọc, khi bạn đọc có
nhu cầu mượn thủ thư sẽ kiểm tra tài liệu này còn đủ số lượng để cho mượn haykhông.
STT Mã sách Ngôn
ngữTình trạng trên thịtrường
Tênsách MãTác
giảTên tác giả
Thể loại Nămxuất
Giá tiền
Hình 1.5: Bảng thống kê thông tin tài liệu
- Chức năng tìm kiếm độc giả: Khi thủ thư hay ban quản lý thư viện muốn tìmkiếm các thông tin về độc giả như: họ và tên, số điện thoại, hạn thẻ để quản lý.STT Mã
độc giả
Ngàyhết hạn
Hình 1.6: Bảng thống kê thông tin độc giả
- Tìm kiếm thông tin mượn trả: cho biết các thông tin về sách trong quá trìnhmượn trả của bạn đọc như: tình trạng mượn, tình trạng trả, ngày mượn, ngày trả.STT Mã
Mã thẻ
Mã sách
Ngày mượn
Ngày hẹn trả
Ngày trả
Lý dophạt
Hình 1.7: Bảng thống kê tình trạng mượn tài liệu
Trang 10f) Báo cáo thống kê về lượt lưu hành, tài liệu hiện có, lượt đọc của độc giả.- Thống kê tổng số sách có trong thư viện: chức năng này có nhiệm vụ thống kê
xem thư viện có tổng số sách có trong kho, số sách độc giả giữ,… ST
T Mã sách Tổng số lượng sáchTrong Lượt mượn Ghi chúkho
Đã cho mượn
Hình 1.8: Bảng thống kê số lượng tài liệu trong kho
- Thống kê sách và tài liệu lưu hành: Chức năng này có nhiệm vụ thống kê xem có bao nhiêu sách được mượn ít, mượn nhiều.
- Thống kê lượt độc giả: Chức năng này có nhiệm vụ thống kê xem một kỳ có baonhiêu lượt độc giả đến thư viên trong một năm hoặc một kỳ, danh sách các độcgiả mượn sách quá hạn.
Hình 1.9: Bảng thống kê lượt đọc độc giả
Nhóm 3, Lớp 66IT6 Trang 10
Trang 11Chương II Xác định các thực thể và các mối quan hệ, sơ đồ ERD
2.1 Xác định các thực thể và thuộc tính:2.1.1 Thực thể “Tài liệu”:
- Lưu trữ các thông tin về tài liệu trong thư viện.
- Các thuộc tính: Mã tài liệu, tên tài liệu, thể loại, ngôn ngữ, năm xuất bản, nhà xuất bản, giá tiền, tình trạng trên thị trường.
2.1.2 Thực thể “Độc giả”:
- Lưu trữ các thông tin về bạn đọc.
- Các thuộc tính: Mã độc giả, họ tên, ngày sinh, giới tính, nơi ở, mã CCCD, email, số điện thoại, ngày đăng ký thẻ thư viện, ngày hết hạn thẻthư viện.
- Lưu trữ các thông tin về tác giả của tài liệu.- Các thuộc tính: Mã tác giả, tên tác giả
Trang 122.2 Xác định mối quan hệ giữa các thực thể.
2.2.2 Sơ đồ quan hệ giữa thực thể “Độc giả” và “Phiếu mượn”:Hình 2.1
2.2.3 Sơ đồ quan hệ giữa thực thể “Phiếu mượn” và “Tài liệu”:
Trang 132.3 Mô hình thực thể liên kết:
Trang 14Chương III XÁC ĐỊNH CẤU TRÚC CÁC BẢNG VÀ Ý NGHĨA CỘT DỮ LIỆU
3.1 Cấu trúc các bảng
1.1 Bảng Doc Gia (Mã độc giả, Họ tên, Ngày sinh, Giới tính, Nơi ở, Số điện thoại, Email, Mã CCCD, Ngày đăng kí, Ngày hết hạn)
Tên thuộc tính Diễn giải Kiểu dữ liệu Miền giá trị Loại dữ liệu
So_dien_thoai Số điện
Varchar 8 ký tự Không bắt buộc Nhóm 3, Lớp 66IT6 Trang 14
Trang 151.3 Bảng Tac Gia (Mã tác giả, Tên tác giả)
Tên thuộc tính Diễn giải Kiểu dữ liệu Miền giá trị Loại dữ liệu
1.4 Bảng Phieu Muon (Mã phiếu mượn, Hình thức mượn, Ngày mượn, Ngày hẹn trả, Mã độc giả)
Tên thuộc tính Diễn giải Kiểu dữ liệu Miền giá trị Loại dữ liệuMa_phieu_muon Mã phiếu
Varchar 8 ký tự Bắt buộcHinh_thuc_muon Hình thức
1.5 Bảng Phieu Phat (Mã phiếu phạt, Mã độc giả, Mã tài liệu)
Tên thuộc tính Diễn giải Kiểu dữ liệu Miền giá trị Loại dữ liệuMa_phieu_phat Mã phiếu
1.6 Bảng Tai lieu-Tac gia (Mã sách, Mã tác giả)
Tên thuộc tính Diễn giải Kiểu dữ liệu Miền giá trị Loại dữ liệu
Trang 163.2 Sơ đồ quan hệ (Relationship Diagram):
Nhóm 3, Lớp 66IT6 Trang 16
Trang 17Chương IV CÀI ĐẶT CSDL VÀ DANH SÁCH TRUY VẤN
Cài đặt cơ sở dữ liệu4.1 Tạo Database mới:
CREATE DATABASE QLTV
USE QLTV4.2 Tạo các bảng:
2.1 Tạo bảng Doc Gia:
CREATE TABLE Docgia(
Ma_doc_gia varchar(8)primary keynot null,
Ho_va_ten nvarchar(50),
Ngay_sinh datecheck (Ngay_sinh <getdate()),
Gioi_tinh bit, 0 là n , 1 là nam ữ
2.2 Tạo bảng Tac Gia:
Create table Tacgia
Ma_tac_gia varchar (8)primarykeynotnull,
Ten_tac gia nvarchar( )50
2.3 Tạo bảng Tai Lieu:
Create table Tailieu
Ma_sach varchar(8)primarykeynotnull,
Ten_sach nvarchar(100),
Ngon_ngu bit,
Trang 18foreignkey (Ma_phieu_muon)references dbo.Phieumuon
(Ma_phieu_muon ));
2.4 Tạo bảng Phieu Muon:
Create table Phieumuon
2.5 Tạo bảng Phieu Phat:
Create table Phieuphat
2.6 Tạo bảng Tai Lieu-Tac Gia:
Create table Tailieu_tacgia
Ma_sach varchar(8),
Ma_tac_gia varchar(8),
foreignkey (Ma_sach)references dbo.Tailieu(Ma_sach),
foreignkey (Ma_tac_gia)references dbo.Tacgia
Nhóm 3, Lớp 66IT6 Trang 18
Trang 194.3 Điền dữ liệu vào các bảng:
3.1 Bảng Doc Gia:
3.2 Bảng Tac Gia:
3.3 Bảng Tai Lieu:
Trang 203.4 Bảng Phieu Muon:
3.5 Bảng Phieu Phat:
3.6 Bảng Tai Lieu-Tac gia:
Nhóm 3, Lớp 66IT6 Trang 20
Trang 214.4 Danh sách các câu truy vấn và kết quả
4.1 Các câu lệnh thao tác với bảng- Bổ sung thông tin về sách:
Insert into
dbo Tailieu Ma_sach Ten_sach Ngon_ngu Nam_xuat_ban Nh ( , , , ,
a_xuat_ban Gia_tien Tinh_trang_tren_thi_truong, , )
Delete from dbo.Tailieu
where ma_sach='ms10'
- Bổ sung thông tin về độc giả:
Insert into dbo.Docgia ma_doc_gia( ,
Ho_va_ten Ngay_sinh gioi_tinh, , , Dia_chi,
So_dien_thoai Email, ,
Ma_CCCD Ngay_dang_ky Ngay_het_han, , )
values ('sv08' 'Giang' '2003-02-09' '1', , , ,'Ha
- Cập nhật thông tin về độc giả:update dbo.Docgia
Trang 22where ma_doc_gia='ms08'
4.2 Các câu lệnh truy vấn
- Đưa ra tất cả các tài liệu của cùng 1 tác giả
Select dbo.Tailieu Ma_sach dbo , Tailieu.Ten_sach ,
dbo Tailieu Ngon_ngu , dbo.Tailieu Nha_xuat_ban.
from dbo.Tailieu inner join dbo.Tailieu_tacgia on
Tailieu Ma_sach Tailieu_tacgia = Ma_sach innerjoin tacgia
on Tacgia.Ma_tac_gia Tailieu_Tacgia Ma_tac_gia=
where Tacgia.Ma_tac_gia='tg04'
- Đưa ra các tài liệu có cùng năm xuất bản
Ten_sach Nam_xuat_ban Nha_xuat_ban Tacgia Ten_tac gia, , ,
FROM Tailieu INNER JOIN Tailieu_tacgia ON
(Tailieu Ma_sach Tailieu_tacgia Ma_sach = )INNERJOIN
Tacgia ON (Tailieu_tacgia Ma_tac_gia Tacgia Ma_tac_gia = )
Trang 24- Đưa ra danh sách các độc giả cùng mượn một tài liệu
Select Ho_va_ten Gioi_tinh, , Ma_CCCD, Ten_sach from
dbo.Docgia innerjoin dbo.Phieumuon on
dbo Docgia Ma_doc_gia dbo Phieumuon = Ma_doc_gia innerjoin dbo.Tailieu on Tailieu Ma_phieu_muon =
phieumuon Ma_phieu_muon.
where Ten_sach =N'Toán cao c p'ấ
- Sắp xếp các độc giả theo số lượng tài liệu mượn theo hướng tăng dần
SELECT Ho_va_ten,So_dien_thoai, Email,
COUNT( Tailieu.Ma_sach)AS STLDM
FROM Docgia INNER JOIN Phieumuon ON
(Docgia Ma_doc_gia =Phieumuon Ma_doc_gia )INNER JOIN Tailieu ON
(Tailieu Ma_phieu_muon Phieumuon Ma_phieu_muon = )
GROUP BY Ho_va_ten,So_dien_thoai, Email ORDER BY STLDM
Nhóm 3, Lớp 66IT6 Trang 24
Trang 25- Đưa ra thông tin mượn sách của 1 độc giả
SELECT dbo.Docgia Ma_doc_gia Ho_va_ten , ,
dbo Tailieu Ma_sach , Ten_sach, Phieumuon.Ma_phieu_muon,
Ngay_muon, Ngay_hen_tra
FROM Docgia INNER JOIN Phieumuon ON Docgia.Ma_doc_gia=
Phieumuon.Ma_doc_gia INNERJOIN
Tailieu ON Phieumuon Ma_phieu_muon =
Tailieu Ma_phieu_muon.
Where Docgia.Ma_doc_gia='sv01'
- Đưa ra số lượt mượn trả sách của từng sách trong một tháng
SELECT Ten_sach,COUNT(dbo.phieumuon.Ngay_hen_tra)as SL
From dbo Tailieu inner join dbo PhieuMuon on
dbo Tailieu ma_phieu_muon dbo Phieumuon = Ma_phieu_muon
inner join dbo.Docgia on
dbo Phieumuon ma_doc_gia dbo Docgia ma_doc_gia =
where Phieumuon.Ngay_hen_tra <'2020-12-1'
group by Tailieu.Ten_sach
Trang 26- Đưa ra danh sách tài liệu được mượn có ngày hẹn trả trong tháng 12
SELECT Docgia.Ma_doc_gia,Ho_va_ten, Ngay_hen_tra,
Tailieu Ma_sach , Ten_sach
FROM Docgia INNER JOIN Phieumuon ON Docgia.Ma_doc_gia=
Phieumuon.Ma_doc_gia INNERJOIN Tailieu ON
Phieumuon.Ma_phieu_muon Tailieu= Ma_phieu_muon
- Đưa ra danh sách độc giả vi phạm quy định thư viện
Select Docgia.Ma_doc_gia,count(Phieuphat Ma_phieu_phat )
Trang 27- Đưa ra danh sách tài liệu có số lượng còn ít (<2)
SELECT Ten_sach
FROM Tailieu GROUP BY Ten_sach
HAVING (COUNT(Ten_sach) 2 < )
ORDER BY Ten_sach
- Đưa ra danh sách độc giả mượn sách trong tháng
SELECT DISTINCT dbo.Docgia.Ho_va_ten,
dbo Docgia Ma_doc_gia .
FROM dbo Phieumuon INNER JOIN dbo Tailieu ON
dbo Tailieu Ma_sach = dbo.Tailieu.Ma_sach innerjoin
dbo.Docgia on dbo.Docgia Ma_doc_gia =
dbo Phieumuon Ma_doc_gia .
WHEREMONTH(Ngay_muon ) ='12'
Trang 28- Đưa ra danh sách các độc giả trễ hẹn trả tài liệu
SELECT Docgia.Ho_va_ten, Docgia.Ma_doc_gia, Ten_sach,
Tailieu Ma_sach , Ngay_hen_tra
FROM dbo Docgia INNER JOIN dbo.Phieumuon ON
dbo Docgia Ma_doc_gia dbo Phieumuon = Ma_doc_gia innerjoin dbo.Tailieu on
Phieumuon ma_phieu_muon Tailieu = Ma_phieu_muon
Trang 29- Xóa thông tin về phiếu mượn khi độc giả đã trả sách
delete from dbo.Phieumuon
where Ma_phieu_muon='pm08'- Xử lý phạt trả muộn
select phieuphat.Ma_doc_gia, Docgia.Ho_va_ten ,
Phieuphat Ma_sach ,datediff day( ,Ngay_hen_tra Ngay_tra, )as
SNM
from phieuphat inner join docgia on
phieuphat Ma_doc_gia Docgia = Ma_doc_gia innerjoin
Phieumuon Phieumuonon Ma_doc_gia phieuphat Ma_doc_gia=
where phieuphat.Ly_do =N'tr mu n'ả ộ
- Tính tổng số sách trong thư viện
Selectcount(Ma_sach) Tong
from Tailieu;
- Tính tổng số sách đang cho mượn
selectcount(Ma_sach) tongM
from Tailieu
where Ma_phieu_muon !='NULL';