Báo cáo thực tập: Chương trình 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ờng xuyên trong hoạt động kinh tế –xã hội Có nhiều loại thông tin: từ các thông tin thông thờng nh những thông tin thờng nhật diễn ra hàng ngày đến những thông tin mang tính đặc biệt nh thông tin về một sự kiện nào đó Song dù là loại thông tin 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ội ngà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ĩnh vự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ông việ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ớc thự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ằng má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ậy việc ứng dụng các phần mềm trong quản lý đã trở nên quen thuộc với các doanh
Trang 2và 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 nh khoa học kỹ thuật, văn học, tạp chí, tin học Trong th… viện Và để đáp ứng nhu cầ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
Đâ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ứu trong 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ạn chế 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 trong việ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ầy giáo:Nguyễn
Đức D, tôi đã hoàn thành đề tài ở mức cố gắng nhất Tuy nhiên báo cá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âu sắ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
Trang 3Phầ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ệc thà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ình cũ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 Những … u điểm cơ bản và
đặc trng của hệ cơ sở dữ liệu Visual Basic:
-Hiệu quả cao, mềm dẻo và phù hợp với khả năng lập trình
-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 cao khả 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ống bá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 Mọ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ậc cao nhằm giúp ngời sử dụngcó thể dùng đợc hệ thống mà ít nhiều không cần quan 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
Trang 4Hiện có nhiều loại mô hình cơ sở dữ liệu đang đợc sử dụng nh : mô hình quan hệ, mô hình mạng (Client/server), mô hình phân cấp, mô hình phân tán…Mỗ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ối thiể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ằng trong 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ừ ).…
• 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 cụ thể của CSDL mức khái niệm)
t-• Khung nhìn: Các khung nhìn (View) là cách nhìn,là quan niệm của từng ngờ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ần việ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ọ đ-
ợ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 …
VD: Tích Đề_các
Với : n=2, D1={0,1},D2={a,b,c}
Thì : D1*D2={(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}
Trang 5Ta có thể hiểu đơn giản là mô hình quan hệ đợc xây dựng trên cơ sở các bảng dữ liệu hai chiều gồm các cột, các hàng có quan hệ với nhau thông qua các trờng khoá ( nói cách khác là nếu các bảng đó có một cột hoặc một trờng chung nhau ) Các bảng dữ liệu đợc xây dựng thông qua quá trình chuẩn hoá.
b Khoá:
Một khoá chính ( Primary ) là một giá trị dùng để phân biệt bản ghi này vớ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 trong cả 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 tin cầ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ọc tập, l-
Trang 6Mộ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ới mộ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ới mã nhân viên đó đợc cập nhật hay xoá bỏ ( tránh tình trạng bị dị thờng hoặc d thừ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ộc tí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ông dù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ép chè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 7• 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àng nào cả, khi đó không thể đa địa chỉ, tên nhà cung cấp làm một bản ghi (Bộ) vào quan 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ởi mộ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ày khá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ên nhữ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ạng phù 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ố
a Dạng chuẩn thứ nhất (1NF):
Một lợc đồ quan hệ R đợc gọi là ở dạng chuẩn 1 (1NF) nếu và chỉ nếu toàn
bộ các miền có mặt trong R đều chỉ chứa các giá trị nguyên tố
Quy tắc 1NF nhằm loại bỏ nhóm lặp, nghĩa là bảng 1NF không đợc chứa các thuộc tính có thể xuất hiện nhiều lần đối với cùng một kiểu thực thể
b Dạng chuẩn thứ hai (2NF):
Trang 8Định nghĩa: Lợc đồ quan hệ R ở dạng chuẩn thứ hai nếu nó ở dạng chuẩn thứ nhất và nếu mỗi thuộc tính không khoá của R là phụ thuộc hàm đầy đủ vào khoá chính.
VD: Cho CSDL gồm hai quan hệ THI và SINHVIEN
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 LAN phả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ốn chè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 sinh viê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 hai quan 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):
Trang 9Đị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 10Từ đó 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 11Phầ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 độc giả 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ác tà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ì Đó 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ọc hoá 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ông tin 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ộc và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ất trong 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 linh hoạ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ông tin cần quản lý và mục đích của việc xử lý thông tin này
Trang 122.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ện theo 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ức nă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át chặ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ức năng sau:
Trang 13là “ Mã sách”.Mã số này không thay đổi trong suốt thời gian sách có trong th viện.
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ấp cho
ng-Hệ thống quản lý sách
Hệ thống quản lý độc giả
Trang 14ờ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ột cá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ục phí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 ứng với mã thẻ th viện Đối với “Thẻ đọc” thì độc giả chỉ đợc muợn sách và đọc ngay tạ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 cho ngời khác muợn thẻ th viện của mình
Trang 152.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ức năng
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
- Mô hình trao đổi dữ liệu mức khung cảnh thể hiện việc trao đổi thông tin giữa các đối tợng bên ngoài với chơng trình Các loại dữ liệu vào và ra khỏi hệ thông tin
Tên chức năng
Kho dữ liệu
Tác nhân ngoài
Tác nhân trong