TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
-----&-----
BÁO CÁO BÀI TẬP LỚN
MÔN HỌC: CƠ SỞ DỮ LIỆU PHÂN TÁN
ĐỀ TÀI: Thiết kế và cài đặt CSDLPT bằng HQTCSDL SQL sever thư viện
trường Đại học Công Nghiệp Hà Nội theo phân mảnh ngang trên 3 trạm phân
theo hệ đào tạo trạm 1 (DH) trạm 2 (CD) trạm 3 (conlai)
Nhóm thực hiện: Nhóm 18
Lớp:
HTTT1 – K7
Người thực hiện:
Vy Công Mạnh
Cao Tiến Tùng
Nguyễn Văn Luân
Hoàng Đình Lập
Giảng viên hướng dẫn : TH.S
NGUYỄN THỊ THANH HUYỀN
Hà Nội, ngày 15 tháng 09 năm 2015
LỜI MỞ ĐẦU
Trong thời đại ngày nay, việc nâng caochất lượng giáo dục là nhiệm vụ quan trọng
và hàng đầu của nước ta.Điều này đã làm cho sách báo trở thành công cụ và
phươngtiện chuyển giao tri thức cần thiết cho sinh viên. Sách báo lànguồn thông tin
chủ yếu để thỏa mãn nhu cầu học tập, giảng dạy, nghiên cứu vàsản xuất.Vì vậy,
việc tổ chức và khai thác tốt nguồn thông tin sách báo(tài liệu )có ảnh hưởng quyết
định tới chất lượng đào tạo bộ phận nhân lực khoa khọc kỹthuật cho đất nước.
Đứng trước những nhiệm vụ to lớn trong công cuộc đổi mới phương pháp dạyvà
học của Nhà trường, hệ thống trung tâm thư viện các trường học càng trởthành một
bộ phận trọng yếu không thể thiếu được trong nhà trường, giúp sinhviên tiếp cận và
khai thác nguồn thông tin đa dạng, phong phú. Vì vậy việc quảnlý thư viện cũng
không kém phần quan trọng đặc biệt là việc quản lý sách trongkho, quản lý việc
mượn trả cho sinh viên. Hằng ngày một số lượng lớn sáchtrong các thư viện được
sử dụng nên việc quản lý sách là rất khó khăn. Do nhucầu của chúng ta ngày càng
tăng nên việc quản lý sách trong các thư viện lạicàng khó khăn hơn.
Hệ thống quản lý thư viện được thiết kế sau đây sẽ phần nào giảiquyết khó khăn
trên. Hệ thống còn hỗ trợ các chức năng thông dụng mà nhiệmvụ của thủ thư hay
làm và hỗ trợ việc lưu trữ dữ liệu sách. Việc quản lý sách sẽtốt hơn, nhanh hơn,
chính xác và an toàn hơn. Mặc dù rất cố gắng để hoàn thànhcông việc, xong thời
gian có hạn và kinh nghiệm kiến thức chưa nhiều nên việcphân tích thiết kế còn có
nhiều thiếu xót cần được bổ xung.Vì vậy, nhóm thựchiện đề tài mong nhậnđược ý
kiến đóng góp của côvà bạn bè để đề tài ngày càng hoàn thiện hơn.
Cuối cùng thay cho lời kết, chúng em xin chân thành cảm ơn cô NGUYỄN THỊ
THANH HUYỀN đã tận tình giúp đỡ, hướng dẫn, sửa chữa trong suốt quá trình
khảo sát thiết kế đề tài này.
CHƯƠNG I. KHẢO SÁT NGHIỆP VỤ ĐỀ TÀI
I. KHẢO SÁT NGHIỆP VỤ
1. Cơ cấu tổ chức của hệ thống
Hệ thống quản lý của trung tâm thông tin thư viện trường Đại Học Công Nghiệp
Hà Nội có nhiệm vụ cung cấp tài liệu, sách tham khảo phục vụ cho quá trình học
tập và thi cử và nghiên cứu của sinh viên và giáo viên giảng dạy. Hệ thống quản lý
việc nhập và thanh lý sách, quản lý việc mượn và trả sách của sinh viên, báo cáo
thống kê theo từng thời kỳ. Trung tâm gồm có 3 phòng ban:
• Phòng giám đốc: Điều hành, giám sát hoạt động của thư viện. Giám đốc chỉ đạo
nhân viên làm việc khi nhập thêm sách mới về kho, thanh lý sách khi đã cũ, hàng
tháng chỉ đạo nhân viên làm báo cáo để có kế hoạch điều chỉnh cho hợp lý. Hàng
quý hay năm thì tổng hợp số liệu báo cáo lên
trường.
• Phòng thủ thư: Thống kê về việc mượn trả sách để báo cáo lên ban giám đốc,
quản lý số lượng sách, xử lý mượn quá hạn, sử lý việc thanh lý sách cũ, nhập thêm
sách mới khi có sách được nhập về kho.
• Phòng mượn trả: Quản lý việc mượn trả sách cho sinh viên, phòng do nhân viên
phòng thủ thư phụ trách.
2. Hoạt động của hệ thống cũ
Qua điều tra khảo sát ta thấy quy trình làm việc của hệ thống quản lý cũ như sau:
Bạn đọc có nhu cầu mượn sách ở trung tâm thì yêu cầu phải có thẻ thư viện. Để tìm
kiếm sách cần mượn, bạn đọc tra cứu các thông tin về sách trong cuốn danh mục
sách hoặc tủ tra cứu. Sau đó, bạn đọc điền thông tin vào phiếu yêu cầu tâm mượn
sách theo mẫu mà trung thư viện phát hành. Sau đó, bạn đọc bỏ phiếu yêu cầu vào
khay phiếu và chờ để xử lý yêu cầu. Nếu còn sách thì bạn nộp thẻ thư viện để kiểm
tra. Nhân viên thư viện kiểm tra thẻ hợp lệ thì sẽ viết biên lai thu tiền và viết sổ
mượn. Bạn đọc nộp tiền đặt cọc và nhận sách, nhận biên lai thu tiền. Khi độc giả
trả sách thì nhân viên thư viện kiểm tra tình trạng sách, hủy biên lai thu tiền, trả lại
tiền đặt cọc cho bạn đọc, nhận lại sách đưa vào trong kho.
3. Đánh giá hiện trạng hệ thống cũ và yêu cầu của hệ thống mới
Hệ thống quản lý còn lạc hậu, quy trình dài dòng không cần thiết, một số quy
định còn lỏng lẻo, chưa hợp lý và thỏa đáng. Việc quản lý còn mang tính giấy tờ
sổ sách nhiều, mức độ ứng dụng tin học giảm nhẹ công việc còn hạn chế.Với
thực trạng của hệ thống như trên, bài toán đặt ra là chúng ta phải xây dựng một
phần mềm quản lý thư viện. Tăng cường ứng dụng tin học, giảm bớt giấy tờ sổ
sách. Hoạt động của hệ thống thư viện linh hoạt, hiệu quả, nhanh chóng tạo điều
kiện cho sinh viên học tập và nghiên cứu.
Hệ thống quản lý cũ
Hệ thống quản lý mới
- Hệ thống quản lý còn lạc hậu.
- Hệ thống quản lý hiện đại.
- Công việc quản lý còn mang
- Công việc quản lý đơn giản,
nặng tính giấy tờ và sổ sách.
hiệu quả.
- Việc tìm kiếm, sửa chữa dữ
liệu còn thủ công tiêu tốn thời
gian, nhân công.
- Việc tìm kiếm sửa chữa dữ liệu
- Việc lưu trữ và sao lưu còn
nặng tính giấy tờ, tốn không
gian, tính bảo mật không cao.
nhanh chóng, tiết kiệm và nhân
công.
- Việc lưu trữ và sao lưu tiên
tiến, tính cơ động cao, tính bảo
mật tốt, ít tốn không gian.
II. BÀI TOÁN
Một thư viện trong trường đại học Công Nghiệp Hà Nội cần quản lý việc mượn và
trả sách của các bạn đọc thư viện. Sau đây là phần mô tả theo các nghiệp vụ
hàng ngày của thư viện:
Thủ thư gọi sách là đầu sách (dausach). Mỗi đầu sách có một ISBN để phân biệt
với các đầu sách khác. Các đầu sách sẽ có ISBN khác nhau nếu chúng được dịch
ra nhiều thứ tiếng (ngonngu) khác nhau. Một đầu sách có thể có nhiều bản sao
(cuonsach) ứng với đầu sách đó. (Mã số được đánh số tự động, bắt đầu từ 1, 2,
3, ,…). Mỗi đầu sách có một trạng thái (trangthai) cho biết cuốn sách đó có thể
cho mượn được hay không. Mỗi đầu sách của một tác giả (tacgia) và có một
bản tóm tắt nội dung (tomtat) của sách (có thể là một câu hay vài trang). Khi
bạn đọc muốn biết nội dung của cuốn sách nào, thì thủ thư sẽ xem phần tóm tắt
của tựa sách đó và trả lời bạn đọc. Hoặc bạn đọc có thể tự xem tóm tắt bằng
cách chọn chức năng Tra cứu sách của phần mềm.
Độc giả (docgia) là sinh viên hoặc cán bộ, giáo viên trong trường. Mã độc giả sẽ
tương ứng với mã thẻ sinh viên hay mã thẻ giáo viên, cán bộ trong trường và
hạn sử dụng của mã thẻ cũng chính là hạn sử dụng thẻ ở thư viện, nếu hết hạn
thẻ sinh viên thì cũng sẽ hết thẻ độc giả và không thể mượn sách ở thư viện nữa.
Đăng ký chờ mượn sách:
Nếu bạn đọc muốn mượn một cuốn sách, nhưng cuốn này bạn đọc khác đang
mượn, thì người này có thể đăng ký và chờ(dscho). Khi cuốn sách đó được trả
về, thì thủ thư phải 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 bảo sao ( cuonsach) ứng với một đầu sách (dausach) đang
được mượn hay đang đăng ký.
Mượn sách:
Mượn tại chỗ: Độc giả được mượn 2 lần/1 buổi
Mượn về nhà:
• Đối với sinh viên: Mỗi lần mượn không quá 3 quyển và số quyển sách
tối đa được mượn là 6 quyển sách. Mỗi quyển mượn không quá 14 ngày
(2 tuần) kể từ ngày mượn. Nếu quá hạn sẽ bị phạt. Trước khi hết hạn
mượn sách 1 hay 2 ngày thì thủ thư có thể thông báo đến độc giả qua
email để độc giả biết và trả sách đúng thời hạn quy định.
• Đối với cán bộ, giáo viên: Mỗi lần mượn không quá 5 quyển và số
quyển sách tối đa được mượn là 10 quyển sách. Mỗi quyển mượn không
quá 30 ngày (1 tháng) kể từ ngày mượn. Nếu quá hạn sẽ bị phạt. Trước
khi hết hạn mượn sách 1 hay 2 ngày thì thủ thư có thể thông báo đến độc
giả qua email để độc giả biết và trả sách đúng thời hạn quy định.
Khi mượn sách, bạn đọc đem phiếu yêu cầu với mã thẻ đến quầy để gặp trực tiếp
thủ thư. Thủ thư sử dụng máy để đọc mã thẻ độc giả và chương trình hiển thị
thông tin về bạn đọc mang thẻ đó như: tên, email, điện thoại, và ngày hết hạn
thẻ. Nếu thẻ nào gần sắp hết hạn hay đã hết hạn thì chương trình cũng sẽ cảnh
báo thẻ đó (bôi đỏ). 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 bạn đọc bao gồm: đầu sách (dausach), ngày trả (ngay_tra), ngày
đến hạn phải trả sách (ngay_hethan) 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 sắp đế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ề tài khoản của bạn đọc hợp lệ, thì thủ thư sẽ cho mượn sách.
Thủ thư sẽ mã đầu sách ISBN của sách đó. Chương trình sẽ xuất hiện thông tin
về ISBN, cuốn sách, thông tin tác giả, thể loại, đơn giá và trạng thái mượn. Nếu
cuốn sách này không thể mượn được thì chương trình sẽ hiển thị thông báo. Nếu
cuốn sách này có thể cho mượn thì thủ thư sẽ lập biên lai cho mượn, thu tiền đặt
cọc và cập nhật lại trạng thái của đầu sách và cuốn sách.
Quy định xử phạt:
- Quá hạn sách: Nếu quá hạn từ 1 đến 5 ngày sẽ bị phạt 2000 đồng/1 quyển.
Nếu quá hạn từ 6 ngày trở đi sẽ bị thêm 500 đồng/ngày/1 quyển.
- Tự ý mang sách ra khỏi thư viện: Bị phạt 10000 đồng/ quyển, nếu tự ý
mang ra và giữ quá 5 ngày thì bị phạt 20000 đồng/quyển.
- Mất tài liệu:
Với tài liệu dễ mua thì mua trả tài liệu mới và nộp phạt 5000 đồng/quyển. Không tự
mua được thì trả gấp 2 lần tiền giá bìa
Với tài liệu có tem chống mất trộm phải bồi hoàn thêm 18000 đồng/quyển
Với tài liệu quý phải bồi hoàn gấp 3 lần giá bìa nếu không mua được
Với tài liệu là báo, tạp chí phải bồi hoàn gấp 5 lần giá báo tạp chí
Với tài liệu rách nát, hư, cắt xé, mất trang thì tùy từng mức độ xử phạt
Trả sách:
Khi sách được trả, thủ thư kiểm tra thông tin trên sách đó và biên lai thu tiền.
Thông tin về ISBN, tựa sách, tác giả, mã số bạn đọc, tên và ngày đến hạn trả
sách xuất hiện trên màn hình. Nếu có lỗi hay mất mát gì thì sẽ bị xử phạt theo
như quy định.
Sau khi độc giả trả sách thì thủ thư sẽ trả lại tiền đặt cọc cho độc giả (độc giả sẽ
không phải trả phí mượn sách vì đã đóng tiền tăng cường thư viện cho cả kỳ rồi)
và cập nhật lại trạng thái của đầu sách và cuốn sách.
Phát sinh báo cáo thống kê:
Thủ thư sẽ muốn biết các thông tin như:
Kiểm kê, xem số lượng sách trong thư viện?
Những cuốn sách nào hay được mượn?
Những cuốn sách nào ít được mượn ?
Danh sách những độc giả hay mượn sách?
Những cuốn sách đang được mượn và do ai mượn ?
III. CƠ SỞ DỮ LIỆU TẬP TRUNG CỦA HỆ THỐNG
Dựa vào các khái niệm của lĩnh vực ứng dụng và dựa văn bản mô tả bài toán,
ta xác định được các lớp thực thể như sau:
- Lớp Tài khoản (USERNV) gồm có các thông tin sau:
Tài khoản đăng nhập (username)
Mật khẩu (pass)
Tên nhân viên (tennv)
Chức vụ (chucvu)
- Lớp Độc giả (DocGia) gồm có các thông tin:
Mã độc giả (docgiaid)
Họ tên (hoten)
Ngày lập thẻ (ngaylapthe)
Ngày sinh (ngaysinh)
Đối tượng (doituong)
Trình độ (trinhdo)
Điện thoại (dienthoai)
Email (email)
- Lớp Đầu sách (DauSach) gồm có các thông tin:
Mã đầu sách (isbn)
Tên đầu sách (tendausach)
Tóm tắt (tomtat)
Năm xuất bản (namxb)
Giá sách (dongia)
Số trang (sotrang)
Ngày nhập (ngaynhap)
Hình ảnh sách (hinhanh)
- Lớp Cuốn sách (CuonSach) gồm có các thông tin:
Mã cuốn sách (cuonsachid)
Tình trạng (tinhtrang)
Ngày nhập (ngaynhap)
- Lớp Thể loại (TheLoai) gồm có các thông tin sau:
Mã thể loại (theloaiid)
Tên thể loại (tentheloai)
- Lớp Tác giả (TacGia) gồm có các thông tin sau:
Mã tác giả (tacgiaid)
Tên tác giả (tentacgia)
- Lớp Ngôn ngữ (NgonNgu) gồm có các thông tin sau:
Mã ngôn ngữ (ngonnguid)
Tên ngôn ngữ (tenngonngu)
- Lớp Nhà xuất bản (NXB) gồm có các thông tin sau:
Mã nhà xuất bản (nxbid)
Tên nhà xuất bản (tennxb)
- Lớp Phiếu mượn (PhieuMuon) gồm có các thông tin sau:
Ngày mượn (ngaymuon)
Tiền đặt cọc (tiendatcoc)
Ngày trả (ngaytra)
- Lớp Phiếu phạt (PhieuPhat) gồm có các thông tin sau:
Mã phiếu phạt (phieuphatid)
Số tiền phạt (tienphat)
Ngày phạt (ngayphat)
- Lớp Danh sách chờ (DSCho) gồm có các thông tin sau:
Ngày đăng ký chờ (ngaydangky)
Tình trạngchờ (ttcho)
Danh sách các bảng dữ liệu
STT
Tên bảng
Ghi chú
1.
dausach
Bảng đầu sách.
2.
cuonsach
Bảng cuốn sách.
3.
docgia
Độc giả (bao gồm sinh viên và cán bộ giáo
viên).
4.
phieumuon
Lưu danh sách các cuốn sách mà độc giả
đang mượn và trả.
5.
usernv
Lưu tài khoảnsử dụng để đăng nhập vào
chương trình.
6.
ngonngu
Lưu các loại ngôn ngữ của sách.
7.
nxb
Lưu danh sách nhà xuất bảnra đầu sách.
8.
Theloai
Lưu danh sách thể loại của sách.
9.
Tacgia
Lưu danh sách tác giả của đầu sách.
10.
dscho
Lưu độc giả đăng ký mượn sách khi chưa
mượn được
11.
phieuphat
Lưu danh sách những phiếu bị phạt khi
mượn sách vi phạm quy định.
Mô tả chi tiết từng bảng dữ liệu
1)
dau
sach
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc Ghi chú
khóa
chính
1.
isbn
char(9)
2.
tendausach
nvarchar(300
)
3.
tacgiaid
int
4.
tomtat
nvarchar(max
)
5.
theloaiid
int
6.
namxb
int
7.
nxbid
int
khóa
ngoài
Nhà xuất bản
8.
ngonnguid
int
khóa
ngoài
Ngôn ngữ của sách
9.
dongia
money
Đơn vị là đồng
ngaynhap
datetime
Ngày nhập sách, lấy ngày
hệ thống
10.
Mã sách
Tên sách
khóa
ngoài
Tác giả
Tóm tắt về sách
khóa
ngoài
Thể loại sách
Năm xuất bản
11.
trangthai
yes/no
- không được phép NULL
(y/n)
- Nếu mọi cuốn sách của
1 đầu sách có tình trạng
=’no’ thì đầu sách có trạng
thái =’no’.
- Nếu 1 cuốn sách cúa 1
đầu sách có tình trạng
=’yes’ thì đầu sách có
trạng thái =’yes’.
(‘yes’ : được mượn
‘no’ : không được mượn)
Dữ liệu bảng đầu sách
2) cuonsach
STT
Thuộc tính
Kiểu dữ liệu Ràng
buộc
Ghi chú
1.
isbn
char(9)
khóa
chính
Mã sách
2.
cuonsachid
int
khóa
chính
Mã cuốn sách
3.
ttmuon
yes/no
- không được phép
NULL(yes/no)
- yes : được mượn
no : không được mượn
4.
tinhtrang
nvarchar(10
)
Tình trạng sách mới hay
cũ
5.
ngaynhap
datetime
Ngày nhập sách
Dữ liệu bảng cuốn sách
3) docgia
STT
Thuộc tính
Kiểu dữ liệu
Ràng
buộc
Ghi chú
1.
docgiaid
char(10)
khóa
chính
Mã thẻ sinh viên,
giáo viên
2.
Hodocgia
nvarchar(30)
Họ đệm
3.
tendocgia
nvarchar(15)
Tên độc giả
4.
ngaylapthe
datetime
Ngày lập thẻ lấy
theo thẻ sinh viên,
gióa viên
5.
ngaysinh
datetime
Ngày sinh
6.
doituong
nvarchar(10)
Đối tượng là sinh
viên hay giáo viên
7.
trinhdo
nvarchar(20)
Trình độ: cao
đẳng, đại học,…
8.
ngayhanthe
datetime
Ngày hết hạn thẻ
9.
email
nvarchar(50)
Địa chỉ mail
dienthoai
varchar(12)
Điện thoại
10.
Dữ liệu bảng độc giả
4) phieumuon
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc Ghi chú
1.
ngaymuon
datetime
khóa
chính
Ngày mượn sách
2.
isbn
char(9)
khóa
chính
Mã sách
3.
cuonsachid
int
khóa
chính
mã cuốn sách
4.
docgiaid
char(10)
khóa
ngoài
mã độc giả
5.
ngayhethan
datetime
ngày hết hạn
mượn sách
6.
tiendatcoc
money
Tiền đặt cọc
7.
ngaytra
datetime
Ngày trả sách
8.
tienphat
money
Tiền phạt nếu có
9.
username
varchar(20)
khóa
ngoài
Người lập phiếu
ghichu
10.
nvarchar(500
)
Ghi chú
Dữ liệu bảng phiếu mượn
5) usernv
STT
Thuộc tính
Kiểu dữ liệu Ràng buộc
Ghi chú
1.
Username
varchar(20)
Mã đăng nhập
2.
Pass
nvarchar(20
)
Mật khẩu
3.
tennv
nvarchar(50
)
Tên người sử dụng
4.
chucvu
nvarchar(20
)
Chức vụ
khóa chính
Dữ liệu bảng tài khoản
6) ngonngu
STT
Thuộc tính
Kiểu dữ liệu Ràng buộc
1.
ngonnguid
int
2.
tenngonngu
nvarchar(50
)
Ghi chú
khóa chính Mã ngôn ngữ
Dữ liệu bảng ngôn ngữ
Tên ngôn ngữ
7) Nxb
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc
Ghi chú
1.
nxbid
int
khóa chính
Mã nhà xuất bản
2.
tennxb
nvarchar(100
)
Tên nhà xuất
bản
Dữ liệu bảng nhà xuất bản
8) theloai
STT
Thuộc tính
Kiểu dữ liệu Ràng buộc Ghi chú
1.
theloaiid
int
2.
tentheloai
nvarchar(50
)
khóa
chính
Mã thể loại
Tên thể loại
Dữ liệu bảng thể loại
9) tacgia
STT
Thuộc tính
Kiểu dữ liệu Ràng buộc
Ghi chú
1.
tacgiaid
int
Mã tác giả
2.
tentacgia
nvarchar(50
)
khóa chính
Tên tác giả
Dữ liệu bảng tác giả
10) dscho
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc
Ghi chú
1.
docgiaid
char(10)
khóa chính
Mã độc giả
2.
isbn
char(9)
khóa chính
Mã sách
3.
ngaydangky
datetime
Ngày đăng ký
4.
ttcho
yes/no
trạng thái chờ
5.
ghichu
nvarchar(200
)
Dữ liệu bảng danh sách chờ
Ghi chú
11) phieuphat
STT
Thuộc tính
Kiểu dữ liệu
Ràng buộc Ghi chú
phieuphatid
int
khóa chính Mã phiếu phạt
docgiaid
char(10)
khóa ngoài Mã độc giả
isbn
char(9)
khóa ngoài Mã sách
cuonsachid
int
khóa ngoài Mã cuốn sách
songayquahan datetime
Số ngày quá hạn
tienhong
money
Tiền sách bị
hỏng
ttmat
boolean
trạng thái mất
nếu ‘true’ là
sách bị mất,
ngược lại ‘no’ là
không mất
sachquy
boolean
Có phải sách
quý
cotem
boolean
Có phải sách có
tem không?
tongtien
money
Tổng số tiền
username
varchar(20)
ghichu
nvarchar(500
)
khóa ngoài Mã đăng nhập
nhân viên
Dữ liệu bảng phiếu phạt
Ghi chú