HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÀI TẬP LỚN CSDL NÂNG CAO
ĐỀ TÀI: XÂY DỰNG HỆ THỐNG QUẢN LÝ
THƯ VIỆN QUỐC GIA
Giảng viên hướng dẫn :
TS. NGUYỄN ĐÌNH HÓA
Lớp
:
Khoa học máy tính_M17CS01
Nhóm học viên
:
Nhóm 1
Vũ Văn Huy
Nguyễn Thị Thái
Lê Thanh Của
Hà Nội, tháng 12 năm 2017
MỤC LỤC
I. KHẢO SÁT HỆ THỐNG QUẢN LÝ THƯ VIỆN QUỐC GIA
1.1.
Khảo sát hiện trạng
1.1.1. Tổng quan
Thư viện quốc gia có nhu cầu quản lý việc sử dụng sách của độc giả. Sau đây là phần mô tả
theo các nghiệp vụ hàng ngày của thư viện.
Người quản lý Thư viện (thủ thư) quản lý các đầu sách, mỗi đầu sách có một mã sách để
phân biệt với các đầu sách khác. Các đầu sách có cùng một thể loại: Tin học, Chính trị… sẽ có
Mã loại sách để phân biệt với các loại sách khác. Một đầu sách có thể có nhiều bản sao (số
lượng) ứng với đầu sách đó. Mỗi đầu sách có một trạng thái cho biết cuốn sách đó có thể cho
mượn hay không.
Để trở thành độc giả của Thư viện, thì mỗi bạn đọc phải đăng ký và cung cấp các thông tin
cá nhân như: Họ tên, ngày sinh, địa chỉ, nơi công tác và địa chỉ email, số điện thoại (nếu có),
kèm theo 2 ảnh (3x4) với lệ phí mà Thư viện quy định. Sau đó người quản lý sẽ lưu thông tin
vào trong sổ dữ liệu quản lý độc giả của Thư viện rồi giao cho độc giả 1 giấy hẹn ngày đến lấy
thẻ độc giả Thư viện, ngày đó thủ thư sẽ cấp cho bạn 1 thẻ từ, trên đó có mã số thẻ chính là mã
độc giả để phân biệt độc giả này với độc giả khác. Thẻ này có giá trị theo tháng hoặc theo năm
do Thư viện quy đinh. Mỗi tuần trước ngày hết hạn thẻ, thủ thư sẽ thông báo cho bạn đọc biết để
đến gia hạn thêm.
Thư viện làm các áp phích sách gồm các thông tin sau: mã sách, tên sách, loại sách, tên tác
giả, nhà xuất bản, năm xuất bản, số trang, số lượng, tóm tắt nội dụng. Độc giả có thể tra cứu tìm
kiếm sách bằng thông tin liên quan tới sách qua phích sách.
1.1.2. Mượn sách
Độc giả muốn đăng ký mượn sách thì tra cứu phích sách rồi ghi vào phiếu yêu cầu mượn.
Khi mượn sách độc giả phải sử dụng thẻ Thư viện chứa các thông tin như: mã thẻ, họ tên, ngày
sinh, địa chỉ, email, số điện thoại và phiếu mượn đến quầy gặp trực tiếp thủ thư, thủ thư nhập
thông tin độc giả đó và chương trình hiện thị thông tin liên quan về bạn đọc đó như: Họ tên,
ngày sinh, địa chỉ, email, số điện thoại và ngày hết hạn thẻ. Nếu thẻ 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 độc giả bao gồm: tên sách, ngày trả, ngày đến hạn phải trả sách 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ượn hay 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ẻ của độc giả hợp lệ thì thủ thư sẽ cho mượn sách và đưa cho độc
giả phiếu mượn sách đồng thời thủ thư sẽ nhập thông tin vào sổ mượn như: mã phiếu mượn, tên
độc giả, tên sách…Sau đó chương trình sẽ xuất hiện thông tin về hạn trả. Mỗi cuốn sách có thể
được mượn theo ngày hoặc theo tháng do người quản lý quy định.
Nếu độc giả muốn mượn một cuốn sách, nhưng cuốn sách này bạn đọc khác đang mượn, thì
người này có thể đăng ký và chờ. Khi cuốn sách đó được trả về, thì thủ thư sẽ thông báo đến bạn
đọc đăng ký trước nhất trong danh sách những bạn đọc đang chờ mượn sách đó. 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ý.
1.1.3. Trả sách
Khi sách được trả, thủ thư nhập số phiếu mượn, thông tin liên quan tới độc giả, sách đó hiển
thị và ngày đến hạn trả sách xuất hiện trên màn hình.
Thủ thư kiểm tra tình trạng sách, nếu có hư hại, mất thì độc giả nộp tiền phạt theo quy định.
Sau khi độc giả trả sách việc trả sách được ghi nhận vào dòng ngày trả trên phiếu mượn, thủ thư
sẽ cập nhật lại trạng thái của đầu sách và lưu lại phiếu mượn để theo dõi.
Nếu quá ngày đến hạn trả sách (hạn trả) mà sách vẫn chưa được trả, thì thủ thư sẽ gửi thông
báo nhắc nhở độc giả đó trả sách.
1.2.
Báo cáo thống kê
Để quản lý Thư viện được tốt thì thủ thư thường muốn biết các thông tin thông kê sau như:
− Có bao nhiêu phiếu mượn sách của Thư viện trong năm qua?
− Những cuốn sách nào hay được mượn?
− Báo cáo số lượng mượn trong ngày
II. PHÂN TÍCH THIẾT KẾ HỆ THỐNG
2.1.
Mô hình phân cấp chức năng
Quản lý hoạt động của thư viện sách
QL Độc giả
Thêm thông tin độc
QL Sách
QL Nhân viên
QL Mượn - trả
Báo cáo thống kê
Thêm sách
Thêm NV
Kiểm tra thẻ thư viện
Thống kê số lượn
Sửa thông tin sách
Sửa NV
Kiểm tra sách
Báo cáo số lượng
giả
trong ngày
Tạo thẻ thư viện
Xóa sách
Xóa NV
Lập phiếu mượn
Báo cáo nhanh ca
Cập nhật thông tin
độc giả
Thanh lý
Kiểm tra tình trạng
sách
Ghi nhận trả
Lập phiếu nhắc nhở
2.2.
Các chức năng chính của hệ thống
2.2.1. Nhóm chức năng quản lý đầu sách
− Xem danh mục đầu sách hiện có
− Thêm, sửa, xóa thông tin đầu sách
− Cập nhật thông tin đầu sách
2.2.2. Nhóm chức năng quản lý thông tin độc giả
− Xem danh sách độc giả
− Thêm, sửa, xóa thông tin độc giả
− Cập nhật thông tin độc giả
2.2.3. Nhóm chức năng quản lý thông tin mượn – trả sách
− Xem thông tin mượn – trả sách hiện thời
− Thêm, sửa, xóa thông tin mượn – trả sách
− Cập nhật thông tin sách đến hạn trả
2.2.4. Báo cáo thống kê
− Thống kê tổng số lượt mượn trong tháng
− Thống kê số lượng độc giả đăng ký mới trong tháng
− Thống kê độc giả hết hạn thẻ thư viện
2.3.
Mô hình ERD
2.3.1. Phân tích thực thể
− Thực thể DOCGIA: Mỗi thực thể tượng trưng cho một độc giả trong quy trình mượn –
trả sách ở thư viện. Các thuộc tính: MaDocGia, HoTen, NgaySinh, DiaChi,, GioiTinh
Email, SoDienThoai, NgayTaoThe, NgayHenHan, TinhTrangThe
− Thực thể LOAIDOCGIA: Mỗi thực thể tượng trương cho một loại đọc giả trong quy
trình mượn sách ở thư viện. Các thuộc tính: MaLoaiDocGia, TenLoaiDocGia.
− Thực thể PHIEUMUON: Mỗi thực thể tượng trưng cho một phiếu mượn. Các thuộc
tính: MaPhieuMuon, NgayMuon, NgayTraDuKien, NgayTra, MaSachMuon
− Thực thể SACH: Mỗi thực thể tượng trưng cho một cuốn sách. Các thuộc tính: MaSach,
TenSach, TacGia, NamXuatBan, NgayNhap, TinhTrangSach, NamXuatBan,
NhaXuatBan,
− Thực thể LOAISACH: Mỗi thực thể tượng trương cho một loại sách, các thuộc tính:
MaLoaiSach, TenTheLoai
− Thực thể THAMSO: Chứa các quy định đối với việc mượn trả sách ở thư viện. Các
thuộc tính: SoSachMuonToiDa, SoNgayMuonToiDa
2.3.2. Mô hình ERD
2.3.3. Giải thích mối quan hệ giữa các thực thể
Tên bảng
TAIKHOAN
Tên bảng
Quan hệ
NHANVIEN
SACH
PHIEUMUON
SACHMUON
THETHUVIEN
PHIEUNHACTR
A
NHANVIEN
1-n
SACH
PHIEUNHACTR
A
SACHMUON
PHIEUMUON
SACHMUON
1-n
1-n
Giải thích
Mỗi người dùng có một tài
khoản đăng nhập duy nhất
Nhân viên quản lý thư viện
trong hệ thống
Bảng lưu giữ thông tin về sách
trong thư viện
Phiếu mượn sách: thể hiện mối
quan hệ giữa sách được mượn
với người mượn sách
Một cuốn sách khi được đem đi
mượn sẽ lưu giữ thông tin mượn
của nó
Thẻ đăng kí tài khoản mượn
sách của thư viện
Mỗi lần mượn sách thì hệ thống
sẽ lưu giữ kèm thông tin ngày
trả sách để nhắc người mượn
sách đến hẹn trả sách.
Mỗi nhân viên quản lý nhiều
phiếu nhắc trả sách
Mỗi cuốn sách có thể được đem
cho mượn nhiều lần. Các lần
mượn sách đều được lưu lại
Mỗi phiếu mượn sách có thể bao
gồm nhiều sách trong cùng một
phiếu
2.3.4. Mô hình chuẩn hóa Cơ sở dữ liệu
Thuộc tính Ban đầu
NHANVIEN
MaNV
TenNV
NgaySinh
NgayVaoLam
GioiTinh
ChucvuNV
DiachiNV
DienThoai
1F
NHANVIEN
MaNV
TenNV
NgaySinh
NgayVaoLam
GioiTinh
ChucvuNV
DiachiNV
DienThoai
2F
NHANVIEN
MaNV
TenNV
NgaySinh
NgayVaoLam
GioiTinh
ChucvuNV
DiachiNV
DienThoai
3F
NHANVIEN
MaNV
TenNV
NgaySinh
NgayVaoLam
GioiTinh
ChucvuNV
DiachiNV
DienThoai
TAIKHOAN
TenDN
Matkhau
THETHUVIEN
MaThe
TAIKHOAN
TenDN
Matkhau
THETHUVIEN
MaThe
TAIKHOAN
TenDN
Matkhau
THETHUVIEN
MaThe
TAIKHOAN
TenDN
Matkhau
THETHUVIEN
MaThe
TenSV
Gioitinh
NgaySinh
DiachiSV
DienthoaiSV
NgayTao
NgayHetHan
TenSV
Gioitinh
NgaySinh
DiachiSV
DienthoaiSV
NgayTao
NgayHetHan
TenSV
Gioitinh
NgaySinh
DiachiSV
DienthoaiSV
NgayTao
NgayHetHan
TenSV
Gioitinh
NgaySinh
DiachiSV
DienthoaiSV
NgayTao
NgayHetHan
PHIEUNHACTRA
MaPNT
MaThe
NgayLap
DonGiaPhat
MaNV
MaSach
PHIEUNHACTRA
MaPNT
MaThe
NgayLap
DonGiaPhat
MaNV
MaSach
PHIEUNHACTRA
MaPNT
MaThe
NgayLap
DonGiaPhat
MaNV
MaSach
PHIEUNHACTRA
MaPNT
MaThe
NgayLap
DonGiaPhat
MaNV
MaSach
SACH
MaSach
TenSach
TheLoai
TinhTrang
SoLuong
NXB
NamXB
TG
Hinh
SACH
MaSach
TenSach
TheLoai
TinhTrang
SoLuong
NXB
NamXB
TG
Hinh
SACH
MaSach
TenSach
TheLoai
TinhTrang
SoLuong
NXB
NamXB
TG
Hinh
SACH
MaSach
TenSach
TheLoai
TinhTrang
SoLuong
NXB
NamXB
TG
Hinh
SACHMUON
MaPM
MaSach
Tinhtrang
SLSachMuon
NgayTra
SACHMUON
MaPM
MaSach
Tinhtrang
SLSachMuon
NgayTra
SACHMUON
MaPM
MaSach
Tinhtrang
SLSachMuon
NgayTra
SACHMUON
MaPM
MaSach
Tinhtrang
SLSachMuon
NgayTra
PHIEUMUON
MaPM
MaSach
MaThe
NgayMuon
PHIEUMUON
MaPM
MaSach
MaThe
NgayMuon
PHIEUMUON
MaPM
MaSach
MaThe
NgayMuon
PHIEUMUON
MaPM
MaSach
MaThe
NgayMuon
III. XÂY DỰNG CƠ SỞ DỮ LIỆU
3.1.
Lựa chọn Hệ quản trị Cơ sở dữ liệu
Nhóm có kinh nghiệm làm việc với Hệ quản trị cơ sở dữ liệu MSSQL và Tool quản trị
CSDL Navicat. Do đó để thuận lợi nhất cho việc xây dựng hệ thống, các thành viên trong nhóm
đã nhất trí lựa chọn MSSQL Server phiên bản 2008 và Tool quản lý Cơ CSDL Navicat phiên
bản 11.
3.2.
Danh sách các bảng cùng thuộc tính
SACH
MaSach
CHAR(5) PRIMARY KEY,
TenSach
NVARCHAR(200) NOT NULL,
TheLoai
NVARCHAR(50) NOT NULL,
TinhTrang
NVARCHAR(20),
SoLuong
INT NOT NULL,
NXB
NVARCHAR(200)NOT NULL,
NamXB
NVARCHAR(20) NOT NULL,
TG
NVARCHAR(200) NOT NULL,
Hinh
IMAGE
NHANVIEN
MaNV
CHAR(5) PRIMARY KEY,
TenNV
NVARCHAR(100) NOT NULL,
NgaySinh
DATETIME NOT NULL,
NgayVaoLam
DATETIME NOT NULL,
Gioitinh
Bit NOT NULL,
ChucVuNV
NVARCHAR(50) NOT NULL,
DiaChiNV
NVARCHAR(200) NOT NULL,
DienThoai
NVARCHAR(20)
THETHUVIEN
MaThe
TenSV
CHAR(5) PRIMARY KEY,
NVARCHAR(100) NOT NULL,
Gioitinh
Bit NOT NULL,
NgaySinh
DATETIME,
DiaChiSV
NVARCHAR(200) NOT NULL,
DienThoaiSV
NVARCHAR(20),
NgayTao
DATETIME NOT NULL,
NgayHetHan
DATETIME NOT NULL,
PHIEUNHACTRA
MaPNT
CHAR(5) PRIMARY KEY,
MaThe
CHAR(5) NOT NULL,
NgayLap
DATETIME NOT NULL,
DonGiaPhat
INT NOT NULL,
MaNV
CHAR(5) NOT NULL,
MaSach
CHAR(5) NOT NULL
PHIEUMUON
MaPM
CHAR(5) PRIMARY KEY,
MaSach
CHAR(5) NOT NULL,
MaThe
CHAR(5) NOT NULL,
NgayMuon
DATETIME NOT NULL,
SACHMUON
MaPM
CHAR(5),
MaSach
CHAR(5),
TinhTrang
NVARCHAR(20),
SLSachMuon
INT NOT NULL,
NgayTra
DATETIME NOT NULL,
PRIMARY KEY
(MaPM,MaSach)
TAIKHOAN
tendn
nvarchar(100)not null primary key,
mk
nvarchar(100)not null,
nhmk
nvarchar(100) not null,
3.3.
Mô hình Cơ sở dữ liệu quan hệ sau khi xây dựng Bảng