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 chưa có mặt của máy tính (Máy tính chưa 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 lưu 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 chưa 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 nghiệp, công ty, trường học và thư viện…
LỜ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 chưa có mặt của máy tính (Máy tính chưa 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 lưu 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 chưa 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 1 doanh nghiệp, công ty, trường học và thư viện…Để 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 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 nhưng 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 2 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ệ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 trưng 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 lưu 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 lưu 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. 3 • 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ì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 lưu 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 tượ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). • 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 … 1.1.3. Mô hình cơ sở dữ liệu quan hệ: a. Định nghĩa CSDL Quan hệ: Khái niệm toán học của mô hình là quan hệ hiểu theo nghĩa lý thuyết tập hợp: là tập con của tích Đề_các của các miền ( miền là một tập các giá trị). Quan hệ là một tập con của tích Đề_các của một hoặc nhiều miền. Như vậy, mỗi quan hệ có thể là vô hạn.Ơ đây luôn luôn giả thiết rằng, quan hệ là một tập hữu hạn. 4 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)} Ta 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ươ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ông tin 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ạng quan hệ như sau: MNV 001 Họ tên Lê An Hoà … 1. Lương MNV 001 Lương CB 1440000 5 … Ngoại ngữ MNV 001 Tên ngoại ngữ Anh Mộ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 lưu 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. 6 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: • 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 7 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): Đị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 THI MONTHI GIAOVIEN 3 A 4 B 5 C SINHVIE N MONTH I MSSV TEN TUOI DIACHI DIEM 3 11 LAN 20 X 8 3 12 HA 21 Y 6 4 11 LAN 20 X 7 4 12 HA 21 Y 6 5 11 LAN 20 X 7 5 13 HA 22 Z 2 Trong quan hệ trên MONTHI là khoá của quan hệ THI và MONTHI, MSSV (Mã số sinh viên) là khoá của quan hệ SINHVIEN. Trong quá trình cập nhật và lưu trữ dữ liệu xuất hiện những vấn đề sau: • ở quan hệ SINHVIEN, việc lưu 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. 8 • 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 chưa),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): Đị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. 9 KẾ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 form chí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. 10