lOMoARcPSD| 58977565
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG QUẢN LÝ THƯ VIỆN ( Gồm 2.1 , 2.3 )
2.1 Đặc tả bài toán
2.1.1 Bài toán
Số lượng đầu sách ngày sách càng nhiều, thư viện của Học Viện CNBCVT muốn xây
dựng một hệ thống thông tin tin học hóa để quản lý thư viện của mình. Hệ thống thông
tin quản lý thư viện này có nhiều phân hệ khác nhau, trong đó có phân hệ quản lý việc
mượn và trả sách. Quy trình quản lý việc mượn và trả sách được tóm tắt như sau: Khi
có nhu cầu mượn sách, độc giả sẽ tra cứu đầu sách mình muốn mượn và nhờ sự trợ giúp
của máy tính để tìm kiếm mã số của những sách muốn mượn. Khi mượn sách, độc giả
phải điền thông tin vào một phiếu mượn sách ( bao gồm: mã độc giả, ngày mượn, mã số
sách cần mượn, mã số chuyên ngành, mã số tác giả, thời hạn mượn, thời hạn trả,....)
2.1.2 Yêu cầu bài toán
Thiết kế một hệ thống đơn giản quản lý mượn/ trả sách của thư viện bằng bảng excel
hoặc các ngôn ngữ khác tùy chọn để giúp đỡ việc tìm kiếm mượn sách cho độc giả
nhanh nhất ( giả thiết thư viện có khoảng 120 đầu sách )
2.3 Thiết kế hệ thống
2.3.1 Thiết kế cơ sở dữ liệu
2.3.1.1 Nhập dữ liệu
Nhóm 7 đã tiến hành nhập liệu bằng cách sử dụng công cụ trích xuất từ file excel sang
bảng dữ liệu access.
Hình ảnh nhập dữ liệu (nguồn nhóm tác giả)
Các bảng đã được nhập liệu bảng bao gồm bảng sách, bảng danh mục, bảng độc giả
ở bảng mượn sách là thông tin mượn sách với ngày mượn - ngày trả sách.
2.3.1.2 Thiết kế bảng:
lOMoARcPSD| 58977565
a) Bảng danh mục
Hình ảnh bảng danh mục (nguồn nhóm tác giả)
Tạo bảng danh mục với các trường thể hiện thông tin bản của sách bao gồm: Mã danh
mục, thể loại tổng số lượng sách tại thư viện. Đặt trường danh mục làm khóa
chính. Dữ liệu danh mục sách:
Hình ảnh dữ liệu danh mục (nguồn nhóm tác giả)
Dữ liệu bao gồm: Mã danh mục, thể loại sách, tổng số lượng sách. Bảng này mô tả danh
mục sách được quản lý trong hệ thống thư viện.
b) Bảng độc giả:
lOMoARcPSD| 58977565
Hình ảnh bảng độc giả (nguồn nhóm tác giả)
Tạo bảng độc giả với các trường thể hiện thông tin cơ bản của sách bao gồm: Mã số sinh
viên, họ tên, giới tính, ngày sinh số điện thoại của độc giả. Đặt trường Mã số sinh
viên làm khóa chính. Dữ liệu danh mục độc giả:
Hình ảnh dữ liệu độc giả (nguồn nhóm tác giả)
c) Bảng mượn sách:
Hình ảnh bảng mượn sách (nguồn nhóm tác giả)
Tạo bảng mượn sách với các trường thể hiện thông tin bản của sách bao gồm: ID(Số
thứ tự), Mã số sinh viên, mã sách, tên sách, ngày mượn và ngày trả của độc giả.
Đặt trường ID(Số thứ tự) làm khóa chính.
Dữ liệu danh sách mượn sách:
lOMoARcPSD| 58977565
Hình ảnh dữ liệu danh sách mượn sách (nguồn nhóm tác giả)
d) Bảng sách:
Hình ảnh bảng sách (nguồn nhóm tác giả)
Tạo bảng sách với các trường thể hiện thông tin cơ bản của sách bao gồm: Mã sách, mã
danh mục, tên sách, tác giả, nhà xuất bản, số lượng và đơn giá tiền của sách. Đặt trường
Mã sách làm khóa chính.
Dữ liệu sách:
lOMoARcPSD| 58977565
Hình ảnh dữ liệu sách (nguồn nhóm tác giả) 2.3.1.3
Tạo Relationship:
Hình ảnh relationship (nguồn nhóm tác giả)
Bảng danh mục mối quan hệ 1-∞ với bảng sách, khi đó một danh mục sẽ
nhiều đầu sách tương ứng.
Bảng sách có mối quan hệ 1-∞ với bảng mượn sách, khi đó một cuốn sách có thể
được mượn bởi nhiều độc giả
Bảng mượn sách có mối quan hệ 1-∞ với bảng độc giả, khi đó một độc giả có thể
mượn được nhiều đầu sách
2.3.1.4 Tạo Queries:
lOMoARcPSD| 58977565
a) Query 1: Danh sách quá hạn
Hình ảnh truy vấn danh sách quá hạn (nguồn nhóm tác giả) Query này
bao gồm các trường độc giả, Tên độc giả, Ngày mượn, Ngày trả, Ngày phải trả,Ghi
chú, Số ngày trễ, Tiền phạt. Chọn SQL view và nhập vào đoạn mã:
Hình ảnh queries danh sách quá hạn (nguồn nhóm tác giả)
SELECT MUONSACH.MSSV, DOCGIA.HOVATEN,
MUONSACH.NGAYMUON, MUONSACH.NGAYTRA,
MUONSACH.NGAYPHAITRA, IIf(([NGAYTRA]-[NGAYMUON])>31,"Quá hạn")
AS [Ghi chú], Abs(([NGAYPHAITRA])-([NGAYTRA])) AS [Số ngày trễ hạn],
Abs(([NGAYPHAITRA])-([NGAYTRA]))*5000 AS [Tiền phạt]
FROM DOCGIA INNER JOIN MUONSACH ON DOCGIA.MSSV =
MUONSACH.MSSV
GROUP BY MUONSACH.MSSV, DOCGIA.HOVATEN,
MUONSACH.NGAYMUON, MUONSACH.NGAYTRA,
MUONSACH.NGAYPHAITRA, Abs(([NGAYPHAITRA])-([NGAYTRA])),
lOMoARcPSD| 58977565
Abs(([NGAYPHAITRA])-([NGAYTRA]))*5000
HAVING (((IIf(([NGAYTRA]-[NGAYMUON])>31,"Quá hạn"))="Quá hạn"));
Chọn lệnh Run và lưu query này với tên Danh sách quá hạn là nhóm đã trích xuất được
danh sách các độc giả đã quá hạn ợn sách tiền phạt. b) Query 2: Nhà xuất bản
Trẻ:
Ở query này, nhóm thực hiện muốn trích lọc danh sách các đầu sách do nhà xuất bản Trẻ.
Nhóm 7 đã thực hiện query này như sau:
Hình ảnh truy vấn query nhà xuất bản trẻ (nguồn nhóm tác giả)
Query này bao gồm các trường sách , n sách, Nhà xuất bản , Tác giả. Ngay tại
Criteria ghi câu lệnh “NXB Trẻ” để chỉ hiển thị những đầu sách có nhà xuất bản Trẻ.
Lưu query với tên Nhà xuất bản Trẻ.
Hình ảnh query nhà xuất bản trẻ (nguồn nhóm tác giả)
c) Query 3: Sách đã được mượn
query này nhóm muốn trích lọc danh sách các đầu sách đã được mượn số lượng
của nó.
lOMoARcPSD| 58977565
Hình ảnh truy vấn query sách đã được mượn (nguồn nhóm tác giả) Query này
bao gồm các trường Mã sách, Tên sách. Để thực hiện được query này, nhóm chọn một số
trường cần được hiển thị và ngay tại trường số lượng ta dùng hàm
Count để đếm tổng số lượng sách mượn. Lưu query với tên Sách đã được mượn
Hình ảnh query sách đã được mượn (nguồn nhóm tác giả) 2.3.2
Thiết kế giao diện
2.3.2.1 Form:
a) Quản lý độc giả: Nhóm đã thiết kế form dùng để nhập thông tin cơ bản của độc
giả khi đến thư viện mượn sách gồm: mã độc giả, tên độc giả, giới tính, ngày
sinh , số điện thoại.
lOMoARcPSD| 58977565
Hình ảnh form thông tin độc giả (nguồn nhóm tác giả)
b) Form mượn sách: Nhóm đã thiết kế form dùng để nhập dữ liệu khi các đọc giả
mượn sách mới như sau:
Hình ảnh form phiếu mượn sách ( nguồn nhóm tác giả )
Form Phiếu mượn trả sách” này bao gồm một số mục thu thập thông tin căn bản
của độc giả. Nhóm đã tạo nên 3 nút lệnh dùng để thêm, lưu, xóa dữ liệu nếu đã hoàn
thành việc điền thông tin.
2.3.2.2 Report
a) Xuất báo cáo
lOMoARcPSD| 58977565
Hình ảnh nhập báo cáo (nguồn nhóm tác giả)
Chọn vào create chọn đến report sau đó chọn tiếp query danh sách quá hạn, nhóm
đã xuất được báo cáo quá hạn. Sao khi đã xuất được báo o ta lưu đặt tên cho báo cáo
là Danh sách quá hạn. b) Danh sách quá hạn:
Hình ảnh report danh sách quá hạn (nguồn nhóm tác giả)
Danh sách quá hạn bao gồm : Mã độc giả, Tên độc giả, Ghi chú, Số ngày trễ hạn, Tiền
phạt. Danh sách quá hạn liệt kê các độc giả đến hạn nhưng chưa trả sách và tiền phạt họ
phải đóng.
c) Phiếu thông báo:
lOMoARcPSD| 58977565
Hình ảnh phiếu thông báo quá hạn (nguồn nhóm tác giả)
Phiến thông báo quá hạn bao gồm: Mã độc giả, Tên độc giả, Số điện thoại, Tên sách,
Ngày mượn, Ngày trả, Ghi chú và Tiền phạt để gửi thông báo đến các độc giả quá hạn
trả sách và yêu cầu nộp tiền phạt.

Preview text:

lOMoAR cPSD| 58977565
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG QUẢN LÝ THƯ VIỆN ( Gồm 2.1 , 2.3 )
2.1 Đặc tả bài toán 2.1.1 Bài toán
Số lượng đầu sách ngày sách càng nhiều, thư viện của Học Viện CNBCVT muốn xây
dựng một hệ thống thông tin tin học hóa để quản lý thư viện của mình. Hệ thống thông
tin quản lý thư viện này có nhiều phân hệ khác nhau, trong đó có phân hệ quản lý việc
mượn và trả sách. Quy trình quản lý việc mượn và trả sách được tóm tắt như sau: Khi
có nhu cầu mượn sách, độc giả sẽ tra cứu đầu sách mình muốn mượn và nhờ sự trợ giúp
của máy tính để tìm kiếm mã số của những sách muốn mượn. Khi mượn sách, độc giả
phải điền thông tin vào một phiếu mượn sách ( bao gồm: mã độc giả, ngày mượn, mã số
sách cần mượn, mã số chuyên ngành, mã số tác giả, thời hạn mượn, thời hạn trả,....)
2.1.2 Yêu cầu bài toán
Thiết kế một hệ thống đơn giản quản lý mượn/ trả sách của thư viện bằng bảng excel
hoặc các ngôn ngữ khác tùy chọn để giúp đỡ việc tìm kiếm mượn sách cho độc giả
nhanh nhất ( giả thiết thư viện có khoảng 120 đầu sách )
2.3 Thiết kế hệ thống
2.3.1 Thiết kế cơ sở dữ liệu
2.3.1.1 Nhập dữ liệu
Nhóm 7 đã tiến hành nhập liệu bằng cách sử dụng công cụ trích xuất từ file excel sang bảng dữ liệu access.
Hình ảnh nhập dữ liệu (nguồn nhóm tác giả)
Các bảng đã được nhập liệu bảng bao gồm bảng sách, bảng danh mục, bảng độc giả và
ở bảng mượn sách là thông tin mượn sách với ngày mượn - ngày trả sách.
2.3.1.2 Thiết kế bảng: lOMoAR cPSD| 58977565 a) Bảng danh mục
Hình ảnh bảng danh mục (nguồn nhóm tác giả)
Tạo bảng danh mục với các trường thể hiện thông tin cơ bản của sách bao gồm: Mã danh
mục, thể loại và tổng số lượng sách có tại thư viện. Đặt trường Mã danh mục làm khóa
chính. Dữ liệu danh mục sách:
Hình ảnh dữ liệu danh mục (nguồn nhóm tác giả)
Dữ liệu bao gồm: Mã danh mục, thể loại sách, tổng số lượng sách. Bảng này mô tả danh
mục sách được quản lý trong hệ thống thư viện.
b) Bảng độc giả: lOMoAR cPSD| 58977565
Hình ảnh bảng độc giả (nguồn nhóm tác giả)
Tạo bảng độc giả với các trường thể hiện thông tin cơ bản của sách bao gồm: Mã số sinh
viên, họ và tên, giới tính, ngày sinh và số điện thoại của độc giả. Đặt trường Mã số sinh
viên làm khóa chính. Dữ liệu danh mục độc giả:
Hình ảnh dữ liệu độc giả (nguồn nhóm tác giả)
c) Bảng mượn sách:
Hình ảnh bảng mượn sách (nguồn nhóm tác giả)
Tạo bảng mượn sách với các trường thể hiện thông tin cơ bản của sách bao gồm: ID(Số
thứ tự), Mã số sinh viên, mã sách, tên sách, ngày mượn và ngày trả của độc giả.
Đặt trường ID(Số thứ tự) làm khóa chính.
Dữ liệu danh sách mượn sách: lOMoAR cPSD| 58977565
Hình ảnh dữ liệu danh sách mượn sách (nguồn nhóm tác giả) d) Bảng sách:
Hình ảnh bảng sách (nguồn nhóm tác giả)
Tạo bảng sách với các trường thể hiện thông tin cơ bản của sách bao gồm: Mã sách, mã
danh mục, tên sách, tác giả, nhà xuất bản, số lượng và đơn giá tiền của sách. Đặt trường Mã sách làm khóa chính. Dữ liệu sách: lOMoAR cPSD| 58977565
Hình ảnh dữ liệu sách (nguồn nhóm tác giả) 2.3.1.3 Tạo Relationship:
Hình ảnh relationship (nguồn nhóm tác giả)
● Bảng danh mục có mối quan hệ 1-∞ với bảng sách, khi đó một danh mục sẽ có
nhiều đầu sách tương ứng.
● Bảng sách có mối quan hệ 1-∞ với bảng mượn sách, khi đó một cuốn sách có thể
được mượn bởi nhiều độc giả
● Bảng mượn sách có mối quan hệ 1-∞ với bảng độc giả, khi đó một độc giả có thể
mượn được nhiều đầu sách 2.3.1.4 Tạo Queries: lOMoAR cPSD| 58977565
a) Query 1: Danh sách quá hạn
Hình ảnh truy vấn danh sách quá hạn (nguồn nhóm tác giả) Query này
bao gồm các trường Mã độc giả, Tên độc giả, Ngày mượn, Ngày trả, Ngày phải trả,Ghi
chú, Số ngày trễ, Tiền phạt. Chọn SQL view và nhập vào đoạn mã:
Hình ảnh queries danh sách quá hạn (nguồn nhóm tác giả)
SELECT MUONSACH.MSSV, DOCGIA.HOVATEN,
MUONSACH.NGAYMUON, MUONSACH.NGAYTRA,
MUONSACH.NGAYPHAITRA, IIf(([NGAYTRA]-[NGAYMUON])>31,"Quá hạn")
AS [Ghi chú], Abs(([NGAYPHAITRA])-([NGAYTRA])) AS [Số ngày trễ hạn],
Abs(([NGAYPHAITRA])-([NGAYTRA]))*5000 AS [Tiền phạt]
FROM DOCGIA INNER JOIN MUONSACH ON DOCGIA.MSSV = MUONSACH.MSSV
GROUP BY MUONSACH.MSSV, DOCGIA.HOVATEN,
MUONSACH.NGAYMUON, MUONSACH.NGAYTRA,
MUONSACH.NGAYPHAITRA, Abs(([NGAYPHAITRA])-([NGAYTRA])), lOMoAR cPSD| 58977565
Abs(([NGAYPHAITRA])-([NGAYTRA]))*5000
HAVING (((IIf(([NGAYTRA]-[NGAYMUON])>31,"Quá hạn"))="Quá hạn"));
Chọn lệnh Run và lưu query này với tên Danh sách quá hạn là nhóm đã trích xuất được
danh sách các độc giả đã quá hạn mượn sách và tiền phạt. b) Query 2: Nhà xuất bản Trẻ:
Ở query này, nhóm thực hiện muốn trích lọc danh sách các đầu sách do nhà xuất bản Trẻ.
Nhóm 7 đã thực hiện query này như sau:
Hình ảnh truy vấn query nhà xuất bản trẻ (nguồn nhóm tác giả)
Query này bao gồm các trường Mã sách , Tên sách, Nhà xuất bản , Tác giả. Ngay tại
Criteria ghi câu lệnh “NXB Trẻ” để chỉ hiển thị những đầu sách có nhà xuất bản Trẻ.
Lưu query với tên Nhà xuất bản Trẻ.
Hình ảnh query nhà xuất bản trẻ (nguồn nhóm tác giả)
c) Query 3: Sách đã được mượn
Ở query này nhóm muốn trích lọc danh sách các đầu sách đã được mượn và số lượng của nó. lOMoAR cPSD| 58977565
Hình ảnh truy vấn query sách đã được mượn (nguồn nhóm tác giả) Query này
bao gồm các trường Mã sách, Tên sách. Để thực hiện được query này, nhóm chọn một số
trường cần được hiển thị và ngay tại trường số lượng ta dùng hàm
Count để đếm tổng số lượng sách mượn. Lưu query với tên Sách đã được mượn
Hình ảnh query sách đã được mượn (nguồn nhóm tác giả) 2.3.2
Thiết kế giao diện 2.3.2.1 Form:
a) Quản lý độc giả: Nhóm đã thiết kế form dùng để nhập thông tin cơ bản của độc
giả khi đến thư viện mượn sách gồm: mã độc giả, tên độc giả, giới tính, ngày sinh , số điện thoại. lOMoAR cPSD| 58977565
Hình ảnh form thông tin độc giả (nguồn nhóm tác giả)
b) Form mượn sách: Nhóm đã thiết kế form dùng để nhập dữ liệu khi các đọc giả mượn sách mới như sau:
Hình ảnh form phiếu mượn sách ( nguồn nhóm tác giả )
Form “Phiếu mượn trả sách” này bao gồm một số mục thu thập thông tin căn bản
của độc giả. Nhóm đã tạo nên 3 nút lệnh dùng để thêm, lưu, xóa dữ liệu nếu đã hoàn
thành việc điền thông tin. 2.3.2.2 Report a) Xuất báo cáo lOMoAR cPSD| 58977565
Hình ảnh nhập báo cáo (nguồn nhóm tác giả)
Chọn vào create và chọn đến report sau đó chọn tiếp query danh sách quá hạn, nhóm
đã xuất được báo cáo quá hạn. Sao khi đã xuất được báo cáo ta lưu và đặt tên cho báo cáo
là Danh sách quá hạn. b) Danh sách quá hạn:
Hình ảnh report danh sách quá hạn (nguồn nhóm tác giả)
Danh sách quá hạn bao gồm : Mã độc giả, Tên độc giả, Ghi chú, Số ngày trễ hạn, Tiền
phạt. Danh sách quá hạn liệt kê các độc giả đến hạn nhưng chưa trả sách và tiền phạt họ phải đóng.
c) Phiếu thông báo: lOMoAR cPSD| 58977565
Hình ảnh phiếu thông báo quá hạn (nguồn nhóm tác giả)
Phiến thông báo quá hạn bao gồm: Mã độc giả, Tên độc giả, Số điện thoại, Tên sách,
Ngày mượn, Ngày trả, Ghi chú và Tiền phạt để gửi thông báo đến các độc giả quá hạn
trả sách và yêu cầu nộp tiền phạt.