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ỰNG
KHOA CÔNG NGHỆ THÔNG TIN
Trang 2Chươ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ệu
số 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ản
là 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
Nhóm 3, Lớp 66IT6 Trang 3
Trang 31.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
- Thiết kế CSDL
- Tạo các bảng và nắm rõ mối quan hệ giữa chúng
- Hệ thống có giao diện đẹp, dễ sử dụng
- Khi thay đổi một chức năng sẽ không làm ảnh hưởng đến các chức năng khác
- Có khả năng sao lưu và phục hồi CSDL khi có sự cố
- Nhập liệu để thực hiện các yêu cầu sau
1.3.2 Đáp ứng được các yêu cầu chức nă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 4b) Đá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
Nhóm 3, Lớp 66IT6 Trang 5
Trang 5d) 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ài
ra, 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ất
cả 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ả
Trang 6- 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
Trang 7QUI ĐỊ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ìa
2.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
4.1 Từ chối phục vụ:
- Thẻ không hợp lệ (đã quá hạn sử dụng, đang bị khóa, không đúng mẫu quy định)
- Khi trang phục của bạn đọc thiếu nghiêm túc
4.2 Khóa thẻ từ 10 đến 20 ngày (sau khi đã nhắc nhở 1 lần) khi vi phạm một trongcác qui định sau:
- Lấy nhiều sách, nhiều loại báo, tạp chí không đúng với quy định
- Để tài liệu không đúng vị trí
- Tráo đổi vị trí tài liệu trong kho
- Gây mất trật tự, làm mất vệ sinh phòng đọc
4.3 Khóa thẻ từ 1 tháng đến 3 tháng khi vi phạm một trong các qui định sau:
- Sử dụng máy ảnh, điện thoại chụp tài liệu và chụp ảnh trong thư viện
- Viết, vẽ, gạch xóa tài liệu bằng bút chì
- 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:
- Xé, cắt xén tài liệu
- Mang tài liệu ra khỏi phòng đọc mà không được phép của cán bộ thư viện
- Cố tình làm trái quy định và có thái độ không đúng mực với cán bộ thư viện
Hình 1.4: Bảng Quy định xử phạt thư viện Nhóm 3, Lớp 66IT6 Trang 8
Trang 8e) 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ấtbản
NhàxuấtbảnGiá 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ã
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ã sách
Ngày mượn
Ngày hẹn trả
Ngày trả
Lý dophạt
Mứcphạt
Hình 1.7: Bảng thống kê tình trạng mượn tài liệu
Nhóm 3, Lớp 66IT6 Trang 9
Trang 9f) 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ượnHì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
Trang 10Chươ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
2.1.3 Thực thể “Phiếu mượn”:
- Lưu trữ các thông tin về tài liệu và độc giả trong quá trình mượn
- Các thuộc tính: Mã phiếu mượn, hình thức mượn, ngày mượn, ngày hẹn trả
2.1.4 Thực thể “Phiếu phạt”:
- Lưu trữ các thông tin về tài liệu và độc giả trong quá trình phạt
- Các thuộc tính: Mã phiếu phạt, ngày trả, lí do phạt, mức phạt
2.1.5 Thực thể “Tác giả”:
- 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ả
Nhóm 3, Lớp 66IT6 Trang 11
Trang 112.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”:
Hình 2.22.2.4 Sơ đồ quan hệ giữa thực thể “Độc giả” và “Phiếu phạt”:
Hình 2.32.2.5 Sơ đồ quan hệ giữa thực thể “Phiếu phạt” và “Tài liệu”:
Hình 2.42.2.6 Sơ đồ quan hệ giữa thực thể “Tác giả” và “Tài liệu”:
Hình 2.5
Nhóm 3, Lớp 66IT6 Trang 12
Trang 122.3 Mô hình thực thể liên kết:
Trang 13Chươ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
Trang 141.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
mượn
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
Nhóm 3, Lớp 66IT6 Trang 15
Trang 153.2 Sơ đồ quan hệ (Relationship Diagram):
Nhóm 3, Lớp 66IT6 Trang 16
Trang 16Chương IV CÀI ĐẶT CSDL VÀ DANH SÁCH TRUY VẤN
Cài đặt cơ sở dữ liệu
4.1 Tạo Database mới:
CREATE DATABASE QLTV
USE QLTV
4.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
Trang 17foreignkey (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
(Ma_tac_gia),
);
Nhóm 3, Lớp 66IT6 Trang 18
Trang 184.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:
Nhóm 3, Lớp 66IT6 Trang 19
Trang 193.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 204.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, , )
values ('ms10','Vat
- Cập nhật thông tin về tài liệu:
update dbo.Tailieu
set Gia_tien ='25000'
where Ma_sach='ms10'
- Xóa thông tin về tài liệu:
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
set Ho_va_ten ='cuong'
where Ma_doc_gia='sv08'
- Xóa thông tin về đoạc giả:
delete from dbo.Docgia
Nhóm 3, Lớp 66IT6 Trang 21
Trang 21where 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
SELECT
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 23- Đư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 inner
join 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
ASC
Nhóm 3, Lớp 66IT6 Trang 24
Trang 24- Đư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
Nhóm 3, Lớp 66IT6 Trang 25