Quản lý thư viện
Trang 1Lời giới thiệu
*****
Cách mạng tin học đã và đang làm xoay chuyển và xâm nhập mạnh mẽvào mọi lĩnh vực khác nhau trong đời sống nh: kinh tế, văn hoá và xã hội từnhững năm cuối của thế kỷ 20
Thực tế trong mọi thời đại, thông tin luôn tồn tại và đợc sử dụng thờngxuyên trong hoạt động kinh tế –xã hội Có nhiều loại thông tin: từ các thông tinthông thờng nh những thông tin thờng nhật diễn ra hàng ngày đến những thôngtin mang tính đặc biệt nh thông tin về một sự kiện nào đó Song dù là loại thôngtin nào đi chăng nữa thì tất cả chúng đều cần thiết cho một xã hội phát triển, nókhông thể thiếu đợc trong quá trình sống và hoạt động của con ngời Khi xã hộingày càng phát triển thì thông tin cũng ngày càng trở nên cần thiết, nó có vai tròquan trọng là cơ sở cho các hoạt động
Trong công cuộc đổi mới không ngừng của khoa học kỹ thuật, nhiều lĩnhvực đã và đang phát triển vuợt bậc, đặc biệt là lĩnh vực phát triển thông tin, màthành công lớn nhất là sự ra đời của máy tính Ngay từ lúc khai sinh máy tính đã
là công cụ, phơng tiện trợ giúp đắc lực nhất của con ngời trong mọi lĩnh vực Vìthế máy tính không thể thiếu đợc trong cuộc sống con ngời cũng nh trong côngviệc kinh doanh
Trớc đây khi cha có mặt của máy tính (Máy tính cha ra đời) đứng trớcthực tế con ngời phải làm cả bằng tay và mọi thông tin đợc lu trữ hoàn toàn trên
sổ sách vì thế mức độ chính xác và tính bảo mật cha cao, con ngời phải vất vảtrong công việc quản lý Chính vì thế máy tính đã ra đời và việc quản lý bằngmáy tính đã trở nên cần thiết đối với nhu cầu thực tế
Ngày nay,với công nghệ, kỹ thuật mới, hiện đại đang phát triển từng ngày,từng giờ và đợc áp dụng rộng rãi vào tất cả các hoạt động của con ngời Vì vậyviệc ứng dụng các phần mềm trong quản lý đã trở nên quen thuộc với các doanhnghiệp, công ty, trờng học và th viện…Để giúp đỡ ngĐể giúp đỡ ngời sử dụng dễ dàng quản lý
và tìm kiếm các thông tin cần thiết về độc giả và để ngời sử dụng (tức là độc giả)
dễ dàng tìm kiếm các thông tin về các loại sách báo có chủ đề khác nhau nhkhoa học kỹ thuật, văn học, tạp chí, tin học…Để giúp đỡ ngTrong th viện Và để đáp ứng nhucầu trên tôi đã đi đến việc nghiên cứu và thiết kế đề tài “ Quản lý th viện ” sửdụng ngôn ngữ Visual Basic để viết chơng trình này
Trang 2Đây là lần đầu tiên mà tôi thực hiện một công việc có tính chất nghiên cứutrong một lĩnh vực tuy không phải là mới nhng với một thời gian ngắn và sự hạnchế về kiến thức, mặc dù tôi đã cố gắng hết sức với sự nỗ lực của bản thân trongviệc áp dụng những kiến thức đã học ở trờng, kết hợp với các tài liệu tham khảo
và những kiến thức từ thực tế cùng với sự hớng dẫn tận tình của thầygiáo:Nguyễn Đức D, tôi đã hoàn thành đề tài ở mức cố gắng nhất Tuy nhiên báocáo này không tránh khỏi những thiếu sót Vì vậy tôi kính mong nhận đợc sự chỉgiáo, bổ sung, sửa chữa, giúp đỡ nhiệt tình, những đóng góp và sự cảm thông sâusắc của các thầy cô giáo cũng nh bạn bè để báo cáo này đợc hoàn thiện hơn khi
áp dụng trong thực tiễn
Tôi mong rằng với đề tài mà tôi nghiên cứu sẽ phần nào đáp ứng đợc thực
tế hiện nay của xã hội chúng ta
Một lần nữa tôi xin chân thành cảm ơn
Thị Linh Phơng
Phần I
Giới thiệu về Visual Basic và hệ quản trị cơ sở
dữ liệu
1.1 Giới thiệu khái quát về hệ quản trị cơ sở dữ liệu
Việc lựa chọn ngôn ngữ phù hợp đóng vai trò quan trọng đối với việcthành công của chơng trình Các tiêu chí dẫn đến sự lựa chọn ngôn ngữ lập trìnhcũng dựa trên những yếu tố khác nhau nh mức độ thuận tiện sử dụng, thời gian
sự mềm dẻo linh hoạt, khả năng tơng thích, khả năng phát triển…Để giúp đỡ ngNhững u điểmcơ bản và đặc trng của hệ cơ sở dữ liệu Visual Basic:
Trang 3-Tiện ích đợc hỗ trợ, để đạt kết quả cao nhất.
-Là một hệ thống lập trình hớng sự kiện,thuận tiện trong việc nâng caokhả năng lập trình và đáp ứng hầu hết các nhu cầu về viết các bài tập lớn
1.1.1 Khái niệm cơ bản về dữ liệu và hệ cơ sở dữ liêu:
Để dễ dàng cho việc giải thích các khái niệm, trớc hết xem xét hệ thốngbán vé máy bay bằng máy tính.Dữ liệu lu trữ trong máy tính bao gồm thông tin
về hành khách, chuyến bay, đờng bay.v.v…Để giúp đỡ ngMọi thông tin về mối quan hệ này đ
-ợc biểu diễn trên máy thông qua việc đặt chỗ của hành khách.Vậy làm thế nào
để biểu diễn đợc dữ liệu đó và để đảm bảo cho hành khách đi đúng chuyến??
Dữ liệu nêu trên đợc lu trong máy theo một quy định nào đó, đợc gọi làcơ sở dữ liệu ( CSDL – Database)
Phần chơng trình để có thể xử lý, thay đổi dữ liệu này gọi là hệ quản trịcơ sở dữ liệu ( Database Management System ) Theo nghĩa này, HQT CSDL cónhiệm vụ rất quan trọng nh là một bộ diễn dịch ( Interpreter) với ngôn ngữ bậccao nhằm giúp ngời sử dụngcó thể dùng đợc hệ thống mà ít nhiều không cầnquan tâm đến thuật toán chi tiết hoặc biểu diễn trong máy
Việc tổ chức thông tin một cách hợp lý theo một nguyên tắc nào đó để
dễ dàng quản lý chính là t tởng của việc tạo ra các mô hình cơ sở dữ liệu
Hiện có nhiều loại mô hình cơ sở dữ liệu đang đợc sử dụng nh : mô hìnhquan hệ, mô hình mạng (Client/server), mô hình phân cấp, mô hình phân tán…Để giúp đỡ ngMỗi mô hình có một u điểm riêng song phổ biến hơn cả là mô hình quan hệ,vìmô hình dữ liệu quan hệ có tính độc lập dữ liệu rất cao, dễ dàng sử dụng, tốithiểu đợc việc trùng lặp, d thừa dữ liệu, xác định và giải quyết đợc sự nhập nhằngtrong dữ liệu
1.1.2 Kiến trúc một cơ sở dữ liệu:
CSDL mức vật lý:CSDL vật lý là các tệp dữ liệu theo một cấu trúc nào
đó đợc lu trên các thiết bị nhớ thứ cấp(nh đĩa từ,băng từ …Để giúp đỡ ng)
CSDL mức khái niệm : CSDL mức khái niệm là một sự biểu diễn trừu ợng của CSDL vật lý (còn có thể nói tơng đơng : CSDL mức vật lý là sự cài đặt
t-cụ thể của CSDL mức khái niệm)
Khung nhìn: Các khung nhìn (View) là cách nhìn,là quan niệm của từngngời sử dụng đối với CSDL mức khía niệm.Sự khác nhau giữa khung nhìn vàmức khái niệm thực chất là không lớn
Ví dụ: Trong một CSDL về Quản lý tài chính trong một cơ quan
Các kế toán viên sẽ có một mức nhìn các dữ liệu chỉ trong phạm vi phầnviệc của họ, họ đợc phép cập nhật, thay đổi dữ liệu thuộc phần công việc mà họ
Trang 4đợc giao Kế toán trởng thì có một mức nhìn tổng quát, họ đợc phép biết mọi dữliệu của toàn bộ các thàng viên trong hệ thống …Để giúp đỡ ng
b Khoá:
Một khoá chính ( Primary ) là một giá trị dùng để phân biệt bản ghi nàyvới các bản ghi khác Giá trị của khoá chính trong mỗi bản ghi là duy nhất trongcả bảng
Ngoài các khoá chính ra còn có khoá ngoài
(Foreign key ) Khoá ngoài là giá trị dùng để liên kết giữa các bảng vàthiết lập mối quan hệ giữa các bản ghi trong các bảng khác nhau
Ví dụ : Trong một CSDL quản lý về các cá nhân trong một cơ quan, ngời
ta thờng dùng một mã gọi là mã nhân viên ( MNV) làm khoá chính, thông tincần quản lý về các nhân viên bao gồm các thông tin về : Sơ yếu, quá trình họctập, lơng…Để giúp đỡ ng
Lúc này cần chia dữ liệu thành các bảng khác nhau theo các chủ đề thôngtin cần quản lý, ở các bảng này đều có một trờng là MNV và sẽ có các dạngquan hệ nh sau:
MNV
Trang 5Một nhân viên chỉ có một mã duy nhất
Một nhân viên chỉ có một lơng
Một nhân viên có thẻ có nhiều ngoại ngữ
Vì thế khi ta thực hiện các phép thay đổi hoặc xáo một bản ghi ứng vớimột mã nhân viên, nhờ các “Quan hệ” mà các bản ghi ở các bản khác ứng vớimã nhân viên đó đợc cập nhật hay xoá bỏ ( tránh tình trạng bị dị thờng hoặc dthừa dữ liệu)
c Các phép tính trên CSDL dạng quan hệ:
Phép chèn (INSERT):
Mục đích của phép chèn là thêm một bộ phận vào một quan hệ nhất định.Kết quả của phép tính này có thể gây ra một số sai sót với những lý do sau:
Bộ mới đợc thêm vào là không phù hợp với lợc đồ quan hệ cho trớc
Một số giá trị của một số thuộc tính nằm miên giá trị của thuộc tính đó
Giá trị khoá của bộ mới có thể là giá trị đã có trong quan hệ đang lu trữ
Do vậy, tuỳ từng hệ cụ thể sẽ có những cách khắc phục riêng
Phép loại bỏ (DEL):
Là phép xoá một bộ ra khỏi một quan hệ cho trớc
Phép thay đổi (CHANGE):
Trong thực tế, không phải lúc nào cũng chỉ dùng phép chèn hoặc loại bỏ
đi một bộ mà nhiều khi chỉ cần sửa đổi một số giá trị nào đó tại một số thuộctính, lúc đó cần thiết phải sử dụng phép thay đổi
Phép thay đổi là phép tính rất thuận lợi, hay dùng.ta cũng có thể khôngdùng phép thay đổi mà dùng tổ hợp của phép loại bỏ và phép chèn thêm một bộmới.Do vậy, những sai sót của phép thay đổi cũng có thể xảy ra tơng tự nh phépchèn và phép loại bỏ
1.1.4 Lý thuyết thiết kế CSDL dạng quan hệ:
Làm thế nào để thiết kế một CSDL cho tốt?
Khảo sát ví dụ quan hệ cung cấp (S):S(Tên, địa chỉ, mặt hàng, giá cả).Xem xét các vấn đè nảy sinh nh sau:
Trang 6 D thừa dữ liệu: Dễ dàng thấy rằng mỗi khi xuất hiện tên nhà cung cấp thì
địa chỉ của ông ta lặp lại trong quan hệ
Không nhất quán: Là hệ quả của việc d thừa dữ liệu.Ví dụ khi sửa đổi
địa chỉ của nhà cung cấp ở một bộ nào đó còn các bộ khác vẫn giữ nguyên.Khi
đó xảy ra trong nhà cung cấp lại không có địa chỉ duy nhất
Dị thờng khi thêm bộ: Một nhà cung cấp chẳng cung cấp một mặt hàngnào cả, khi đó không thể đa địa chỉ, tên nhà cung cấp làm một bản ghi (Bộ) vàoquan hệ
Dị thờng khi xoá bộ không thể xoá tất cả các mặt hàng đợc cung cấp bởimột nhà cung cấp,vì mặt hàng đó có thể đợc nhiều ngời cùng cung ứng
Do vậy, quan hệ S nêu trên có thể đợc phân chia thành những quan hệkhác nhau nhằm tránh tất cả những điều đã nêu nhằm đạt đợc một lợc đồ CSDL(Tập hợp các lợc đồ quan hệ) sao cho tốt hơn
Khái niệm về phụ thuộc hàm (trong một quan hệ) là một quan niệm cótầm quan trọng hết sức lớn với việc thiết kế mô hình dữ liệu, ở đây sẽ trình bàykhái niệm một cách hình thức:
Phụ thuộc hàm: Với mọi giá trị của khoá tại mọi thời điểm đuợc xét chỉ cómột giá trị cho từng thuộc tính khác trong bảng
Do việc cập nhật dữ liệu (Qua phép tính chèn, loại bỏ và thay đổi) gây nênnhững dị thờng cho nên các quan hệ cần thiết phải đợc biến đổi thành các dạngphù hợp Quá trình đó đợc xem là quá trình chuẩn hoá.Quan hệ đợc chuẩn hoá làquan hệ trong đó mỗi miền của thuộc tính chỉ chứa những giá trị nguyên tố tức làkhông phân nhỏ đợc nữa và do đó mỗi giá trị trong quan hệ cũng là nguyên tố
VD: Cho CSDL gồm hai quan hệ THI và SINHVIEN
Trang 7SINHVIEN MONTHI MSSV TEN TUOI DIACHI DIEM
Trong quá trình cập nhật và lu trữ dữ liệu xuất hiện những vấn đề sau:
ở quan hệ SINHVIEN, việc lu trữ thông tin một sinh viên ví dụ nh LANphảI lặp lại ba lần địa chỉ, ba lần tuổi Rõ ràng là quá d thừa
Quá trình cập nhật dữ liệu gây nên những cản trở trong việc thay đổi(phải thay đổi nhiều lần cho một ngời tốn kém thời gian), chèn (nếu muốnchèn thêm một sinh viên vào quan hệ thì không đợc vì không rõ sinh viên đó đãthi cha),loại bỏ dữ liệu (VD:Muốn huỷ bỏ môn thi thứ năm mà danh sách sinhviên vẫn phảI giữ nguyên là không đợc)
Để khắc phục những bất lợi trên, quan hệ sinh viên có thể tách thành haiquan hệ: SINHVIEN (MSSV,TEN, TUOI, DIACHI) và quan hệ THIXONG(MONTHI, MSSV, DIEM)
Nh vậy, CSDL lúc này chia thành 3 quan hệ đã ở dạng chuẩn thứ 2
c Dạng chuẩn thứ 3 (3NF):
Định nghĩa: Lợc đồ quan hệ R là ở dạng chuẩn thứ 3 (3NF) nếu nó là 2NF
và mỗi thuộc tính không khoá của R là không phụ thuộc hàm bắc cầu vào khoáchính
Trang 8Kết luận Trong phần I , ta đã biết sơ qua thế nào là Visual Basic, hệ quản trị cơ sở dữ liệucủa Visual Basic.
Ta có thể biết sơ qua về cách phân tích và thiết kế cơ sở dữ liệu trong
Visual Basic.
Ta biết thế nào là bảng dữ liệu và cách tạo bảng nh thế nào, để tạo formchính form phụ
Từ đó ta có thể tạo đợc form để hiển thị tất cả các thông tin để ngời quản
lý có thể bao quát và xem dễ dàng hơn
Trang 9Phần II
Khảo sát và phân tích hệ thống.
2.1 Mục đích của hệ thống
Hệ thống quản lý th viện là hệ thống lu trữ dữ liệu các thông tin về sách
Nó có thể cập nhật, bổ sung, thay đổi các thông tin này Trong thực tế, nhiều độcgiả muốn học tập, tìm hiểu, nghiên cứu thì họ cần phải biết trong th viên có cáctài liệu trong lĩnh vực họ đang cần không Để muợn đợc sách thì cần những thủtục gì…Để giúp đỡ ngĐó là vấn đề mà bài toán “Quản lý th viện” cần phải giải quyết
Từ thực tế công tác nghiệp vụ của th viện tiến hành phân tích và tin họchoá những vấn đề có thể tin học hoá.Trên cơ sở đó, xây dựng ứng dụng hỗ trợcho công tác “Quản lý th viện” Xây dựng cơ sở dữ liệu để lu trữ thông tin về quátrình quản lý sách và hiệu quả Ưng dụng này có thể làm đợc trên mạng cục bộ,Internet và có thể kết hợp với cơ sở dữ liệu của các th viện khác
2.2 Phân tích chức năng
Để phân tích hệ thống ta cần phải xác định rõ yêu cầu của bài toán.Liệt kêtất cả các thông tin đầu vào, đầu ra của hệ thống và quyết định viết tắt cho thôngtin cần quản lý
Lấy ra một thông tin đầu vào bất kỳ, liệt kê tất cả các thông tin phụ thuộcvào thông tin đầu vào đó
Lấy tiếp thông tin vừa liệt kê và thực hiện các bớc tơng tự
Trong thực tế,bản thiết kế cơ sở đủ tốt là một công cụ quan trọng nhấttrong việc tạo ra một cơ sở dữ liệu có hiệu quả.Thiết kế cơ sở dữ liệu phải linhhoạt, hợp logic và có phơng pháp.Để đơc nh vậy ta cần xác định chính xác thôngtin cần quản lý và mục đích của việc xử lý thông tin này
2.2.1 Các chức năng nhiệm vụ:
Trong phần quản lý này chúng ta tiếp cận một bài toán quản lý th việntheo phơng hớng chức năng tức là đi từ chức năng tổng quát sau đó đi tới chứcnăng nhỏ hơn
Khi ta thực hiện các chức năng này,hệ thống phải có một cơ chế kiểm soátchặt chẽ đảm bảo an toàn và bảo mật cho cơ sở dữ liệu (CSDL)
Hệ thống quản lý th viện có thể đợc thể hiện theo biểu đồ phân cấp chứcnăng sau:
Chức năng tổng quát
Trang 11Hình 3: Sơ đồ phân rã của chức năng quản lý độc giả.
b.Chức năng tìm kiếm: Khi có yêu cầu tìm kiếm từ bên ngoài, hệ thống
này sẽ kiểm tra và xử lý điều kiện Sau đó thông tin tìm đợc sẽ trả về cung cấpcho ngời sử dụng, chức năng này còn giúp cho độc giả tìm kiếm và tra cứu mộtcách nhanh chóng, dễ dàng Thông thờng các th viện sử dụng tủ tra cứu (mục lụcphích) Việc tìm kiếm sách phải căn cứ vào một số tiêu chuẩn nhất định Chúng
ta có thể tìm kiếm và tra cứu bằng nhiều cách nh:
Có nhiệm vụ quản lý việc đăng ký làm thẻ và cấp thẻ cho độc giả Khi đến
đăng ký làm thẻ với th viện, mỗi độc giả phải có giấy giới thiệu của cơ quan, đơn
vị hay trờng học Khi đó mỗi độc giả sẽ đợc th viên gắn cho một mã số tơng ứngvới mã thẻ th viện Đối với “Thẻ đọc” thì độc giả chỉ đợc muợn sách và đọc ngaytại phòng đọc của th viện Với “thẻ muợn” thì độc giả có thể muợn sách về nhànhng phải có một khoản tiền đặt cợc tuỳ theo giá trị của cuốn sách mà độc giảmuốn mợn Số tiền cợc này sẽ đợc dùng vào việc bồi thờng khi độc giả làm rách
va mất sách của th viện Theo quy định của th viện thì các độc giả không đợc chongời khác muợn thẻ th viện của mình
Trang 12Sau khi độc giả khai báo một số thông tin cần thiết, chức năng mợn, trả kiểm tratính hợp lệ của các thông tin rồi mới quyết định có cho độc giả mợn hay không.Nếu cuốn sách mà độc giả mợn đã hết hoặc mất thì ngời quản lý th viện sẽ trả lạiphiếu mợn cho độc giả với thông báo là đã hết sách mà độc giả muốn mợn Nếuhết giờ theo quy định đối với “thẻ đọc” và đến ngày trả đối với “thẻ muợn” thìcác độc giả nhất định phải mang sách đến trả cho th viện.
2.3 Mô hình trao đổi dữ liệu.
Trong phần này chúng ta trình bày hệ thống quản lý th viện qua mô hình
đờng đi từ điểm đến cho đến điểm kết thúc Qua đó chúng ta đa ra mô hình tổchức các chức năng thể hiện lại quy trình nghiệp vụ
Chúng ta quy ớc biểu diễn các đối tợng trong sơ đồ nh sau:
Biểu diễn chức năng xử lý thông tin.Tên chức năng ờng bao gồm động từ và có thêm bổ ngữ tóm tắt về chứcnăng đó
th-Chỉ luồng dữ liệu đi từ các tác nhân, kho dữ liệu, chức năng xử lý này tới chức năng xử lý khác
Biểu diễn nơi tập trung dữ liệu để hệ thống khai thác Tên kho dữ liệu là danh từ và tính từ chỉ loại dữ liệu cần lu trữ
Biểu diễn các đối tợng bên ngoài hệ thống nhng có trao
đổi thông tin với hệ thống Tên gọi của tác nhân ngoài là danh từ chỉ tên gọi của tác nhân đó
Một chức năng hay tập hợp các chức năng có trao đổi thông tin với chức năng xử lý thông tin mà ta đang xét, nhng
nó lại không đợc biểu diễn đầy đủ trên mô hình ta đang xét Tên tác nhân trong là một danh từ chỉ tên gọi của tác nhân
đó
Trong các mô hình trên ta có thể vẽ lại các biểu diễn nh : Các tác nhânngoài, tác nhân trong và kho dữ liệu ở các vị trí khác nhau trong một biểu đồluồng dữ liệu nhng vẫn phải giữ nguyên tên gọi của chúng để theo dõi, ta chọncách trình bày mô hình trao đổi dữ liệu từ đại thể dến chi tiết theo kỹ thuật phânmức:
Tên chức năng
Kho dữ liệu
Tác nhân ngoài
Tác nhân trong