+ SACH THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC MASACH Mó sỏch Char 10 Chữ và số Khoỏ chớnh
MATL Mó thể loại char 8 Chữ và
số
TENS Tờn sỏch nchar 100 Chữ và
số
TENTG Tờn tỏc giả Char 50 Chữ
NAMXB Năm xuất
bản int 4 Sụ
LANXB Lần xuất
bản int 50 Số
NXB Nhà xuất
bản Char 50 Chữ
TIENPHAT Tiền phạt Money
SOTRANG Số trang int Chữ và
số GIASACH Giỏ sỏch Money 1000 Chữ và
+ THELOAI THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC
MATL Mó thể loại Char 8 Chữ và
số Khoỏ chớnh SOTHE Tờn thể loại nchar 20 Chữ + PHIEUTHU THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC
SOPHIEU Số phiếu Char 20 Số Khoỏ chớnh
SOTHE Số thẻ nchar 20 Chữ và
số
TENPHIEU Tờn phiếu Char 20 Chữ
LIDO Lớ do Char 20 Chữ
SOTIEN Số tiốn int 20 Số
NGAYLAPTHE Ngày lạp
+ BANDOC THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC SOTHE Mó độc giả Char 10 Số vả chữ Khoỏ chớnh HOTEN Tờn độc giả Char 30 Chữ
DIACHI Địa chỉ Char 50 Số và
chữ
DIENTHOAI Điện thoại int 20 Số
LANCAP Làn cấp Char 5 số
NGAYCAP Ngày cấp Datetime 50 Số
NGAYHH Ngày hết
hạn Datetime 50 số
EMAIL Email 50 Số và
+ PHIEUMUON THUỘC TÍNH DIỄN GIẢI KIỂU KÍCH THƯỚC MIỀN GIÁ TRỊ RÀNG BUỘC
SOPHIEU Số phiếu Char 10 số Khoỏ chớnh
SOTHE Số thẻ Char 10 Chữ và
số Khoỏ ngoại
MASACH Mó sỏch Char 20 Chữ và
số Khúa ngoại
SOTIEN Số tiền money 50 Số
NGAYMUON Ngày
mượn Datetime NGAYTRA Ngày trả Datetime d. Ràng buộc toàn vẹn dữ liệu :
+ Cỏc ràng buộc khoỏ chớnh :
(RB1)MASACH là khoỏ chớnh của SACH (RB2)SOTHE là khoỏ chớnh của DOCGIA
(RB3)SOPHIEU là khoỏ chớnh của PHIEUMUON (RB4)MATL là khoỏ chớnh của THELOAI
(RB5)SOPHIEU là khoỏ chớnh của PHIEUTHU
+ Cỏc ràng buộc khoỏ ngoại :
(RB6) SOTHElà khoỏ ngoại của PHIEUMUON tham khảo từ BANDOC
(RB7) MASACH là khoỏ ngoại của PHIEUMUON tham khảo từ SACH
(RB8) Với ∀pm ∈ PHIEUMUON, thỡ ∃ s ∈ SACH & ∃ bd
∈ BANDOC sao cho pm.MASACH = s.MASACH và
pm.SOTHE = dg. BANDOC .
+ Cỏc ràng buộc về giỏ trị :
(RB9) Với ∀s ∈ SACH => s[SOLUONG] > 0
(RB10) Với ∀s ∈ SACH => s[SOMAT] >= 0
(RB11) Với ∀s ∈ SACH => s[GIATIEN] > 0
(RB12) Với ∀s ∈ SACH => s[SOTRANG] > 0
(RB13) Với ∀pm ∈ PHIEUMUON => pm[TIENPHAT] >= 0
+ Ràng buộc về ngữ cảnh :
(RB14) Ngày-thỏng- năm làm thẻ đọc sỏch < ngày- thỏng- năm hết hạn thẻ đọc sỏch.
e. Thiết kế giao diện và xử lý :
Mụ tả chi tiết cỏc xử lý :
* Bảng cỏc xử lý lưu trữ :
STT TấN DỮ LIỆU
VÀO ĐIỀU KIỆN RÀNG BUỘC
1 Nhập sỏch Sỏch mới Mó sỏch khụng được trựng lặp 2 Nhập thể loại sỏch Thể loại mới Mó thể loại khụng được trựng lặp 3 Nhập độc giả Nhập độc giả mới Mó độc giả khụng được trựng lặp
4 Nhập phiếu mượn Số phiộu mượn mới
Số phiếu mượn khụng được trựng lặp
* Bảng cỏc xử lý tra cứu :
STT TấN XỬ Lí TIấU CHUẨN TRACỨU YấU CẦU
1 Tỡm sỏch
Dựa vào mó sỏch, tờn sỏch, thể loại sỏch.
Nhập vào một trong những tiờu chuẩn tra cứu bờn.
2 Tỡm độc giả
Dựa vào số thẻ độc giả, họ tờn độc giả.
Nhập vào một trong những tiờu chuẩn tra cứu bờn.
b. Thiết kế giao diện :
Một số Form của chương trỡnh: + Form chớnh :
Danh sỏch cỏc xử lý :
STT MÃ SỐ BIẾN CỐ í NGHĨA
1 XL1 Click vào Đăng nhập thuộc menuHệ thống
Đăng nhập vào hệ thống
2 XL2 Click vào Đổi mật khẩu thuộc menuHệ thống
Đổi mật khẩu cho người sử dụng
3 XL3 Click vào Đăng ký thuộc menuHệ thống
Đăng ký làm thành viờn
4 XL4 Click vào Thụng tin hệ thống menuHệ thống
Xem thụng tin hệ thống
5 XL5 Click vào Thoỏt thuộc menuHệ thống
Thoỏt khỏi hệ thống
6 XL6
Click vào Cập nhật thể loại thuộc menuQuản lý sỏch
Thờm, sửa, xúa thể loại sỏch
7 XL7 Click vào Cập nhật sỏch thuộc menuQuản lý sỏch Thờm, sửa, xúa sỏch 8 XL8
Click vào Tra cứu sỏch thuộc menuQuản lý sỏch
Tỡm kiếm sỏch
9 XL9
Click vào Cấp thẻ độc giả thuộc menuQuản lý độc giả
Thờm hoặc sửa độc giả
10 XL10
Click vào Hủy thẻ độc giả thuộc menuQuản lý độc giả
Xúa độc giả
11 XL11
Click vào Tỡm kiếm độc giả thuộc
menuQuản lý độc giả
thuộc menuMượn-trả sỏch 13 XL13 Click vào Trả sỏch thuộc menuMượn-trả sỏch Thu hồi sỏch 14 XL14 Click vào Nhắc trả sỏch thuộc menuMượn-trả sỏch
Xem danh sỏch độc giả mượn sỏch quỏ hạn
+ Form Đăng nhập
Danh sỏch cỏc xử lý :
STT MÃ SỐ BIẾN CỐ í NGHĨA
1 XL1 Đăng nhập Đăng nhập vào hệ thống
2 XL2 Thoỏt Khụng đăng nhập hệ thống
Danh sỏch cỏc xử lý :
STT MÃ SỐ BIẾN CỐ í NGHĨA
1 XL1 Thờm Thờm sỏch vào CSDL
2 XL2 Sửa Sửa thụng tin về sỏch
3 XL3 Xúa Xúa sỏch trong CSDL
4 XL5 Lưu Lưu thụng tin sỏch khi thờm hoặc
sửa sỏch
5 XL6 Hủy bỏ Hủy lựa chọn thờm hoặc sửa sỏch
6 XL7 Thoỏt Trở ra màn hỡnh chớnh
Danh sỏch cỏc xử lý :
STT MÃ SỐ BIẾN CỐ í NGHĨA
1 XL1 Cấp mới Thờm độc giả vào CSDL
2 XL2 Sửa Sửa thụng tin về độc giả
3 XL3 Xúa Xúa độc giả trong CSDL
4 XL5 Lưu Lưu thụng tin độc giả khi thờm
hoặc sửa độc giả
5 XL6 Hủy bỏ Hủy lựa chọn thờm hoặc sửa độc
giả
+ Form thờm thể loại:
Danh sỏch cỏc xử lý :
STT MÃ SỐ BIẾN CỐ í NGHĨA
1 XL1 Thờm Thờm Thể loại sỏch vào CSDL
2 XL2 Sửa Sửa thụng tin về Thể loại sỏch
3 XL3 Xúa Xúa Thể loại sỏch trong CSDL
4 XL5 Lưu Lưu thụng tin Thể loại sỏch khi
thờm hoặc sửa độc giả
5 XL6 Hủy bỏ Hủy lựa chọn thờm hoặc sửa Thể
loại sỏch
Chương 3: CÀI ĐẶT CHƯƠNG TRèNH
1. Một số modul tiờu biểu giải quyết bài toỏn.a. Đăng nhập hệ thống: a. Đăng nhập hệ thống:
b. Module Tỡm kiếm:
2. Kiểm thử hệ thống.
Tớch hợp kiểm tra toàn bộ chương trỡnh sem cú lỗi ghỡ xảy ra khụng
CHƯƠNG IV : KẾT LUẬN 1.Nhận xột và tự đỏnh giỏ.
Đề tài quản lý thư viện là một đề tài khỏ thỳ vị về việc quản lý sỏch, đõy là một đề tài nghiờn cứu để ứng dụng trong cụng tỏc quản lý sỏch mà
Trong quỏ trỡnh chỳng em tỡm hiểu, phõn tớch đề tài này dưới sự chỉ bảo của thầy hướng dẫn và thày cụ trường Đại học Phương Đụng cựng cỏn bộ Thư viện. Em đó hiểu được cỏc cụng việc cần phải làm trong một thư viện. Vỡ vậy với chương trỡnh quản lý thư viện của em mặc dự chỉ cú thể giải quyết một phần rất nhỏ nhưng đú chớnh là nền tảng cho việc quản lý sỏch trờn mỏy tớnh. Xong với hy vọng nú sẽ được tiếp tục phỏt triển và hoàn thiện để cú thể giải quyết được nhiều vấn đề trong việc quản lý sỏch.
Đó làm :
Chương trỡnh chỉ quản lý được sỏch và độc giả là sinh viờn. * Đối với người quản trị : Cú thể truy xuất vào toàn bộ hệ thống.
- Thay đổi thụng tin của riờng mỡnh. - Cập nhật nhõn viờn sử dụng.
- Cập nhật sỏch, cập nhật độc giả.
- Tra cứu sỏch, tra cứu độc giả theo nhiều thuộc tớnh. - Thống kờ theo nhiều tiờu chuẩn khỏc nhau
* Thủ thư :
- Xem thụng tin sỏch Xem thụng tin độc giả. - Cập nhật mượn trả sỏch.
- Tra cứu sỏch theo nhiều thuộc tớnh khỏc nhau. * Độc giả :
- Tra cứu sỏch theo nhiều thuộc tớnh khỏc nhau. Chưa làm :
- Chưa quản lý được cỏc độc giả khụng phải là sinh viờn. - Chưa quản lý được sỏch thuộc phũng đọc sau đại học. - Ch ưa quản lý được tư liệu là băng đĩa, bỏo, tạp trớ…
2. Hướng phỏt triển của đề tài :
Chương trỡnh sẽ được mở rộng ra với nhiều loại tài liệu khỏc nhau như băng, đĩa, bỏo, tạp trớ…
Quản lý nhiều đối tượng độc giả khỏc nhau.
Do trỡnh độ và thời gian làm luận văn hiện nay của em cú hạn, chương trỡnh quản lý thư viện chỉ dừng lại ở một số chức năng. Chắc chắn cũn nhiều thiếu sút, hạn chế. Đồng thời chỳng em cũng nhỡn thấy những gỡ đó làm được và chưa làm được trong quỏ trỡnh tỡm hiểu về vấn đề quản lý thư viện. Trong quỏ trỡnh bảo vệ nếu được sự đồng tỡnh ủng hộ và gúp ý của quý thầy cụ, đề tài chỳng em sẽ được hoàn thiện hơn trong tương lai.
PHỤ LỤC
Một số code xử lý
Code kết nối cơ sỏ dữ liệu
Public Sub Ketnoi() On Error Resume Next
Set Cnn = CreateObject("ADODB.Connection") Set Rcs = CreateObject("ADODB.Recordset")
Str = "provider=microsoft.jet.oledb.4.0;data source=" & VBA.Trim(App.Path & "/datas.mdb")
Cnn.Open Str, "admin", ""
DataEnv.Dulieu.ConnectionString = Str DataEnv.Dulieu.Open
End Sub
Code dang nhập
Private Sub cmdDangnhap_Click() On Error Resume Next
If (VBA.Trim(txtTen.Text) = "" Or VBA.Trim(txtMk.Text) = "") Then MsgBox " Bạn phải nhập đầy đủ thông tin !", vbExclamation, "Thông báo"
Exit Sub End If
Str = "select * from tbl_admin where name='" &
VBA.Trim(txtTen.Text) & "' and pas='" & VBA.Trim(txtMk.Text) & "'" If Rcs.State = adStateOpen Then Rcs.Close
Rcs.Open Str, Cnn, adOpenKeyset, adLockPessimistic
MsgBox "Bạn nhập sai tên hoặc mật khẩu!", vbExclamation, "Thông báo"
Exit Sub End If
MsgBox "Đăng nhập thành công!", vbInformation, "Thông báo" Call LogIn
Unload Me End Sub
Code Tỡm kiếm
Private Sub cmdTim_Click() Select Case Tim
Case 0
Str = "select a.masach, a.tensach, b.tentheloai, a.tentacgia, a.nxb, a.namxb, a.lanxb, a.tienphat, a.giasach, a.soluong from(tbl_sach as a INNER JOIN tbl_theloai as b ON a.matheloai=b.matheloai) where a.masach like '%" & VBA.Trim(T1.Text) & "%'"
Case 1
Str = "select a.masach, a.tensach, b.tentheloai , a.tentacgia, a.nxb, a.namxb, a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.tentacgia like '%" & VBA.Trim(T1.Text) & "%'"
Case 2
Str = "select a.masach, a.tensach, b.tentheloai, a.tentacgia, a.nxb, a.namxb, a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.nxb like '%" & VBA.Trim(T1.Text) & "%'"
Str = "select a.masach, a.tensach, b.tentheloai, a.tentacgia,
a.nxb,a.namxb, a.lanxb, a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.tensach like '%" & VBA.Trim(T1.Text) & "%'"
Case 4
Str = "select a.masach, a.tensach,b.tentheloai, a.tentacgia,
a.nxb,a.namxb, a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where b.tentheloai like '%" & VBA.Trim(T1.Text) & "%'"
Case 5
Str = "select a.masach,a.tensach,b.tentheloai, a.tentacgia,a.nxb, a.namxb,a.lanxb,a.tienphat,a.giasach,a.soluong from (tbl_sach as a inner join tbl_theloai as b on a.matheloai=b.matheloai) where a.namxb like '%" & VBA.Trim(T1.Text) & "%'"
End Select
lst.ListItems.Clear
If (Rcs.State = adStateOpen) Then Rcs.Close
Rcs.Open Str, Cnn, adOpenKeyset, adLockPessimistic If (Rcs.RecordCount <= 0) Then Exit Sub
Dim I As Integer, lis As ListItem Rcs.MoveFirst
For I = 0 To Rcs.RecordCount - 1
Set lis = lst.ListItems.Add(, , Rcs.Fields(0).Value) lis.SubItems(1) = Rcs.Fields(1).Value
lis.SubItems(2) = Rcs.Fields(2).Value lis.SubItems(3) = Rcs.Fields(3).Value lis.SubItems(4) = Rcs.Fields(4).Value
lis.SubItems(5) = Rcs.Fields(5).Value lis.SubItems(6) = Rcs.Fields(6).Value lis.SubItems(7) = Rcs.Fields(7).Value lis.SubItems(8) = Rcs.Fields(8).Value lis.SubItems(9) = Rcs.Fields(9).Value Rcs.MoveNext Next End Sub
TÀI LIỆU THAM KHẢO
[1]- “Kỹ xảo lập trỡnh VB6”, Nguyễn Trường Sinh, NXB Lao Động – Xó Hội.
[2]- “Phõn tớch thiết kế hệ thống thụng tin quản lý”, Thạc sĩ Đinh Thế Hiển, NXB Thống Kờ.
[3]- “Những bài thực hành VB6”, VN-GUIDE, NXB Thống Kờ. [4]- “Lập trỡnh VB6 ”, Nguyễn Phương Lan, NXB Giỏo Dục.
[5]- “ Những bài thực hành HTML”, VN-GUIDE, NXB Thống Kờ. [6]- “Tự học Microsoft Access”, Nguyễn Văn Hoàng, NXB Thống Kờ.