Tài liệu Luận văn Sự phát triển của mạng thông tin máy tính và ứng dụng: CHƯƠNG MỞ ĐẦU
GIỚI THIỆU CHUNG
1. Sự phát triển của mạng thông tin máy tính và ứng dụng
Trong xu thế toàn cầu hoá hiện nay, máy tính và các hệ thống mạng thông tin máy tính ngày càng được sử dụng rộng rãi trong hầu hết các lĩnh vực kinh tế, văn hoá và xã hội. Các ứng dụng phong phú của mạng máy tính có thể kể đến ở đây là:
Sử dụng chung tài nguyên như máy in Laser, máy in nhanh, ổ đĩa cứng với dung lượng lớn (hàng chục đến hàng trăm GigaByte) trong tự động hoá văn phòng; sử dụng chung tài nguyên tính toán chính là các máy PC có công suất ngày càng lớn trong mạng cục bộ đối với các tính toán khoa học.
Truy nhập từ xa đối với các hệ thống tính toán có công suất lớn hoặc các mạng cục bộ với các dịch vụ thông tin giá trị gia tăng phong phú.
Các hệ thống thông tin tài chính, ngân hàng cho phép thanh toán và kiểm tra tài khoản trên phạm vi toàn cầu.
Các hệ thống thông tin dịch vụ liên quốc gia như đăng ký và đặt chỗ khách sạn, đăng ký và thanh toán vé máy bay, vé tầu hoả,.v.v..
...
62 trang |
Chia sẻ: hunglv | Lượt xem: 1119 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Sự phát triển của mạng thông tin máy tính và ứng dụng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
CHƯƠNG MỞ ĐẦU
GIỚI THIỆU CHUNG
1. Sự phát triển của mạng thông tin máy tính và ứng dụng
Trong xu thế toàn cầu hoá hiện nay, máy tính và các hệ thống mạng thông tin máy tính ngày càng được sử dụng rộng rãi trong hầu hết các lĩnh vực kinh tế, văn hoá và xã hội. Các ứng dụng phong phú của mạng máy tính có thể kể đến ở đây là:
Sử dụng chung tài nguyên như máy in Laser, máy in nhanh, ổ đĩa cứng với dung lượng lớn (hàng chục đến hàng trăm GigaByte) trong tự động hoá văn phòng; sử dụng chung tài nguyên tính toán chính là các máy PC có công suất ngày càng lớn trong mạng cục bộ đối với các tính toán khoa học.
Truy nhập từ xa đối với các hệ thống tính toán có công suất lớn hoặc các mạng cục bộ với các dịch vụ thông tin giá trị gia tăng phong phú.
Các hệ thống thông tin tài chính, ngân hàng cho phép thanh toán và kiểm tra tài khoản trên phạm vi toàn cầu.
Các hệ thống thông tin dịch vụ liên quốc gia như đăng ký và đặt chỗ khách sạn, đăng ký và thanh toán vé máy bay, vé tầu hoả,.v.v..
Các hệ thống quản lý như hệ thống thông tin thư viện, hệ thống phục vụ cho công tác quản lý đào tạo trong các trường đại học,.v.v..
Các hệ thống thông tin xã hội công cộng.
Những yếu tố thúc đẩy sự phát triển nhanh chóng của máy tính và mạng thông tin máy tính, đó là:
Những tiến bộ đáng kể của công nghiệp vi điện tử, cho phép sản xuất các linh kiện điện tử (các bộ vi xử lý, bộ nhớ, các vi mạch điều khiển ghép nối ngoại vi và thông tin số liệu, các vi mạch thực hiện chuyển mạch gói) có công suất ngày càng lớn, tiêu hao năng lượng ngày càng ít, giá thành hạ.
Cải tiến và nâng cao hiệu suất tính toán trên cơ sở cải tiến kiến trúc của toàn bộ hệ thống.
Việc đưa vào sử dụng các hệ thống truyền dẫn tốc độ cao, xác suất lỗi truyền thấp trên cơ sở sử dụng cáp quang và việc thực hiện các ghép nối truyền dẫn và chuyển mạch thông minh, công suất lớn (thành quả của công nghiệp vi điện tử).
Bản thân công nghệ mạng thông tin máy tính cũng có những tiến triển đáng ghi nhận. Những cố gắng thực hiện mạng máy tính theo mô hình ISO/OSI - do độ phức tạp, "nặng nề" của các giao thức thực hiện chức năng của các mức - cũng không phủ nhận được một thực tế là các mạng thông tin máy tính được thực hiện trên cơ sở bộ giao thức TCP/IP đang tăng trưởng một cách hết sức nhanh chóng. Do tính mềm dẻo, dễ thích ứng trong các môi trường mạng khác nhau trong nguyên tắc hoạt động của bộ giao thức TCP/IP, lại được hỗ trợ rộng rãi trong các hệ điều hành quan trọng và thông dụng hiện nay như UNIX, Window9.x, Window NT để thực hiện kết nối mạng và liên kết các mạng, công nghệ Internet/Intranet đã trở thành công nghệ kết nối mạng tiêu chuẩn và hiệu quả hiện nay.
Từ khi mạng máy tính ra đời nó phục vụ rất nhiều trong mọi lĩnh vực đời sống kinh tế xã hội như con người có thể khai thác thông tin trên mạng, lấy dữ liệu và dùng chung dữ liệu trên mạng,... Nhưng từ những nguồn tin ấy từ đâu để con người có thể truy nhập tới và sử dụng chúng. Cho nên khi môi trường mạng phát triển về phần cứng và phần mềm hệ điều hành mạng còn những phần thông tin để chúng ta cung cấp cho người dùng truy nhập đến thì thế nào? Vì vậy, chúng ta phải tổ chức thiết kế cơ sở dữ liệu trên mạng máy tính để người dùng tin có thể truy nhập đến những thông tin mà họ cần. Bài luận văn giải quyết một phần nhỏ về vấn đề này.
2. Nội dung của luận văn
Dựa vào nền tảng của sự phát triển công nghệ mạng thông tin máy tính, một phần ứng dụng để phát triển môi trường mạng trong bài luận văn tốt nghiệp của tôi là “Truy nhập cơ sở dữ liệu trên mạng trong môi trường mạng Internet và Intranet”.
Trong bài luận văn gồm bốn chương và một phụ lục có cấu trúc như sau:
Chương mở đầu: Giới thiệu chung.
Chương I: Khái niệm cơ sở dữ liệu trong môi trường Client/Server.
Chương II: Thiết kế bài toán thực tế.
Chương III: Mạng máy tính và ứng dụng công nghệ mạng đối với bài toán thực tế.
Chương IV: Kết luận.
Phụ lục: Mã nguồn của chương trình.
Đề tài của luận văn là vấn đề mới đối với sinh viên và do những hạn chế nhất định về thời gian, chắc rằng luận văn không thể tránh khỏi có những thiếu sót. Rất mong được sự chỉ bảo của các thầy cô giáo và góp ý của các bạn để tôi có thể hoàn thiện về mặt kiến thức để tiếp tục nghiên cứu phát triển sau này.
CHƯƠNG I
KHÁI NIỆM CƠ SỞ DỮ LIỆU
TRONG MÔI TRƯỜNG CLIENT/SERVER
Trước khi nêu các khái niệm cơ sở dữ liệu trong môi trường Client/Server ta nêu khái niệm Client, Server, Client/Server.
Khái niệm về thành phần Client: phần mềm chịu tránh nhiệm thu nhận yêu cầu của người sử dụng, xử lý sơ bộ và chuyển cho Server dưới một dạng thích hợp. Nó cũng làm nhiệm vụ nhận kết quả từ Server gửi đến và hiển thị thông tin cho người sử dụng.
Khái niệm về thành phần Server: nhận các yêu cầu từ Client, xử lý chúng bằng nhiều cách như đọc tệp, tìm kiếm cơ sở dữ liệu... rồi gửi trả lại kết quả cho Client.
Khái niệm Client/Server là hai phần mềm có thể được thực hiện trên cùng một máy hoặc trên hai máy với các hệ điều hành khác nhau. Việc xử lý thông tin thực hiện trên Server. Client đóng vai trò giao tiếp với người sử dụng và thực hiện trao đổi dữ liệu với Server nếu cần. Việc kết nối giữa Client và Server tuân theo các giao thức trao đổi thông tin nhất định.
Trong chương này ta xét hai phần trong cơ sở dữ liệu Client/Server gồm:
Các cách cấu hình khác nhau cho ứng dụng cơ sở dữ liệu Client/Server.
Các kiến trúc đa dạng được dùng đối với cơ sở dữ liệu phân tán trên nhiều máy tính.
1. Cấu hình cơ sở dữ liệu Client/Server
Các dạng khác nhau của mô hình ba phần ba về tính toán Client/Server có thể kết hợp với nhau để tạo nên cấu hình tính toán phân tán theo độ phức hợp xác định. Phần này tập trung vào mô hình phân tán dữ liệu trong tính toán Client/Server và các dạng khác nhau của mô hình này.
Mô hình phân tán truy nhập dữ liệu nêu trên là dạng sử dụng chung nhất của mô hình phân tán Client/Server. Đó là dạng phân tán Client/Server dùng với phần mềm cơ sở dữ liệu, trong đó cơ sở dữ liệu ứng dụng dùng nhiều bộ xử lý.
Mô hình phân tán truy nhập dữ liệu có thể được phân rã để rõ cách tổ chức liên kết các thành phần trong quá trình xử lý dữ liệu. Phần này sẽ giới thiệu cách thức để cấu hình hoá ba thành phần chung cho tất cả các ứng dụng cơ sở dữ liệu sau đây:
Các thành phần của quá trình ứng dụng.
Thành phần phần mềm cơ sở dữ liệu.
Cơ sở dữ liệu.
1.1. Cấu hình cơ sở dữ liệu Client/Server
Các mô hình xử lý cơ sở dữ liệu khác nhau tuỳ thuộc vào nơi đặt các thể hiện của ba phạm trù thành phần trên. Phần này lần lượt xét năm mô hình kiến trúc; tất cả đều dựa trên cấu hình phân tán truy nhập dữ liệu của tính toán Client/Server:
Mô hình cơ sở dữ liệu tập trung.
Mô hình cơ sở dữ liệu dùng máy chủ file.
Mô hình xử lý lấy dữ liệu từ cơ sở dữ liệu.
Mô hình cơ sở dữ liệu Client/Server.
Mô hình cơ sở dữ liệu phân tán.
Năm mô hình này có thể dùng hỗn hợp để tạo nên cấu hình ứng dụng cơ sở dữ liệu đa dạng.
1.1.1. Mô hình cơ sở dữ liệu tập trung
Trong mô hình tập trung, các thành phần ứng dụng, phần mềm cơ sở dữ liệu và bản thân cơ sở dữ liệu đều trên cùng bộ xử lý.
Ứng dụng
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Titi
Toto
Hình 1. Mô hình cơ sở dữ liệu tập trung.
Chẳng hạn người dùng máy cá nhân có thể chạy chương trình ứng dụng với phần mềm ORACLE để truy nhập cơ sở dữ liệu trên đĩa cứng trong máy. Do các thành phần ứng dụng, phần mềm cơ sở dữ liệu và cơ sở dữ liệu trên cùng máy, ứng dụng này phù hợp với mô hình tập trung.
Nhiều quá trình xử lý thông tin của các tổ chức lớn vẫn theo mô hình xử lý tập trung, chẳng hạn bộ xử lý mainframe chạy phần mềm IMS hay DB2 của IBM có thể cho phép các trạm đầu cuối khai thác với độ phân tán rộng. Tuy nhiên trong nhiều hệ thống như vậy, cả ba thành phần của ứng dụng cơ sở dữ liệu khai thác cùng trên mainframe.
1.1.2. Mô hình cơ sở dữ liệu dùng máy chủ file
Mô hình máy chủ file đặt các thành phần ứng dụng và phần mềm cơ sở dữ liệu trên một hệ thống tính toán, và các file vật lí dùng để chứa cơ sở dữ liệu đặt trên hệ thống tính toán khác.
Cấu hình như vậy thường được dùng trong môi trường mạng cục bộ, trong đó một máy giữ file dữ liệu để các máy khác truy nhập. Trong môi trường máy chủ file, phần mềm mạng sẽ tạo điều kiện để mỗi máy người dùng sẽ có cảm giác như máy chủ file chỉ dùng cho riêng mình.
Mô hình máy chủ file tương tự như mô hình tập trung: file cơ sở dữ liệu đặt trên máy khác với thành phần ứng dụng và phần mềm cơ sở dữ liệu; tất nhiên các thành phần ứng dụng và phần mềm cơ sở dữ liệu có thể được thiết kế như đã thao tác trong môi trường tập trung. Thực tế phần mềm mạng đã tạo nên môi trường mà những phần mềm ứng dụng và phần mềm cơ sở dữ liệu luôn cảm thấy như đang làm việc với cơ sở dữ liệu tập trung.
Ứng dụng
Mạng truyền thông
Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Hình 2. Mô hình cơ sở dữ liệu máy chủ file.
Môi trường như vậy có thể phức tạp hơn mô hình tập trung vì phần mềm mạng có cơ chế xử lý tương tranh, cho phép nhiều người dùng cùng truy nhập đồng thời một dữ liệu.
1.1.3. Mô hình xử lý trích dữ liệu
Ứng dụng
Mạng truyền thông
Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Ứng dụng
Phần mềm cơ sở dữ liệu
Hình 3. Mô hình rút dữ liệu.
Một dạng của cơ sở dữ liệu từ xa có thể dùng phần mềm cơ sở dữ liệu để rút, trích dữ liệu. Người ta dùng thuật ngữ xử lý trích dữ liệu (database extract processing).
Với mô hình này người ta có các cơ sở dữ liệu trên các máy nối mạng. Một máy dùng phần mềm cơ sở dữ liệu để truy nhập máy kia và rút dữ liệu cần thiết. Kết quả chuyển về máy yêu cầu, trên đĩa cứng của máy này. Người dùng sử dụng bản sao tại chỗ của dữ liệu.
Bằng tiếp cận này, người dùng cần biết nơi cất dữ liệu và cách truy nhập cơ sở dữ liệu ở xa, cũng như bảo trì cơ sở dữ liệu. Phần mềm ứng dụng phụ trợ cần đặt trên cả hai hệ thống tính toán để truy nhập dữ liệu và chuyển dữ liệu giữa hai hệ thống. Tuy nhiên phần mềm cơ sở dữ liệu chạy trên hai máy không cần báo trước những truy nhập từ xa, do hai máy hoạt động độc lập.
1.1.4. Mô hình cơ sở dữ liệu Client/Server
Trong mô hình cơ sở dữ liệu Client/Server thực sự mô tả trong hình vẽ, cơ sở dữ liệu đặt trên một máy tính; các máy khác chạy các thành phần xử lí ứng dụng. Nhưng phần mềm cơ sở dữ liệu được tách ra trên các máy Client, cho phép chạy các chương trình ứng dụng và hệ thống Server lưu trữ cơ sở dữ liệu.
Ứng dụng
Mạng truyền thông
Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Máy Client
Hình 4. Mô hình cơ sở dữ liệu Client/Server.
Các thành phần xử lí ứng dụng của hệ thống Client trong mô hình này yêu cầu phần mềm cơ sở dữ liệu cục bộ. Thành phần phần mềm cơ sở dữ liệu cục bộ trong máy Client liên lạc với phần mềm cơ sở dữ liệu phụ chạy trên máy Server. Phần mềm cơ sở dữ liệu máy Server truy nhập cơ sở dữ liệu và chuyển kết quả về máy Client.
Thoạt nhìn mô hình cơ sở dữ liệu Client/Server tương tự như mô hình máy chủ file. Thế nhưng mô hình Client/Server có ưu điểm so với mô hình kia. Với mô hình máy chủ file, thông tin liên kết với mỗi lần truy nhập cơ sở dữ liệu vật lí cần đi theo mạng. Thao tác cơ sở dữ liệu yêu cầu nhiều truy nhập có thể gây tắc nghẽn mạng.
Giả sử người dùng yêu cầu dữ liệu tổng, yêu cầu này đòi hỏi phần tử dữ liệu từ 100 bản ghi cơ sở dữ liệu. Theo cách tiếp cận máy chủ file, tất cả 100 bản ghi chạy qua mạng. Lí do là phần mềm cơ sở dữ liệu chạy trên máy người dùng cần truy nhập và kiểm tra từng bản ghi có đáp ứng điều kiện không. Còn theo tiếp cận cơ sở dữ liệu Client/Server, chỉ một câu hỏi và kết quả cuối cùng đi trên mạng. Phần mềm cơ sở dữ liệu thao tác trên máy tính có cơ sở dữ liệu và có khả năng thực hiện yêu cầu rồi cho kết quả.
Người ta phân biệt phần mềm phía trước, tuyến trước và phần mềm ở phía sau, tuyến sau:
(a) Phần mềm tuyến trước: Mô hình cơ sở dữ liệu Client/Server thường dùng phần mềm gọi là phần mềm làm trước, phần mềm làm sau. Phần mềm tuyến trước đặc trưng ở chỗ chạy trên máy cá nhân hay trạm làm việc tại chỗ và đáp ứng nhu cầu tính toán cho các cá nhân khác. Điển hình là phần mềm này giữ vai trò Client trong ứng dụng cơ sở dữ liệu Client/Server và thực hiện chức năng hướng về nhu cầu người dùng. Nhìn chung phần mềm tuyến trước thuộc về một trong những phạm trù sau:
Phần mềm cơ sở dữ liệu cho người dùng.
Phần mềm lập báo cáo và hỏi đơn giản.
Phần mềm phân tích dữ liệu.
Các công cụ phát triển ứng dụng.
Các công cụ quản trị cơ sở dữ liệu.
(b) Phần mềm tuyến sau: Phần mềm này gồm phần mềm cơ sở dữ liệu Client/Server và phần mềm mạng chạy trên máy tính dùng làm máy Server cơ sở dữ liệu.
1.1.5. Mô hình cơ sở dữ liệu phân tán
Mô hình máy chủ file và mô hình cơ sở dữ liệu Client/Server đều giả thiết cơ sở dữ liệu đặt trên một bộ xử lý và chương trình ứng dụng truy nhập cơ sở dữ liệu được đặt trên bộ xử lý khác. Mô hình phân tán thực sự giả thiết bản thân cơ sở dữ liệu nằm trên nhiều máy, tức là nhiều hệ thống xử lí.
Ứng dụng
Mạng truyền thông
Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Máy Server
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Hình 5. Mô hình cơ sở dữ liệu phân tán.
Phần tiếp theo sẽ mô tả các cơ chế dùng trong hệ thống cơ sở dữ liệu phân tán. Rồi sẽ là các mô hình kiến trúc khác nhau để xây dựng môi trường cơ sở dữ liệu phân tán.
1.2. Cơ chế phân tán dữ liệu
Có ba tiếp cận chính về cơ chế phân tán, dùng để quản lý truy nhập cơ sở dữ liệu; đó là cơ chế tập trung, phân đoạn, và sao chép cơ sở dữ liệu.
1.2.1 Tập trung
Tiếp cận tập trung được dùng với mô hình tập trung vừa trình bày, trong đó cơ sở dữ liệu không hoàn toàn theo phân bố vật lí. Người ta bảo quản toàn bộ cơ sở dữ liệu trên một máy tính Server tại trung tâm, và các thành phần Client chạy trên các máy tính khác để truy nhập máy Server. Bản thân cơ sở dữ liệu là tập trung dù việc khai thác được tổ chức phân tán.
Với nhiều môi trường làm việc, tiếp cận tập trung là thích hợp. Nó cho phép tất cả các thao tác cập nhật cơ sở dữ liệu được thực hiện tại chỗ và không cần nhiều bản sao dữ liệu. Tuy nhiên máy Server trong tiếp cận này trở nên điểm hay mắc lỗi trong hệ thống. Nếu rủi ro xảy ra tại máy Server, không ai có thể truy nhập nó.
1.2.2. Phân đoạn
Theo kiểu phân đoạn, một số bản ghi cơ sở dữ liệu được ghi trên một máy tính, và một số bản ghi khác được ghi trên các máy tính còn lại. Tuy nhiên theo cách này không phần dữ liệu nào lại ghi ở nhiều chỗ; do vậy cho phép cơ chế cập nhật trở nên đơn giản hơn.
Người ta dùng nhiều loại phân đoạn dữ liệu, thông thường có thể kể ra gồm:
Tất cả các bảng đối với bất kỳ cơ sở dữ liệu nào cũng có thể ghi ở một chỗ; cơ sở dữ liệu khác nhau ghi tại nơi khác nhau. Tất cả các cơ sở dữ liệu có thể được xử lí bằng cùng phần mềm cơ sở dữ liệu.
Các bảng khác nhau của cùng một cơ sở dữ liệu có thể được ghi tại nhiều nơi khác nhau.
Các phần tử dữ liệu tạo nên bảng quan hệ có thể được phân tách, hoặc theo dòng hoặc theo cột.
Người ta dễ dàng phát hiện ra phần mềm cơ sở dữ liệu tại những nơi đặt dữ liệu. Bản thân phần mềm cơ sở dữ liệu có thể lưu trữ tất cả thông tin liên quan đến vị trí của dữ liệu, hoặc người ta dùng dịch vụ thư mục toàn mạng để giúp phần mềm cơ sở dữ liệu định vị những phần khác nhau của cơ sở dữ liệu.
1.2.3. Bảo sao dữ liệu và trích dữ liệu
Với tiếp cận phân đoạn hay tập trung, không có một bản sao dữ liệu nào trong cơ sở dữ liệu. Mỗi dữ liệu được ghi chỉ ở một nơi. Hai tiếp cận phụ dùng để tạo nên nhiều bản sao của toàn bộ hay một phần dữ liệu được dùng dưới dạng kĩ thuật sau:
Trích dữ liệu. Bản sao cơ sở dữ liệu được gọi là trích (extract) khi bản sao được dùng với phép đọc. Các giá trị phần tử dữ liệu trích ra không phục vụ cho mục đích cập nhật.
Bảo sao dữ liệu. Bản sao cơ sở dữ liệu được gọi là sao (replica) khi giá trị phần tử dữ liệu sao chép dùng được cho mục đích cập nhật. Khi đó giá trị mới sẽ được cập nhật trong toàn cơ sở dữ liệu, tức trên cả bản sao khác.
Nhờ kĩ thuật trích và sao dữ liệu, các giá trị dữ liệu của cơ sở dữ liệu được ghi tại nhiều nơi khác nhau; người ta có thể nâng tính sẵn sàng, giảm tỉ lệ mất dữ liệu do sai sót và tăng hiệu suất. Tuy nhiên đó lại là nguy cơ mất bền vững dữ liệu. Có thể sao chép toàn bộ cơ sở dữ liệu hay nếu dùng kĩ thuật phân đoạn thì người ta có thể sao chép một phần cơ sở dữ liệu.
Để phân biệt khác nhau giữa trích dữ liệu và sao dữ liệu, người ta xét chi tiết về kĩ thuật này.
1.2.4. Trích dữ liệu
Trích dữ liệu được dùng trong nhiều hoàn cảnh, khi cần phân tán các bản sao cơ sở dữ liệu trên nhiều nơi. Một trích đoạn dữ liệu có thể là bảo sao toàn bộ cơ sở dữ liệu, hay chỉ là kết hợp các đoạn riêng.
Các kiểu trích đa dạng trên dữ liệu có thể khác nhau tuỳ theo cơ chế cho phép chương trình ứng dụng quyết định tính thời sự của thông tin. Phần trích dữ liệu có thể không kèm thông tin về thời gian của nó, hoặc nó mang luôn thông tin về thời gian, tổng kiểm tra để phục vụ cho việc đồng bộ quá trình chung.
1.2.5. Bản sao dữ liệu
Bảo sao dữ liệu tương tự như trích dữ liệu, trừ việc bản sao cho phép cập nhật. Với bản sao, phần mềm cơ sở dữ liệu cần đảm bảo các phần tử dữ liệu giữ được đồng bộ với các giá trị khác trong cơ sở dữ liệu chính. Vì có nhiều bản sao giá trị phần tử dữ liệu cho nên phải khẳng định được việc cập nhật tiến hành đồng thời trên tất cả các bản sao.
Nhiều cơ chế đã hội nhập các bản sao lại. Như vậy một khi bản sao thay đổi, chỉ một nó được cập nhật. Các giá trị phần tử dữ liệu được cập nhật trong bản sao này được di về cơ sở dữ liệu chính. Trong trường hợp khác, phép cập nhật tiến hành với cơ sở dữ liệu chính cũng như với các bản sao.
Phần mềm cơ sở dữ liệu có thể được thiết kế để lan truyền các thay đổi đã thực hiện trên bản sao tới các bản sao khác và tới cơ sở dữ liệu một cách nhanh nhất. Theo một vài lược đồ, bản sao được thiết kế như một bản sao chính (master replica), còn các bản sao khác được gọi là bản sao phụ (secondary replica). Phép toán cập nhật cơ sở dữ liệu được coi là hoàn thành khi mà bản sao chính đã được cập nhật. Thành phần phần mềm cơ sở dữ liệu ứng với bản sao chính có trách nhiệm truyền tất cả những cập nhật tới các bản sao phụ sau một khoảng thời gian.
Lược đồ khác dùng hàm hội nhập (convergence funtion) để đồng bộ hoá bản sao của cơ sở dữ liệu và khẳng định lại tại cơ sở dữ liệu chính. Hàm hội nhập là hàm phân tán, có các thành phần chạy trên các máy lưu bản sao. Hàm này có thể chạy thường kì hay đột xuất tuỳ theo yêu cầu hội nhập trong cơ sở dữ liệu cụ thể.
Phần mềm cơ sở dữ liệu có thể đảm bảo các cơ chế đồng bộ hoá đa dạng. Người thiết kế cơ sở dữ liệu hay quản trị cơ sở dữ liệu có thể xác định cơ chế đồng bộ dùng trên cơ sở dữ liệu hay trên vài bản sao. Tất nhiên dù với hàm đồng bộ hoá nào, không cơ sở dữ liệu phân tán nào đạt được hoàn toàn đồng bộ tại mọi thời điểm.
1.3. Cập nhật cơ sở dữ liệu có bản sao
Khi tất cả các phần của cơ sở dữ liệu có bản sao thì cơ chế dùng để hội nhập các bản sao có thể hạn chế theo kiểu cập nhật áp dụng với cơ sở dữ liệu. Trong môi trường có nhiều bản sao, loại cập nhật đơn giản nhất đối với hàm hội nhập có các đặc tính sau:
Toàn bộ. Cập nhật được gọi là toàn bộ khi nó dùng để bổ sung phần tử dữ liệu mà không để ý đến bất kỳ cập nhật đã thực hiện với cập nhật này.
Như cũ. Cập nhật có tính chất như cũ (idempotent) gây cùng một tác dụng trên cơ sở dữ liệu không lệ thuộc vào nhiều lần áp dụng.
Giao hoán. Một dãy cập nhật là giao hoán nếu kết quả không phụ thuộc vào thứ tự áp dụng từng phép cập nhật.
Đặc tính cập nhật như cũ và toàn bộ được thể hiện qua một số nhất định các kiểu phép toán. Chẳng hạn thay thế giá trị phần tử dữ liệu cũ bằng giá trị mới là toàn bộ và như cũ; còn cập nhật tăng hay giảm giá trị thì không. Với cập nhật theo kiểu toàn bộ hay như cũ, phần mềm cơ sở dữ liệu không cần cơ chế đảm bảo thực hiện chỉ một lần phép cập nhật. Chỉ cần đảm bảo ít nhất thực hiện một lần; đó là vấn đề đơn giản. Một dãy các cập nhật có thể giao hoán nếu dùng đánh dấu thời gian. Tất cả những cập nhật có thể gắn với thời điểm cập nhật để người ta sắp xếp lịch thực hiện.
Phép cập nhật toàn bộ, như cũ và giao hoán là các phép dễ quản lý nhất nhờ thuật toán hội nhập. Nếu phần mềm cơ sở dữ liệu cho phép người dùng thực hiện cập nhật dữ liệu mà thiếu các tính chất này thì cần sử dụng cơ chế phức tạp để hội nhập.
1.4. Nhạy cảm về vị trí
Một mục đích của phần mềm cơ sở dữ liệu phân tán là cho phép người dùng và các chương trình ứng dụng độc lập hoàn toàn về vị trí lưu trữ dữ liệu. Người dùng có thể yêu cầu dữ liệu rồi chương trình ứng dụng truy nhập đến dữ liệu mà không để ý đến nơi lưu trữ dữ liệu. Tuy khó đảm bảo được tính hoàn toàn trong suốt trong hệ thống. Cho đến khi đạt đến độ trong suốt về các đối tượng, phần mềm cơ sở dữ liệu cần tuân theo các ràng buộc về cách thức phân đoạn, sao chép và loại hình cập nhật dữ liệu.
1.5. Kết luận về cấu hình cơ sở dữ liệu Client/Server
Mô hình phân tán truy nhập dữ liệu là dạng phân tán Client/Server đặc biệt sử dụng để hợp nhất các phần mềm cơ sở dữ liệu Client/Server. Trong mô hình phân tán truy nhập dữ liệu, ba loại thành phần quan trọng gồm các thành phần xử lí ứng dụng, thành phần phần mềm cơ sở dữ liệu, và cơ sở dữ liệu. Các thành phần này có thể kết hợp với nhau theo nhiều cách để hình thành mô hình cơ sở dữ liệu tập trung, mô hình cơ sở dữ liệu máy chủ file, mô hình xử lí trích dữ liệu, mô hình cơ sở dữ liệu Client/Server và mô hình cơ sở dữ liệu phân tán.
Với tiếp cận tập trung, toàn bộ cơ sở dữ liệu lưu tại một chỗ và chỉ phân tán với việc truy nhập dữ liệu. Với tiếp cận phân đoạn, các phần của dữ liệu được lưu tại nhiều nơi để tăng hiệu quả sử dụng. Một đích quan trọng của phần mềm cơ sở dữ liệu phân tán là đảm bảo chương trình người dùng độc lập với vị trí của dữ liệu.
Phần tiếp sau đây sẽ xét các kiến trúc khác nhau để phát triển tiện nghi khi truy nhập cơ sở dữ liệu từ xa và truy nhập cơ sở dữ liệu phân tán theo phần mềm cơ sở dữ liệu.
2. Kiến trúc phần mềm cơ sở dữ liệu phân tán
Thực hiện hệ thống cơ sở dữ liệu phân tán có thể đơn giản hay phức tạp. Trong môi trường đồng nhất, các kiểu hệ thống tính toán làm việc trên cơ sở dữ liệu được điều khiển chặt. Do vậy không mấy vất vả. Một vài lược đồ phân tán cơ sở dữ liệu được thiết kế trên nền tảng cụ thể, gồm phần cứng, hệ thống điều hành và phần mềm mạng cân xứng. Chẳng hạn có hệ thống dùng toàn máy cá nhân dựa trên vi xử lý Intel, với hệ thống điều hành của Microsoft, hệ điều hành mạng Novell. Do vậy người thiết kế cơ sở dữ liệu phân tán chuyên tâm vào phần mềm cho môi trường đồng nhất, các chức năng đơn giản.
Bên cạnh đó, các môi trường không đồng nhất về phần cứng, phần mềm đòi hỏi người ta có những cố gắng nhiều hơn. Người ta có thể dùng hệ thống điều hành Apple, IBM, Microsoft, UNIX với vi xử lí Intel, Motorola... Nhiều giao thức truyền thông đa dạng như TCP/IP, SNA của IBM, IPX/SPX của NetWere... Chức năng thực hiện của phần mềm cơ sở dữ liệu phân tán trong môi trường không đồng nhất cần phức tạp hơn nhiều.
Để tiện tạo nên môi trường cơ sở dữ liệu phân tán không đồng nhất, người ta dùng ba mô hình kiến trúc phần mềm sau:
Mô hình cổng.
Mô hình giao diện chuẩn.
Mô hình giao thức chuẩn.
2.1. Mô hình cổng
Mỗi hệ thống con về phần mềm cơ sở dữ liệu được thiết kế để dùng giao diện chương trình ứng dụng API cụ thể. Các chương trình ứng dụng muốn sử dụng dịch vụ của phần mềm cơ sở dữ liệu biết được. Tiện nghi truy nhập người dùng do nhà cung cấp phần mềm cơ sở dữ liệu giới thiệu có thể thay thế chương trình ứng dụng trong môi trường mà người ta truy nhập trực tiếp các tiện nghi phần mềm cơ sở dữ liệu.
Mô hình cổng trong cơ sở dữ liệu phân tán cho phép chương trình viết theo API của cơ sở dữ liệu đã biết để yêu cầu dịch vụ của phần mềm cơ sở dữ liệu; phần mềm này trợ giúp cho API khác. Mô hình cổng dựa vào thành phần cổng để thực hiện giao ước từ một API này đến API khác.
Phương tiện hỏi và lập báo cáo
Giao diện API của cơ sở dữ liệu
Giao diện API của cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Hình 6. Mô hình cổng.
Thí dụ:
Người ta viết chương trình ứng dụng để truy nhập cơ sở dữ liệu ORACLE. Nó truy nhập cổng và cổng này chuyển từ API ORACLE sang API của cơ sở dữ liệu DB2. Cổng này truy nhập phần mềm cơ sở dữ liệu DB2 với tư cách Client. Thực tế thì cổng đã đánh lừa cả chương trình ứng dụng lẫn phần mềm cơ sở dữ liệu. Chương trình ứng dụng nghĩ rằng nó khai thác cơ sở dữ liệu ORACLE, còn phần mềm cơ sở dữ liệu DB2 tưởng rằng nó đang phục vụ chương trình ứng dụng DB2.
Chương trình ứng dụng ORACLE
Giao diện API của ORACLE
Giao diện API của ORACLE
Cổng ORACLE/DB2
Giao diện API của DB2
Giao diện API của DB2
Cơ sở dữ liệu DB2
Phần mềm cơ sở dữ liệu DB2
Hình 7. Mô hình cổng qua thí dụ khai thác từ ORACLE.
Với kiến trúc truy nhập cơ sở dữ liệu cổng, chương trình ứng dụng dùng một API. Thành phần phần mềm phân biệt gọi là cổng sẽ chuyển chương trình từ API này sang API khác để phần mềm cơ sở dữ liệu trên API khác có thể hiểu chương trình này.
Kiến trúc cổng có thể hỗ trợ bất kì cấu hình cơ sở dữ liệu phân tán nào. Trong trường hợp đơn giản, chương trình ứng dụng, thành phần cổng, và phần mềm cơ sở dữ liệu đều được đặt trên cùng một máy tính. Còn với trường hợp phức tạp, các thành phần đó nằm trên nhiều máy khác nhau.
Trong môi trường phân tán, các thành phần Client truyền thông và Server truyền thông để truyền dữ liệu trên nhiều máy tính. Với tiếp cận cổng trong hệ thống phân tán, nhà cung cấp có thể viết phần mềm cổng và các thành phần Client truyền thông, Server truyền thông. Các thành phần cổng cần được cắt may cho phù hợp với API của cơ sở dữ liệu cụ thể, và nhiều người cũng thấy được ưu điểm của chúng và tìm mua. Client truyền thông và Server truyền thông cần trợ giúp cơ chế truyền thông cụ thể và trợ giúp cho cả giao thức truyền thông.
Trong mô hình cổng người ta thường để cùng một người thiết kế thành phần cổng và Client truyền thông, Server truyền thông. Sở dĩ như vậy là do chưa có chuẩn quản lí các giao diện, dịch vụ và chức năng trong môi trường này. Nhà cung cấp có thể dùng API của cơ sở dữ liệu hiện có và ngôn ngữ truy nhập dữ liệu người dùng đang sử dụng. Môi trường cũng có thể dùng phần mềm cơ sở dữ liệu đã có tuy nó chưa đáp ứng được với cơ sở dữ liệu phân tán.
Nhà cung cấp có thể thiết kế phần mềm cổng để chương trình viết theo API của phần mềm cơ sở dữ liệu khác truy nhập được phần mềm cơ sở dữ liệu của họ. Tuy nhiên người ta thường viết phần mềm cho riêng sản phẩm của họ và chỉ có phần mềm này mới hoàn toàn phù hợp.
Nhiều nhà cung cấp cơ sở dữ liệu phân tán đang dùng mô hình cổng, do mô hình này đơn giản nhất so với các mô hình khác. Tuy vậy, nếu cài đặt tuân theo mô hình cổng để truy nhập cơ sở dữ liệu phân tán, người ta có thể bị gắn sâu vào một tiếp cận của nhà cung cấp.
Chương trình ứng dụng ORACLE
Giao diện API của ORACLE
Client truyền thông
Server truyền thông
Giao diện API của ORACLE
Cổng ORACLE/DB2
Giao diện API của DB2
Client truyền thông
Server truyền thông
Giao diện API của DB2
Cơ sở dữ liệu DB2
Phần mềm cơ sở dữ liệu DB2
Hình 8. Truy nhập cơ sở dữ liệu DB2 qua ORACLE.
2.2. Mô hình giao diện chuẩn
Giống như mô hình cổng, mô hình giao diện chuẩn được thiết kế để chương trình ứng dụng viết theo API của cơ sở dữ liệu yêu cầu dịch vụ của phần mềm cơ sở dữ liệu dùng tại API. Phần mềm chạy trên máy Server được gọi là nguồn dữ liệu. Nguồn này gồm phần mềm cơ sở dữ liệu và phần mềm máy Server truyền thông. Phần mềm chạy trên máy Client có nhiều thành phần thiết bị thiết kế cho giao diện với nguồn dữ liệu cụ thể.
Phần mềm trên máy Client có thành phần quản trị thiết bị; thành phần này thực hiện hai giao diện sau:
Giao diện dịch vụ. Đây là API mà các thiết bị sử dụng để lập giao diện với quản trị thiết bị. Nhà phân phối phần mềm viết thiết bị cho phù hợp với giao diện dịch vụ để phần mềm cơ sở dữ liệu của họ giao tiếp được với quản trị thiết bị.
Giao diện chương trình ứng dụng. Đây là API mà chương trình ứng dụng dùng để yêu cầu dịch vụ cơ sở dữ liệu.
Do sự phụ thuộc vào thiết bị và quản trị thiết bị, mô hình giao diện đôi khi được gọi là mô hình thiết bị. Mô hình giao diện chuẩn có nhiều điểm tương tự như mô hình cổng. Khác nhau chính ở chỗ mô hình này phụ thuộc vào API chuẩn mà tất cả các cơ sở dữ liệu đều dùng. Người ta phát triển ứng dụng cơ sở dữ liệu muốn tham gia vào môi trường mô hình giao diện chuẩn cần phải viết chương trình theo API chuẩn hoặc sử dụng phần mềm chuyển API riêng sang API chuẩn.
2.3. Liên kết cơ sở dữ liệu mở của Microsoft
Để mô hình thiết bị hữu dụng trong môi trường không đồng nhất, nhiều tổ chức đủ mạnh cần tạo và thông báo về API yêu cầu và chuẩn giao diện thiết bị. Ngoài ra số lớn người dùng và nhà cung cấp phần mềm cơ sở dữ liệu cần cam kết tham gia chuẩn này. Trên môi trường máy cá nhân, Microsoft là tổ chức như vậy.
Hãng này đã xây dựng chuẩn giao diện cơ sở dữ liệu gọi là liên kết cơ sở dữ liệu mở ODBC (open database connectivity); giao diện này phù hợp với mô hình giao diện chuẩn. Một số nhà cung cấp phần mềm cơ sở dữ liệu cho thị trường máy cá nhân đã tạo thiết bị ODBC cho các bộ phần mềm của họ, và ODBC đã trở thành chuẩn truy nhập cơ sở dữ liệu phân tán được công nhận cho dịch vụ môi trường máy cá nhân.
Những nhà phát triển ứng dụng lợi dụng tiếp cận ODBC cho cơ sở dữ liệu phân tán bằng cách phát triển ứng dụng cơ sở dữ liệu mà không quan tâm đến nguồn dữ liệu chuyên dụng sẽ dùng. Ứng dụng này sẽ làm việc trên thiết bị của nhà phân phối và trên bất kì nguồn dữ liệu tương thích nhằm thực hiện kiến trúc ODBC. Những nhà phân phối phần mềm làm như vậy vì họ chỉ cần cung cấp phần mềm thiết bị phù hợp với những thứ mà họ đã cam kết cung cấp.
2.4. Mô hình giao thức chuẩn
Hình vẽ kèm theo giới thiệu mô hình kiến trúc giao thức truy nhập cơ sở dữ liệu. Mô hình kiến trúc này thay vì chuẩn hóa giao diện chương trình ứng dụng được dùng, lại tuỳ thuộc vào việc chuẩn hoá giao thức dùng trong truyền thông giữa các máy tính trong môi trường phân tán. Mô hình giao thức chuẩn này cho phép bất kì API được dùng như phần mềm sẽ phù hợp với chuẩn giao thức.
Chương trình ứng dụng cơ sở dữ liệu
API cơ sở dữ liệu A
Client truyền thông
Server truyền thông
API cơ sở dữ liệu B
Phần mềm cơ sở dữ liệu B
Giao diện chuẩn
Cơ sở dữ liệu B
Hình 9. Mô hình cơ sở dữ liệu phân tán có giao thức chuẩn.
Thuật ngữ giao thức được dùng rộng rãi trong tài liệu về mạng máy tính. Nó được dùng để tham chiếu đến dạng thức của thông báo trao đổi trên mạng giữa hai máy tính liên lạc với nhau và qui luật quản lí cách thức trao đổi.
Ưu điểm của việc chuẩn hoá giao thức là người ta có thể làm việc độc lập để sản xuất ra các thành phần phần mềm khác nhau dùng với API khác nhau thay vì chuẩn hoá API do những nhà phân phối phần mềm cung cấp, khi tất cả thành phần phù hợp với cùng giao thức, tức chuyển thông báo chuẩn trên mạng theo cùng qui luật, chúng sẽ tác động lẫn nhau qua môi trường phân tán.
2.5. Kiến trúc quan hệ phân tán
Tiếp theo chuẩn ODBC, để thực hiện được giao thức chuẩn, vài tổ chức mạnh đưa ra chuẩn giao thức. Một số lớn người dùng và nhà phân phối tham gia chuẩn và cài đặt thành phần Client, Server truyền thông để thực hiện giao thức chuẩn. Trong môi trường mainframe, IBM đóng vai trò tổ chức như vậy.
IBM đã đề xuất chuẩn giao thức truy nhập cơ sở dữ liệu gọi là kiến trúc cơ sở dữ liệu quan hệ phân tán DRDA. Họ đưa ra chuẩn này để trợ giúp phần mềm DB2 trên máy mainframe. Phạm vi của DRDA lan rộng đến các ứng dụng trên máy vi tính.
2.5.1. Các mức truy nhập cơ sở dữ liệu phân tán
Chuẩn DRDA xác đình bốn mức truy nhập cơ sở dữ liệu phân tán dựa trên độ phức tạp của giao tác do ứng dụng tạo ra, dựa trên phạm vi chức năng của phần mềm cơ sở dữ liệu dành cho mỗi loại giao tác, và dựa trên khả năng của giao thức truyền thông giữa những thành phần. Bốn mức đó gồm:
Yêu cầu từ xa. Tại mức truy nhập này, phần mềm cơ sở dữ liệu trợ giúp giao tác; mỗi giao tác là câu SQL đơn, truy nhập cơ sở dữ liệu ở xa. Phần mềm cơ sở dữ liệu cần đến chức năng xử lí giao tác không đặc biệt để trợ giúp mức này.
Đơn vị làm việc ở xa. Với mức truy nhập này, phần mềm cơ sở dữ liệu trợ giúp giao tác; giao tác gồm một loạt câu SQL truy nhập cùng một cơ sở dữ liệu ở xa. Phần mềm cơ sở dữ liệu cần có khả năng điều phối quá trình khẳng định và khôi phục dữ liệu qua tất cả các lệnh SQL như một phần của giao tác. Điều này đòi hỏi phần mềm cơ sở dữ liệu có khả năng khẳng định từ xa.
Đơn vị làm việc phân tán. Với mức truy nhập này, phần mềm cơ sở dữ liệu trợ giúp giao tác gồm xâu câu lệnh SQL truy vấn đến nhiều cơ sở dữ liệu ở xa. Tuy nhiên mỗi câu lệnh SQL chỉ truy nhập một cơ sở dữ liệu. Điều này đòi hỏi phần mềm cơ sở dữ liệu có khả năng cập nhật phân tán, trong đó giao tác đơn có thể cập nhật cơ sở dữ liệu trên các máy tính khác nhau.
Yêu cầu phân tán. Mức truy nhập này tương tự như đơn vị công việc phân tán, chỉ khác là mỗi câu SQL có thể tham chiếu thông tin trên nhiều cơ sở dữ liệu khác nhau, trên nhiều máy tính khác nhau. Điều này đòi hỏi phần mềm cơ sở dữ liệu có khả năng kết nối phân tán, tức chuyển thông tin từ các máy khác nhau về một nơi.
Dưới đây là chi tiết bốn mức vừa nêu:
2.5.1.1. Yêu cầu từ xa
Cấu hình yêu cầu từ xa đòi hỏi hỗ trợ tối thiểu từ phần mềm cơ sở dữ liệu của bốn tiếp cận cơ sở dữ liệu Client/Server do DRDA xác định. Nó cho phép phần mềm cơ sở dữ liệu không thiết kế chuyên để truy nhập cơ sở dữ liệu từ xa vẫn dùng được trong môi trường phân tán.
Máy Client
Máy Server
Chương trình ứng dụng
Client truyền thông
Mạng truyền thông
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Server truyền thông
Hình 10. Cấu hình yêu cầu từ xa.
Với kĩ thuật này, một chương trình ứng dụng chạy trong hệ thống máy tính cục bộ tạo một yêu cầu truy nhập cơ sở dữ liệu và chuyển yêu cầu này sang thành phần Client truyền thông. Chương trình ứng dụng và Client truyền thông đều chạy trên hệ thống tính toán cục bộ. Thành phần Client truyền thông gửi thông báo qua mạng đến chức năng phần mềm bổ sung gọi là máy Server cơ sở dữ liệu. Giao thức chuẩn do DRDA xác định sẽ dùng vào việc truyền thông giữa thành phần Client và Server. Thành phần Server truyền thông, phần mềm cơ sở dữ liệu, và bản thân cơ sở dữ liệu được đặt trên hệ thống tính toán ở xa. Hình vẽ cho thấy cấu hình xử lí yêu cầu từ xa.
Thành phần Server truyền thông chạy trên hệ thống tính toán ở xa đưa yêu cầu truy nhập cơ sở dữ liệu mà nó nhận được đến phần mềm cơ sở dữ liệu đang chạy ở đó. Rồi Server truyền thông gửi kết quả truy nhập cơ sở dữ liệu về Client tính toán trong hệ thống ứng dụng cục bộ. Thành phần Client truyền thông lại chuyển các dữ liệu yêu cầu đến chương trình ứng dụng cục bộ.
Bất kì API cơ sở dữ liệu nào cũng sử dụng cả máy Server và máy Client khi thành phần truyền thông Server, Client đã cài đặt giao thức truyền thông chuẩn DRDA.
Với qua trình yêu cầu từ xa, tất cả các chức năng phân tán được thành phần truyền thông Client, Server thâu tóm. Thành phần cơ sở dữ liệu trong máy ở xa không cần biết trước về truy nhập cơ sở dữ liệu phân tán. Yêu cầu về dữ liệu được chuyển đến phần mềm cơ sở dữ liệu trong máy tính ở xa theo chức năng Server truyền thông. Server truyền thông đối với phần mềm cơ sở dữ liệu được coi như chương trình ứng dụng bình thường chạy trên máy ở xa.
Phần mềm cơ sở dữ liệu chạy trên máy ở xa có thể thiết lập và giải phóng các khoá và có thể thực hiện việc khôi phục dữ liệu với tư cách là chức năng Server truyền thông. Tuy nhiên nếu có lỗi trên mạng hay nếu việc truy nhập thành phần Client cơ sở dữ liệu của chương trình ứng dụng bị lỗi, thì các lỗi này sẽ được chương trình ứng dụng, thành phần Client truyền thông hay thành phần Server truyền thông quản lý. Phần mềm cơ sở dữ liệu trong máy ở xa không biết trước lỗi sẽ xảy ra trong máy thực hiện chương trình ứng dụng hay lỗi xảy ra trên mạng.
2.5.1.2. Đơn vị công tác ở xa
Máy Client
Máy Server
Chương trình ứng dụng
Mạng truyền thông
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Hình 11. Cấu hình đơn vị công tác ở xa.
Với cấu hình đơn vị công tác ở xa, phần mềm cơ sở dữ liệu phụ trợ được đặt trên máy tính cục bộ và trên máy tính ở xa. Theo tiếp cận này, bản thân phần mềm cơ sở dữ liệu thực hiện chức năng Client, Server về truyền thông và cài đặt giao thức DRDA đối với các thông báo gửi đi, nhận được thông báo qua mạng. Hình vẽ mô tả cấu hình truy nhập cơ sở dữ liệu theo kiểu đơn vị làm việc từ xa.
Với xử lí đơn vị công tác ở xa, ứng dụng có thể truy nhập cơ sở dữ liệu quan hệ đơn trên hệ thống tính toán ở xa. Chương trình ứng dụng có thể dùng các câu lệnh SQL như một phần của cùng giao tác. Hai thành phần phần mềm cơ sở dữ liệu phụ trợ bảo trì thông tin trạng thái liên quan đến quá trình của toàn bộ giao tác thông qua các câu lệnh SQL. Chúng có khả năng thực hiện quá trình khẳng định và khôi phục dữ liệu đối với giao tác cũng như đối với toàn bộ quá trình.
Cấu hình đơn vị công tác ở xa trong suốt về nhiều loại lỗi đối với chương trình ứng dụng. Vì truyền thông giữa hai máy tính được bản thân phần mềm cơ sở dữ liệu quản lý, phần mềm cơ sở dữ liệu có thể được thiết kế để khôi phục sau sự cố tại máy tính cục bộ, máy ở xa hay trên mạng truyền thông. Do toàn bộ cơ sở dữ liệu được đặt trên một máy tính, các chức năng quản trị một giao tác cần cho việc khôi phục và xử lí quay lui là đơn giản. Giao thức khẳng định khoá hai pha không yêu cầu cài đặt mức truy nhập cơ sở dữ liệu này.
2.5.1.3. Cấu hình cơ sở dữ liệu phân tán
Hai mức DRDA nêu trên để truy nhập cơ sở dữ liệu từ xa cho phép chương trình truy nhập cơ sở dữ liệu đơn trên máy tính đơn ở xa. Hai mức hỗ trợ truy nhập tiếp theo đây cho phép chương trình truy nhập cơ sở dữ liệu phân tán trên nhiều máy tính ở xa. Hai tiếp cận xử lí cơ sở dữ liệu phân tán có thể lập nên cấu hình được mô tả như trong hình vẽ sau:
Máy Client
Máy Server
Chương trình ứng dụng
Mạng truyền thông
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Phần mềm cơ sở dữ liệu
Máy Server
Phần mềm cơ sở dữ liệu
Cơ sở dữ liệu
Hình 12. Cấu hình cơ sở dữ liệu phân tán.
2.5.1.4. Đơn vị công tác phân tán
Với cấu hình đơn vị công tác phân tán, chương trình ứng dụng có thể truy nhập dữ liệu trong cơ sở dữ liệu ở xa, trên một hay nhiều máy tính. Chương trình ứng dụng có thể yêu cầu một số câu lệnh SQL trong phạm vi giao tác. Tuy nhiên với tiếp cận này mỗi câu lệnh SQL riêng lẻ cần tham chiếu đến dữ liệu trong hệ thống tính toán ở xa. Dữ liệu nhằm thoả mãn câu SQL này không thực hiện trên nhiều máy tính được.
Phần mềm cơ sở dữ liệu chạy trên máy tính cục bộ và phần mềm cơ sở dữ liệu chạy trên các máy tính ở xa làm việc với nhau để điều phối quá trình khôi phục. Do nhiều máy phân tách có thể yêu cầu xử lí đơn vị công tác ở xa nên phần mềm cơ sở dữ liệu cần thực hiện các giao thức khẳng định khóa hai pha nhằm thực hiện khẳng định và khôi phục quay lui, đồng bộ hoá các hệ thống đa dạng.
2.5.1.5. Yêu cầu phân tán
Mức ít hạn chế mà lại trong suốt hơn DRDA trong quá trình phân tán là cấu hình yêu cầu phân tán. Với cấu hình này cơ sở dữ liệu có thể đặt trên một số máy ở xa, và một câu SQL được phép tham chiếu dữ liệu trên nhiều hệ thống tính toán phân biệt. Theo tiếp cận yêu cầu phân tán, chương trình ứng dụng hoàn toàn độc lập với vị trí của dữ liệu. Cơ sở dữ liệu phân tán có thể được tổ chức lại và thay đổi vị trí dữ liệu mà không cần chỉnh lí chương trình ứng dụng. Phần mềm cơ sở dữ liệu cần đáp ứng các hỗ trợ cần thiết để đảm bảo truy nhập trong suốt đến dữ liệu của hệ thống tính toán ở xa.
Như trong môi trường đơn vị công tác phân tán, phần mềm cơ sở dữ liệu với quá trình yêu cầu phân tán cần sử dụng giao thức khẳng định khoá hai pha để thực hiện khẳng định và khôi phục dữ liệu.
2.5.2. Chuẩn truy nhập cơ sở dữ liệu của hệ X/Open
Một thí dụ về chuẩn giao thức truy nhập cơ sở dữ liệu khác là chuẩn truy nhập cơ sở dữ liệu quan hệ RDA (relational database access) do X/Open xác định. X/Open là tổ chức chuẩn quốc tế. Chuẩn RDA phù hợp với mô hình tổng quát chung như DRDA của IBM theo cùng mục đích, kết quả. Tuy nhiên RDA xác định giao thức khác với DRDA.
2.6. Kết hợp nhiều mô hình kiến trúc
Cũng có thể tổ chức sẽ dùng các sản phẩm phù hợp với nhiều mô hình kiến trúc về phần mềm cơ sở dữ liệu phân tán. Như trong phần trên, ODBC của Microsoft chuẩn hoá giao diện chương trình ứng dụng trong khi DRDA của IBM chuẩn hoá giao thức truy nhập cơ sở dữ liệu. Hai mô hình kiến trúc bổ trợ cho nhau chứ không cạnh tranh, và việc dùng chuẩn này không ngăn cản ý muốn dùng chuẩn khác. Một vài phần mềm cơ sở dữ liệu dùng API của ODBC nối kết với RDA của X/Open.
2.7. Các đối tượng của cơ sở dữ liệu phân tán
Theo Date năm 1990, cơ sở dữ liệu phân tán có mục đích xâu xa là quản lý việc thiết kế sao cho người dùng trong hệ thống này luôn cảm như làm việc trong hệ thống không phân tán. Nói cách khác, tất cả các cơ chế dùng để đạt đến phân bố phân tán về cơ sở dữ liệu cần ẩn giấu người dùng.
Một cơ sở dữ liệu phân tán được hình dung như mạng lưới nhiều trạm xa nhau về không gian. Cơ sở dữ liệu phân tán cần thể hiện hình ảnh của cơ sở dữ liệu logic đơn, chỉ khác là phân bố vật lý trên nhiều trạm. Điểm quan trọng là khi đạt được sự phân tán, với cơ chế phần mềm cơ sở dữ liệu đúng, người dùng không thể phân biệt được hệ thống tính toán ở xa là hệ thống đơn hay hệ thống phân tán. Tiếp theo đây là mười hai đối tượng của các hệ thống cơ sở dữ liệu phân tán. Các đối tượng do Date tổng kết tạo cơ sở đánh giá mức độ người dùng cảm nhận được tính hiệu dụng của hệ thống phân tán để có thể tiếp cận. Các đối tượng này không chỉ áp dụng riêng cho hệ thống cơ sở dữ liệu phân tán.
2.7.1. Tự trị địa phương
Điều này khẳng định mong muốn của tất cả những vị trí trong hệ thống phân tán là độc lập lẫn nhau. Có nghĩa là thao tác trên hệ thống này không bị chương trình của hệ thông khác điều khiển từ xa. Thao tác thực hiện tại một trạm sẽ không phụ thuộc vào thao tác tại nơi khác trong hệ thống phân tán. Điều này ngầm định rằng dữ liệu đặt trên vị trí cụ thể sẽ được phần mềm tại đó điều khiển, dù rằng phần mềm hệ thống ở xa của môi trường phân tán có thể truy nhập dữ liệu này.
Đối tượng này khó thực hiện được trong thực tế, vì trong hệ thống phân tán đôi khi nhiều vị trí cần truy nhập dữ liệu. Để mang ý nghĩa thực tế, người ta theo phương châm nới rộng nhất nếu có thể.
2.7.2. Không tin cậy ở trạm trung tâm
Mục đích tự trị địa phương ngầm ý tất cả các vị trí trong hệ thống phân tán sẽ thao tác theo cặp và không tin tưởng vào một trạm thực hiện cho tất cả các trạm khác. Việc tin cậy vào dịch vụ của một trạm có thể dẫn đến tắc nghẽn tại trạm trung tâm, và toàn bộ hệ thống sẽ trục trặc khi lỗi xảy ra tại trạm chính.
2.7.3. Thao tác tiếp diễn
Có thể thiết kế hệ thống cơ sở dữ liệu phân tán để không bao giờ một yêu cầu lại có thể làm sập hệ thống chung. Liên quan đến việc này là phép bổ sung vị trí mới vào hệ thống, nâng cấp phần mềm tại một trạm cụ thể...
2.7.4. Độc lập về địa điểm
Đối tượng độc lập về địa điểm còn được gọi là trong suốt về địa điểm. Người dùng hay chương trình ứng dụng không liên can đến địa điểm vật lí khi chúng yêu cầu thao tác trên dữ liệu. Hệ thống cơ sở dữ liệu phân tán sẽ tạo dữ liệu phân tán như là nó được lưu trên cơ sở dữ liệu logic đơn; mà đó cũng là địa điểm của người dùng. Đối tượng này thực ra là mở rộng của đối tượng chung trong cơ sở dữ liệu về độc lập dữ liệu.
2.7.5. Độc lập phân đoạn
Phần mềm cơ sở dữ liệu sẽ cho phép cơ sở dữ liệu phân đoạn để các phần khác nhau của cơ sở dữ liệu có thể chuyển sang các địa điểm khác nhau trong môi trường phân tán. Đối tượng này là quan trọng đối với vấn đề hiệu suất sử dụng. Phân đoạn cho phép nhóm các phần tử dữ liệu lưu trên các vị trí thường được truy nhập nhất.
Người ta chia ra làm hai loại phân đoạn là phân theo dòng hoặc theo cột, tức theo chiều ngang hay chiều dọc. Với phân đoạn ngang, cơ sở dữ liệu được phân đoạn để tất cả những thể hiện của tập phần tử dữ liệu ứng với thực thể kinh doanh sẽ lưu tại một nơi. Chẳng hạn yêu cầu vào cơ sở dữ liệu, thông tin về yêu cầu được lưu tại một nơi, thông tin về Client hàng tại nơi khác, và thông tin về đầu tư lại xa hơn.
Phân đoạn dọc theo phép các phần tử dữ liệu cùng kiểu sẽ lưu cùng nơi. Chẳng hạn thông tin đầu tư vào Hải Phòng lưu tại địa phương Hải Phòng, thông tin đầu tư vào Cần Thơ đặt tại Cần Thơ.
Việc độc lập phân đoạn cũng ngầm ý trong suốt về phân đoạn, là một dạng độc lập về địa điểm. Không cần báo trước với người dùng hay chương trình ứng dụng về lược đồ phân đoạn dùng trong hệ thống phân tán. Toàn bộ cơ sở dữ liệu sẽ hiện ra như một cơ sở dữ liệu đơn, không hề bị phân nhỏ.
2.7.6. Độc lập về bản sao
Hệ thống cơ sở dữ liệu phân tán bảo quản nhiều bản sao của cùng một phần tử dữ liệu tại các trạm khác nhau. Các bản sao thường được dùng trong hệ thống phân tán để tăng khả năng và cải thiện hiệu suất. Bản sao cần trong suốt đối với người dùng và chương trình ứng dụng. Người dùng sẽ thu được cùng kết quả dù sử dụng bất kì dữ liệu trên bản sao nào. Các thay đổi của chương trình ứng dụng trên một bản sao sẽ được lan truyền tới các bản sao còn lại.
2.7.7. Xử lí câu hỏi phân tán
Đối tượng này cho biết rằng khi một người dùng hay chương trình ứng dụng tại một nơi ra câu hỏi thì bản thân câu hỏi này có khả năng được gửi đến những nơi có dữ liệu thỏa mãn câu hỏi. Phần trước đã điểm qua về khác nhau giữa mô hình trạm Server file và mô hình cơ sở dữ liệu Client/Server. Nếu tất cả các câu hỏi được xử lí tại A và dữ liệu đặt tại B thì khối lượng lớn dữ liệu sẽ qua lại giữa A và B để thực hiện câu hỏi. Nếu câu hỏi được truyền sang B rồi thực hiện thì tình trạng liên lạc nhiều lần sẽ được giải quyết.
Để đáp ứng hoàn toàn đối tượng này, cần có cơ chế tối ưu hoá câu hỏi, chuyển câu hỏi trên nhiều trạm về một số hạn chế các trạm.
2.7.8. Quản trị giao tác phân tán
Việc quản trị giao tác phân tán liên quan đến ý đồ của giao tác. Một giao tác bao gồm nhiều xử lí, nhiều truy nhập dữ liệu trên nhiều cơ sở dữ liệu, nhưng giao tác là đơn vị nhỏ nhất đảm bảo được điều khiển tương tranh và khôi phục dữ liệu. Vấn đề ở đây là toàn bộ quá trình phải được coi như đơn vị. Nếu một phần giao tác bị lỗi thì kết quả phần trước của giao tác cũng bị huỷ khỏi hệ thống.
Hệ thống cơ sở dữ liệu phân tán trợ giúp quá trình khôi phục phân tán, trong đó các phần tử dữ liệu trên các vị trí vật lí khác nhau có thể được cập nhật như một phần của xử lí giao tác. Nếu một phần của giao tác bị lỗi thì bất kì cập nhật nào với phần khác của cơ sở dữ liệu cần được quay ra để khôi phục lại toàn bộ cơ sở dữ liệu phân tán về trạng thái trước khi bắt đầu giao tác.
Hệ thống cơ sở dữ liệu phân tán cũng trợ giúp điều khiển tương tranh phân tán. Hệ thống có cơ chế phù hợp, cho phép nhiều chương trình đồng thời truy nhập các phần khác nhau của cơ sở dữ liệu, và ngăn cản khoá chết khi xảy ra các phép xung đột. Xử lí giao tác phân tán nhìn chung được thực hiện với giao thức khẳng định khoá hai pha với các tiện nghi khoá dữ liệu.
2.7.9. Độc lập phần cứng
Người ta khuyến cáo về nền tảng độc lập với việc xây dựng hệ thống. Độc lập phần cứng khẳng định hệ thống cơ sở dữ liệu phân tán có thể đặt trên nhiều kiểu hệ thống tính toán. Chẳng hạn người ta dùng các môi trường khác nhau như mainframe của IBM, bộ xử lí của VAX DEC và máy tính cá nhân có vi xử lí Intel.
2.7.10. Độc lập hệ thống điều hành
Độc lập hệ thống điều hành một phần do đối tượng độc lập phần cứng ngầm qui định. Hệ thống phân tán có thể dùng hệ thống tính toán với các hệ thống điều hành khác nhau như MVS của IBM, OpenVMS của DEC, Windows NT của Microsoft. Độc lập hệ điều hành và độc lập phần cứng có thể tách biệt vì hệ thống điều hành linh động trên nhiều cấu hình máy tính của các nhà cung cấp khác nhau. Khả năng các hệ thống điều hành khác nhau trên cùng một máy cho phép hệ thống phân tán dùng phần cứng thuần nhất và phần mềm không thuần nhất.
2.7.11. Độc lập mạng
Ngày nay nền tảng cho hệ thống tính toán được đặc trưng bởi kiểu phần cứng cụ thể, chạy hệ thống điều hành riêng, và có phần mềm truyền thông mạng phù hợp, như TCP/IP, SNA, NetWare của Novell. Cũng có thể dùng phần mềm truyền mạng khác trên các phần khác nhau của hệ thống phân tán mà người dùng không cần biết đến những khác nhau này.
2.7.12. Độc lập phần mềm cơ sở dữ liệu
Đối tượng này nhằm vào hệ thống cơ sở dữ liệu phân tán dùng các phần mềm cơ sở dữ liệu khác nhau chạy trên vị trí khác nhau trong môi trường phân tán. Đối tượng này không giống như kết quả chốc lát mà do việc chuẩn hoá giao diện đã trở thành chuẩn thông dụng. Các kiến trúc cơ sở dữ liệu phân tán của các nhà cung cấp đã được giới thiệu trong các phần trên, góp phần đảm bảo độc lập phần mềm cơ sở dữ liệu.
2.8. Kết luận về kiến trúc phần mềm cơ sở dữ liệu phân tán
Để tiện tạo dựng môi trường cơ sở dữ liệu phân tán không đồng nhất, người ta dùng ba mô hình kiến trúc phần mềm khác nhau là mô hình cổng, mô hình giao diện chuẩn và mô hình giao thức truy nhập cơ sở dữ liệu.
Với mô hình cổng, máy Client dùng một API cơ sở dữ liệu để nối với máy cổng. Cổng này truy nhập tiện nghi của cơ sở dữ liệu tại máy Server cơ sở dữ liệu; tại đó phần mềm cơ sở dữ liệu máy Server có API khác. Chức năng cổng dịch yêu cầu mà chương trình ứng dụng cần thực hiện sang yêu cầu mà phần mềm cơ sở dữ liệu hiểu được.
Với mô hình giao diện chuẩn, phần mềm thiết bị chạy trên máy Client thiết lập liên kết mạng và dịch yêu cầu theo dạng chuẩn API sang yêu cầu truy nhập cơ sở dữ liệu mà phần mềm cơ sở dữ liệu chấp nhận được. Chuẩn API liên kết cơ sở dữ liệu mở ODBC thực hiện mô hình giao diện chuẩn để truy nhập từ xa.
Với mô hình giao thức chuẩn, giao thức được chuẩn hoá sẽ điều khiển truyền thông giữa các thành phần phần mềm đa dạng trong môi trường phân tán. Các tiếp cận như kiến trúc cơ sở dữ liệu quan hệ phân tán DRDA, truy nhập cơ sở dữ liệu phân tán RDA là hai tiếp cận truy nhập cơ sở dữ liệu từ xa đã chuẩn hoá giao thức truy nhập cơ sở dữ liệu. DRDA xác định bốn mức truy nhập cơ sở dữ liệu từ xa. Các kiểu yêu cầu từ xa và đơn vị công tác ở xa khi truy nhập cơ sở dữ liệu phân tán cho phép truy nhập cơ sở dữ liệu đơn. Còn đơn vị công tác phân tán và các cấu hình yêu cầu phân tán cho phép truy nhập cơ sở dữ liệu phân tán.
Mười hai đối tượng để thiết kế cơ sở dữ liệu phân tán là tự trị địa phương, không tin vào trạm trung tâm, thao tác liên tục, độc lập về địa điểm, độc lập về phân đoạn, độc lập giữa các bản sao, xử lí câu hỏi phân tán, quản trị giao tác phân tán, độc lập phần cứng, độc lập hệ thống điều hành, độc lập mạng và độc lập phần mềm cơ sở dữ liệu.
3. Kết luận
Trong chương này đã giới thiệu sơ lược về vấn đề liên quan đến cơ sở dữ liệu. Người ta có thể khảo cứu cơ sở dữ liệu theo tiếp cận cơ sở dữ liệu quan hệ theo một phần mềm cơ sở dữ liệu cụ thể, tức một hệ quản trị cơ sở dữ liệu cụ thể. Trong chương này không đi sâu vào các vấn đề mà chỉ nêu các khái niệm tổng quát nhất, nhưng với mức độ chưa cao. Các nội dung đã được giới thiệu gồm:
Khái niệm về Client, Server, Client/Server.
Cấu hình cơ sở dữ liệu Client/Server.
Kiến trúc phần mềm cơ sở dữ liệu phân tán.
Những phần được giới thiệu trên ngoài ra còn các hệ thống cơ sở dữ liệu phân cấp, mạng hay quan hệ, cơ sở dữ liệu suy diễn. Đó là cơ sở dữ liệu xử lý các dữ liệu cùng tri thức.
Trong nghiên cứu cơ bản và các ứng dụng, người ta cần truy nhập không chỉ một cơ sở dữ liệu mà nhiều cơ sở dữ liệu, có các kiểu khác nhau. Việc truy nhập cơ sở dữ liệu phân tán đã phức tạp, nay nhu cầu cần truy nhập cơ sở dữ liệu không đồng nhất. Nó đòi hỏi các nghiên cứu về tích hợp hệ thống, tổng hợp dữ liệu từ nhiều nguồn khác nhau. Kho thông tin khi đó không thực hiện được theo một mô hình nhất định mà nó đã tồn tại dưới nhiều dạng khác nhau.
CHƯƠNG II
THIẾT KẾ BÀI TOÁN THỰC TẾ
Trong chương này ta thiết kế cơ sở dữ liệu dựa trên bài toán "Quản lý học viên" để sử dụng trong môi trường Client/Server.
1. Đặt vấn đề
1.1. Sự cần thiết của việc quản lý học viên
Từ khi máy tính ra đời đến nay, những ứng dụng của nó trong mọi lĩnh vực của cuộc sống nói chung và trong lĩnh vực quản lý nói riêng ngày càng phát triển. Cùng với sự phát triển của phần cứng, phần mềm và công nghệ mạng các phần mềm quản lý ngày càng phục vụ tốt hơn công việc cho các cán bộ quản lý, lãnh đạo trong công tác nghiệp vụ quản lý kinh doanh, ra quyết định, lập kế hoạch...
Viện đào tạo công nghệ thông tin của trường đại học Quốc gia Hà Nội là một đơn vị quản lý một khối lượng cơ sở vật chất lớn phục vụ cho việc đào tạo và giảng dạy. Ngoài việc này Viện còn quản lý một số lượng lớn học viên học tại Viện.
Với yêu cầu của Viện đào tạo công nghệ thông tin của trường đại học Quốc gia Hà Nội là "Quản lý học viên", trong thời gian thực hiện đề tài tốt nghiệp, được sự gợi ý của thầy giáo hướng dẫn tôi đã chọn bài toán "Quản lý học viên". Với nội dung cơ bản của bài toán là: Xây dựng phần mềm quản lý dữ liệu gồm các chức năng:
Lưu trữ dữ liệu về học viên.
Tạo hệ thống hỏi đáp.
1.2. Những yêu cầu về phần mềm
Phần mềm quản lý học viên phải đạt được những yêu cầu cơ bản sau:
Lưu trữ đầy đủ thông tin về học viên.
Tìm kiếm, cập nhật thuận lợi, nhanh chóng.
Có giao diện đẹp, thuận lợi và thân thiện với người sử dụng. Đối tượng sử dụng không đòi hỏi phải được trang bị nhiều kiến thức về máy tính.
Có cấu trúc trong sáng, dễ dàng mở rộng, sửa đổi khi có các yêu cầu quản lý mới.
Cho phép trao đổi dữ liệu với các phần mềm thông dụng khác.
Chạy trên máy tính cá nhân và trong môi trường mạng.
2. Phân tích bài toán quản lý học viên
Phân tích bài toán nhằm lựa chọn giải pháp thích hợp, biện pháp cụ thể xác lập cơ sở dữ liệu để đưa máy tính vào phục vụ trong lĩnh vực quản lý. Phân tích là một công việc đầu tiên của quá trình xây dựng hệ quản lý trên máy tính, không thể đưa máy tính vào áp dụng mà không qua giai đoạn phân tích. Trong quá trình phân tích thì sơ đồ dòng dữ liệu giúp cho ta dễ dàng xác định yêu cầu của người sử dụng, sơ đồ dòng dữ liệu đưa ra mô hình về hệ thống. Điều quan trọng là phải có sẵn thông tin vào và phải đưa ra các thông tin gì trước khi thực hiện một quá trình.
Có thể bắt đầu xây dựng cơ sở dữ liệu trong Microsoft Access giống như tạo một bảng tính để giải quyết một bài toán đơn giản trong một ứng dụng bảng tính Microsoft Excel, chỉ cần bắt đầu từ công việc tổ chức các dữ liệu thành các hàng và các cột, thêm vào các công thức tính toán ở những vị trí cần thiết. Nhưng đã làm nhiều với các hệ cơ sở dữ liệu hay ứng dụng bảng tính, thì chúng ta hiểu rằng kiểu làm việc không có kế hoạch như vậy chỉ có tác dụng trong những tình huống đơn giản nhất. Việc giải quyết một vấn đề thực tế đòi hỏi phải lập kế hoạch và phải sửa đi sửa lại nhiều lần ứng dụng trước khi hoàn thành. Một trong những điểm đặc biệt của một hệ cơ sở dữ liệu như Microsoft Access là việc sửa lỗi trong quá trình này dễ dàng hơn rất nhiều, tuy nhiên xét về lâu dài thì rất nên dành thời gian ban đầu cho việc thiết kế các nhiệm vụ phải thực hiện các cấu trúc dữ liệu cần thiết để hỗ trợ các nhiệm vụ đó và tiến trình thực hiện các nhiệm vụ của một ứng dụng cơ sở dữ liệu.
Để bắt đầu thiết kế một ứng dụng cơ sở dữ liệu ta phải làm theo những giai đoạn cơ bản sau:
Giai đoạn 1:
Trước khi bắt tay vào xây dựng một ứng dụng, chắc chắn ta phải tìm hiểu những công việc mà hệ thống sẽ thực hiện. Nên dành một ít thời gian để lập danh sách tất cả các nhiệm vụ chính cần thực hiện trong ứng dụng như:
Xác lập dự án.
Khảo sát sơ bộ.
Đề xuất giải pháp ở mức thô.
Lập luận chứng và kế hoạch dự án.
Giai đoạn 2:
Phân tích hệ thống.
Phân tích quản lý hệ thống hiện nay.
Xây dựng sơ đồ chức năng.
Xác định ngôn ngữ Microsoft Access để xây dựng một ứng dụng.
Giai đoạn 3:
Xây dựng mô hình quản lý dữ liệu.
Xây dựng quan hệ giữa các phần xử lý.
Giai đoạn 4:
Thiết kế chi tiết.
Thiết kế các bảng dữ liệu.
Thiết kế các mẫu biểu.
Thiết kế các báo cáo.
Giai đoạn 5:
Hoàn thiện chương trình.
Nạp dữ liệu chạy thử.
Huấn luyện.
Giai đoạn 6:
Khai thác, sửa đổi và nâng cấp chương trình.
Phát triển chương trình nếu có thể.
3. Lựa chọn phần mềm cơ sở dữ liệu để giải quyết bài toán
Để xây dựng bài toán "quản lý học viên" ở trên, trong bộ Microsoft Office 97 for Windows có phần mềm cơ sở dữ liệu Microsoft Access 97 được chọn làm phần mềm thiết kế cơ sở dữ liệu. Microsoft Access là một trong các chương trình quản lý cơ sở dữ liệu dễ sử dụng nhất trên thị trường để tạo các ứng dụng cơ sở dữ liệu. Micorosoft Access đã đưa vào một số công cụ tạo cơ sở dữ liệu rất mạnh điều này tạo điều kiện thuận lợi cho việc thiết kế ứng dụng cơ sở dữ liệu. Trong bộ Microsoft Access có hỗ trợ ngôn ngữ lập trình đó là Access Basic. Access Basic dễ học hơn các ngôn ngữ lập trình truyền thống khác vì Access Basic trợ giúp thực hiện nhiều tác vụ cho công việc phát triển ứng dụng. Không những thế Microsoft Access còn có thể kết nối được với rất nhiều loại cơ sở dữ liệu khác nhau (Dbase, Foxbase, Foxpro, Paradox...). Điều này tạo điều kiện thuận lợi cho việc phát triển để chương trình mở rộng cho các loại cơ sở dữ liệu khác nhau. Phần mềm cơ sở dữ liệu Microsoft Access là một môi trường rất mạnh nó hỗ trợ cho ta phát triển các ứng dụng trên môi trường Windows và Windows NT phức hợp và việc kết nối để sử dụng trên các mạng diện rộng hay Internet và Intranet sẽ dễ dàng hơn.
4. Thông tin quản lý
Trên cơ sở phiếu điều tra học viên và các chức năng của phần mềm cần đạt được, cần phải tổ chức dữ liệu khoa học và chặt chẽ. Các điểm cần chú ý là:
Thông tin phải đầy đủ và có thể thu thập được để mô tả về đối tượng quản lý học viên. Tránh việc nhập thông tin quá ít hay quá nhiều.
Những thông tin thuộc loại chuẩn cần khống chế việc nhập dữ liệu để thuận tiện và chính xác cho qúa trình tìm kiếm và tổng hợp sau này.
Cụ thể loại thông tin chính cần tổ chức lưu trữ, cập nhật trên máy tính là thông tin về một học viên.
5. Các chức năng chính của hệ thống
Việc xây dựng các chức năng cơ bản của hệ thống phải dựa trên nhu cầu thực tế của chương trình quản lý học viên.
Cụ thể có các chức năng chính sau:
Sơ đồ chức năng:
Sơ đồ quản lý học viên
Quản lý học viên
Cập nhật học viên
Tìm kiếm
In danh sách
Kết thúc
Hình 1. Sơ đồ phân rã chức năng của hệ thống.
Phân tích hệ thống chức năng:
Chức năng cập nhật học viên: Có nhiệm vụ cho phép người quản lý có thể:
Xem thông tin về một học viên.
Sửa thông tin về một học viên.
Xoá thông tin về một học viên.
Thêm các thông tin về một học viên mới.
Chức năng tìm kiếm: Có nhiệm vụ cho phép người quản lý có thể:
Tìm kiếm thông tin về một học viên.
Tìm kiếm một danh sách học viên theo lớp.
Chức năng in danh sách học viên: Có mục đích nhằm cho phép người quản lý có thể:
In ra danh sách lớp học viên.
In toàn bộ danh sách các lớp học viên.
5.1. Phần cập nhật học viên
Phần này gồm các chức năng con sau:
Xem các học viên.
Nhập học viên mới.
Sửa dữ liệu học viên đã có.
Xoá dữ liệu học viên đã có.
Sơ đồ cập nhật học viên:
1. Cập nhật học viên
1.2. Nhập học viên mới
1.3. Sửa dữ liệu học viên
1.4. Xoá dữ liệu học viên
1.1. Hiện danh sách học viên
Hình 2. Sơ đồ phân rã chức năng cập nhật học viên.
5.2. Tìm kiếm
Sơ đồ tìm kiếm học viên được tiến hành theo:
Tìm kiếm theo danh sách lớp.
Tìm kiếm theo thông tin về học viên.
5.2.1. Tìm kiếm học viên
Tìm kiếm học viên
Tìm kiếm theo ngày sinh
Tìm kiếm theo tên học viên
Tìm kiếm theo mã học viên
Tìm kiếm theo chức vụ
Tìm kiếm theo địa chỉ
Tìm kiếm theo số phone
Tìm kiếm theo số fax
Tìm kiếm theo tên lớp
Hình 3. Sơ đồ phân rã chức năng tìm kiếm học viên.
5.2.2. Tìm kiếm danh sách lớp học viên
Tìm kiếm danh sách học viên
Tìm kiếm theo tên lớp
Hình 4. Sơ đồ phân rã chức năng tìm kiếm danh sách học viên.
6. In danh sách
Sơ đồ in danh sách được tiến hành theo cách:
In danh sách theo một tên lớp.
In danh sách theo toàn bộ các tên lớp.
6.1. In theo một tên lớp
In theo một tên lớp
Chọn tên lớp
Hình 5. Sơ đồ phân rã chức năng in danh sách theo một tên lớp.
6.2. In toàn bộ danh sách
In toàn bộ danh sách
Chọn tất cả
Hình 6. Sơ đồ phân rã chức năng in toàn bộ danh sách.
7. Bảng dữ liệu về học viên
Cơ sở dữ liệu được thiết kế như sau:
File Name
Data Type
Description
MaHV
AutoNumber
Số được gán cho học viên
TenHV
Text
Họ và tên học viên
Ngaysinh
Date/Time
Tháng/Ngày/Năm sinh học viên
Chucvu
Text
Chức vụ chuyên môn của học viên
Diachi
Text
Nơi làm việc của học viên
Phone
Text
Số điện thoại
Fax
Text
Số fax
Anh
OLE Object
Ảnh của mỗi học viên
Lop
Text
Lớp học mà học viên được đào tạo
8. Thiết kế màn hình giao diện
Giao diện của chương trình "Quản lý học viên" được thiết kế gồm các biểu mẫu sau đây:
8.1. Màn hình giao diện chính
Màn hình giao diện chính gồm 5 nút điểu khiển:
Cập nhật học viên.
Tìm kiếm.
In danh sách
Về của sổ Database.
Thoát ra khỏi ứng dụng.
8.2. Màn hình giao diện "Cập nhật học viên"
Màn hình “Cập nhật học viên” có 6 nút điểu khiển:
Nút Trở về cho phép người sử dụng xem một học viên đứng trước học viên hiện hành.
Nút Tiếp theo cho phép người sử dụng xem một học viên tiếp theo so với học viên hiện hành.
Nút Thêm một học viên mới cho phép người quản lý nhập dữ liệu một học viên mới vào học.
Nút Sửa dữ liệu của học viên cho phép người quản lý sửa dữ liệu một học viên tồn tại khi có sự nhầm lẫn.
Nút Xoá dữ liệu đã tồn tại của học viên cho phép người quản lý huỷ bỏ tất cả dữ liệu thuộc về một học viên.
Nút Đóng là thoát ra khỏi màn hình giao diện "Cập nhật học viên" và quay trở về màn hình giao diện chính.
8.3. Màn hình giao diện "Tìm kiếm"
Màn hình giao diện "Tìm kiếm" gồm 2 nút điều khiển sau:
Nút Tìm kiếm khi thông tin được đưa vào.
Nút Đóng là thoát khỏi màn hình giao diện "Tìm kiếm" và quay trở lại màn hình giao diện chính.
8.4. Màn hình giao diện "Thông tin tìm được"
Màn hình giao diện "Thông tin tìm được" gồm 4 nút sau:
Nút Trở về cho phép xem các thông tin của một học viên đứng trước một học viên hiện tại.
Nút Xem tiếp cho phép xem các thông tin của một học viên đứng sau một học viên hiện tại.
Nút Tìm tiếp để quay trở lại màn hình giao diện "Tìm kiếm".
Nút Đóng là thoát ra khỏi màn hình giao diện "Thông tin tìm được" về màn hình giao diện chính.
8.5. Màn hình giao diện "In danh sách"
Màn hình giao diện "In danh sách" gồm các nút điều khiển sau:
Nút Xem trước là để xem danh sách học viên trước khi in ra một danh sách.
Nút In là để thực hiện in ra một danh sách học viên.
Nút Đóng để thực hiện thoát ra khỏi màn hình giao diện "In danh sách" và quay về màn hình giao diện chính.
Khi chọn lớp danh sách và chọn nút xem trước khi in ta có báo cáo trên.
CHƯƠNG III
MẠNG MÁY TÍNH VÀ ỨNG DỤNG CÔNG NGHỆ MẠNG
ĐỐI VỚI BÀI TOÁN THỰC TẾ
1. Môi trường làm việc.
Chương trình "Quản lý học viên" ngoài việc thiết kế để chạy trên một máy tính đơn lẻ, nó còn được thiết kế chạy trên môi trường mạng Windows NT với mô hình cơ sở dữ liệu tập trung hoặc mô hình cơ sở dữ liệu phân tán. Toàn bộ các dữ liệu của hệ thống thông tin quản lý được lưu trữ vào một cơ sở dữ liệu và được bố trí tại trạm làm việc trung tâm (máy Server), hoặc cơ sở dữ liệu được đặt trên các máy Server. Trong một cơ sở dữ liệu như vậy, việc xử lý dữ liệu như: cập nhật, xoá, tìm kiềm... sẽ được xử lý phân tán. Tại các trạm làm việc khi có nhu cầu xử lý thông tin người sử dụng sẽ đưa ra yêu cầu vào máy trạm. Khi nhận được các thông tin cần thiết, chương trình ứng dụng trên trạm làm việc sẽ tiến hành xử lý và thông báo kết quả cho người sử dụng.
Ta có thể đưa ra một số ưu điểm của môi trường làm việc như sau:
1.1. Đối với mạng Windows NT
Mô hình Windows NT thích hợp với tất cả các sơ đồ mạng (BUS, STAR, RING và hỗn hợp).
Là hệ điều hành cho phép quản lý mềm dẻo theo mô hình khác nhau như: bình đẳng (peer to peer), tập trung (Client/Server). Windows NT là bộ phần mềm được hãng Microsoft tung ra thị trường với tư cách là một hệ điều hành mạng. Nó có những nét đặc trưng cơ bản sau:
Là một hệ điều hành mạng đáp ứng tất cả các giao thức phổ dụng nhất.
Là một trong những hệ điều hành mạng đáp ứng dịch vụ truyền thông tốt nhất hiện nay, vừa cho phép giao lưu giữa các máy trong mạng vừa cho phép truy cập từ xa, cho phép truyền file,...
Là hệ điều hành vừa đáp ứng cho mạng cục bộ (LAN) vừa đáp ứng cho mạng diện rộng (WAN) như Internet, intranet...
Là hệ điều hành rất dễ cài đặt.
1.2. Đối với mô hình cơ sở dữ liệu tập trung
Đảm bảo tính độc lập về cơ sở dữ liệu, tính bất biến đối với các chiến lược truy nhập. Do vậy việc đảm bảo tính toàn vẹn của cơ sở dữ liệu dễ thực hiện hơn.
Các kỹ thuật thao tác cơ sở dữ liệu tập trung được xây dựng tương đối hoàn thiện và có hiệu quả.
1.3. Thiết lập và quản trị các máy Server cơ sở dữ liệu
Hệ thống cơ sở dữ liệu tập trung trên mạng diện rộng đối với việc thiết lập các Server Database, nó bao gồm một cơ sở dữ liệu đặt tập trung, trên nhiều các site có thể truy nhập vào cơ sở dữ liệu được.
Ưu điểm: Dễ cập nhật quản trị cơ sở dữ liệu, tính độc lập hệ thống và bảo mật cao.
Nhược điểm: Khi tạo lập các site mới hay bổ sung thêm số lượng User database truy nhập, tính năng mở rộng bị hạn chế. Đồng thời trang bị các thiết bị cho việc chi phí quản trị tập trung lớn. Ví dụ mô phỏng:
Đại học Sư phạm
Đại học ngoại ngữ
VITTI
Khoa CNTT
Cơ sở dữ liệu
Mạng truyền thông
Hình 1. Mô hình cơ sở dữ liệu tập trung trên mạng.
1.4. Hệ thống bảo mật đối với hệ cơ sở dữ liệu trên mạng
Kiến trúc hoạch định được chia làm hai mức đối với hệ thống mạng và DBMS. Mỗi một User truy nhập cơ sở dữ liệu phải hợp lệ User ID và mật khẩu. Đối với DBMS được chia làm 2 mức bảo vệ truy nhập vào Database:
Data level security: Kiểm tra các quyền truy nhập của các user vào cơ sở dữ liệu, được thông qua hệ bảo mật và các chức năng kiểm soát như: Read, Write và Delete.
Application level security: Thông qua cổng các chương trình kiểm tra ứng dụng truy nhập vào cơ sở dữ liệu.
2. Các chức năng hoạt động trên mạng.
Phần mềm quản lý học viên này được xây dựng theo mô hình Client/Server bao gồm hai phần mà một hoạt động trên máy tính trung tâm và một phần hoạt động trên máy trạm khai thác.
Phần Server là phần chính, nó đảm nhận các công việc sau:
Lưu trữ toàn bộ cơ sở dữ liệu.
Các thao tác xử lý dữ liệu trên máy tính trung tâm.
Giao tiếp với phần Client.
Thực hiện các vấn đề về an toàn dữ liệu.
Phân quyền sử dụng cho các máy trạm làm việc.
Phần Client đảm nhiệm:
Tổ chức giao tiếp người trên máy trạm.
Truyền gửi dữ liệu về máy tính trung tâm.
Từ thiết kế cho thấy dữ liệu được tập trung trên một máy Server. Các máy trạm được nối với máy Server. Tuỳ theo từng chức năng mà người quản lý và người xem thực hiện các công việc khác nhau trong hệ thống quản lý học viên. Ví dụ: Người quản lý có quyền cao nhất như nhập học viên mới và sửa, xoá dữ liệu về học viên. Còn người xem chỉ có thể xem danh sách các học viên. Các chức năng này được thực hiện đồng thời trên các máy Client mà không ảnh hưởng đến nhau.
Vấn đề này được mô tả qua sơ đồ sau:
Data
Server
Switch
Switch
Phòng ban 1
Phòng ban 2
Văn phòng
Văn phòng
Chức năng
Hình 2. Mô hình cơ sở dữ liệu tập trung.
Như vậy các chức năng chính của chương trình được phân phối trên các máy Client khi người sử dụng thao tác, các dữ liệu được truyền gửi từ máy Server đến các máy Client. Người sử dụng thao tác với các dữ liệu đó trên các máy Client và kết quả xử lý được gửi về máy Server.
Mô hình Client/Server có nhiều ưu điểm như: vì dữ liệu được tổ chức và xử lý tập trung nên có độ an toàn cao, hoạt động tốt trên mạng tích hợp đa dạng về phần cứng và hệ điều hành, đặc biệt là giảm dung lượng thông tin trên đường truyền của mạng, tránh tắc nghẽn trên mạng, tăng tốc độ hoạt động của phần mềm trên mạng vì có thể giới hạn thông tin truyền trên mạng chỉ là dữ liệu.
3. Yêu cầu cấu hình và hướng dẫn cài đặt
3.1. Yêu cầu cấu hình
3.1.1. Đối với máy tính cá nhân
Để chạy chương trình quản lý học viên, tối thiểu cần phải có:
Máy tính IBM - PC/AT386 hoặc tương thích.
Dung lượng bộ nhớ tối thiểu 16 MB RAM.
Máy tính sử dụng hệ điều hành, Windows 95, Windows 98, và phần mềm quản trị cơ sở dữ liệu Microsoft Access.
Một ổ đĩa mềm.
Một ổ cứng dung lượng tối thiểu 600 MB.
Màn hình màu.
Một máy in.
3.1.2. Đối với máy tính mạng
Máy chủ sử dụng mạng Windows NT hoặc Unix.
Các máy Client dùng hệ điều hành Windows 95 trở lên và phần mềm quản trị cơ sở dữ liệu Microsoft Access.
Mạng truyền thông.
Một máy in.
3.2. Hướng dẫn cài đặt
3.2.1. Cài đặt chương trình trên máy đơn
Trong đĩa mềm đã có sẵn file chạy của chương trình
Tạo thư mục QLHV trong ổ C:\.
Copy toàn bộ các file cần thiết sang thư mục C:\QLHV.
Chạy chương trình từ file QLHV.mdb trong thư mục C:\QLHV. Khi chạy chương trình ta đặt đường dẫn chính xác tới bảng dữ liệu.
3.2.2. Cài đặt chương trình trên mạng
Tạo một thư mục QLHV trên máy Server hoặc một máy trạm bất kỳ.
Copy file cơ sở dữ liệu chứa bảng dữ liệu vào thư mục QLHV.
Trên các máy Client thuộc mạng tạo một thư mục QLHV trong ổ C:\.
Copy file chương trình vào thư mục QLHV.
Trong thư mục QLHV trên các máy Client ta có thể chia sẻ từng chức năng theo mức độ của từng người sử dụng có các quyền như sau write, read only, delete, hoặc tất cả các quyền trên.
Khi chạy chương trình trên các máy trạm từ file QLHV.mdb phải chỉ ra đường dẫn chính xác tới máy lưu trữ bảng dữ liệu.
CHƯƠNG IV
KẾT LUẬN
1. Kết luận
Trong giai đoạn đổi mới đất nước hiện nay, phát triển phần mềm cơ sở dữ liệu trong mô hình Client/Server cần phải được chú trọng và đầu tư nhiều hơn nữa để cùng bắt nhịp được với thế giới. Chúng ta biết rằng từ một hay nhiều hệ thống cơ sở dữ liệu cho phép người ta xử lí khối lượng lớn thông tin. Khả năng sở hữu thông tin cũng như trình độ quản lý hệ thống thông tin được coi như một trong những thước đo để đánh giá trình độ phát triển kinh tế - xã hội của mỗi quốc gia. Xu hướng hiện nay cho thấy sự phân hoá rõ rệt nhất giữa các quốc gia chính là vấn đề thông tin. Người ta khẳng định rằng thế kỷ 21 là thế kỷ của thông tin. Các quốc gia không ngần ngại đầu tư một cách có chiều sâu về lĩnh vực này. Tin học hoá các hệ thống quản lý như hệ thống “quản lý học viên” là một công việc phải được khuyến khích phát triển. Không những cho phép nâng cao khả năng sở hữu nguồn tin mà nó còn có một vai trò đặc biệt quan trọng trong việc đào tạo nhân lực có trình độ cho quá trình công nghiệp hoá, hiện đại hoá đất nước.
Sau một thời gian tìm hiểu về cơ sở dữ liệu trên mạng và phân tích bài toán “quản lý học viên”. Bài luận văn này đã giải quyết được bài toán tin học hoá công tác quản lý học viên cỡ vừa và nhỏ. Chương trình này làm rõ hơn về vấn đề truy nhập cơ sở dữ liệu trên mạng.
Khi đưa chương trình vào ứng dụng trên mạng, phần thao tác của người sử dụng được đặt trên các máy Client, bảng dữ liệu của học viện được đặt trên máy Server (hoặc trên các máy Client bất kỳ). Khi các thao tác của người sử dụng trên máy Client truy nhập đến dữ liệu thì dữ liệu được cung cấp từ máy Server và cho phép nhiều thao tác của người sử dụng truy nhập dữ liệu tại cùng một thời điểm.
Chương trình hoạt động trên môi trường mạng Windows NT với mô hình cơ sở dữ liệu tập trung. Cùng với hệ quản trị cơ sở dữ liệu Microsoft Access là một phần mềm phát triển hệ cơ sở dữ liệu Client/Server đa dạng và hỗ trợ cho việc nâng cấp cơ sở dữ liệu sau này.
2. Hướng phát triển
Chúng ta sẽ bắt đầu bước sang thế kỷ mới với xã hội thông tin, với lối sống và phong cách làm việc không nhất thiết như ngày nay. Sự kiện này là nhờ công nghệ thông tin phát triển, và nhờ tiến bộ khoa học về điện tử, viễn thông đã đưa tin học trở nên ứng dụng rộng rãi và sâu trong đời sống kinh tế xã hội con người. Con người sẽ quán triệt được thông tin - quyền lực - kinh tế.
Để đáp ứng với trào lưu chung nghiên cứu về cơ sở dữ liệu cũng có các phát triển phù hợp. Nhiều nghiên cứu về hệ trợ giúp quyết định, về kho thông tin, khai phá dữ liệu,... đã sử dụng nhiều kiến thức về cơ sở dữ liệu.
Trong các nghiên cứu cơ bản và ứng dụng như vậy, người ta cần truy nhập không chỉ một cơ sở dữ liệu mà nhiều cơ sở dữ liệu, có các kiểu cơ sở dữ liệu khác nhau. Việc truy nhập cơ sở dữ liệu phân tán đã phức tạp, nay nhu cầu cần truy nhập cơ sở dữ liệu không đồng nhất. Nó đòi hỏi các nghiên cứu về tích hợp hệ thống, tổng hợp dữ liệu từ nhiều nguồn khác nhau. Kho thông tin khi đó không thực hiện được theo một mô hình nhất định mà nó đã tồn tại dưới nhiều dạng khác nhau.
Bài toán “Quản lý học viên” mới chỉ giải quyết được một phần nhỏ về quản lý. Trong tương lai khi môi trường mạng của Viện đào tạo công nghệ thông tin thuộc trường Đại học Quốc gia Hà Nội được kết nối với tất cả các mạng cục bộ của các khoa trong toàn trường, kết nối với các trường đại học trong cả nước và mạng toàn cầu Internet. Thì công việc quản lý không chỉ dừng lại là lưu trữ dữ liệu về học viên mà nó bao gồm tất cả các nghiệp vụ quản lý trong công tác hàng ngày của các phòng quản lý học viên, phòng đào tạo và phòng quản lý đào tạo sau đại học, từ quản lý tuyển sinh cho đến xét tốt nghiệp...
PHỤ LỤC
MÃ NGUỒN CỦA CHƯƠNG TRÌNH
1. Các khối lệnh nằm trong các nút lệnh của Form chính (F_QLHV):
Option Compare Database
Option Explicit
1.1. Nút Thoát
Private Sub cmdExitAccess_Click()
On Error GoTo Err_cmdExitAccess_Click
'Thoat khoi he quan tri co so du lieu Microsoft Access
DoCmd.Quit
Exit_cmdExitAccess_Click:
Exit Sub
Err_cmdExitAccess_Click:
MsgBox Err.Description
Resume Exit_cmdExitAccess_Click
End Sub
1.2. Nút Về Database
Private Sub cmdVeDatabase_Click()
On Error GoTo Err_cmdVeDatabase_Click
Dim strTenBang As String
strTenBang = "T_Hocvien"
' Dong Form chinh
DoCmd.Close
' ve cua so co so du lieu; chon ten bang).
DoCmd.SelectObject acTable, strTenBang, True
Exit_cmdVeDatabase_Click:
Exit Sub
Err_cmdVeDatabase_Click:
MsgBox Err.Description
Resume Exit_cmdVeDatabase_Click
End Sub
1.3. Nút cập nhật học viên
Private Sub cmdCapnhatHV_Click()
On Error GoTo Err_ cmdCapnhatHV_Click
‘ Dong Form chinh
DoCmd.Close
‘Chạy Macro M_QLHV.MoF_CapNhatHV
DoCmd.Run “M_QLHV.MoF_CapNhatHV”
Exit_cmdCapnhatHV_Click:
Exit Sub
Err_cmdCapnhatHV_Click:
MsgBox Err.Description
Resume Exit_cmdCapnhatHV_Click
End Sub
1.4. Nút Tìm kiếm
Private Sub cmdTimKiem_Click()
On Error GoTo Err_ cmdTimKiem_Click
' Dong Form chinh
DoCmd.Close
‘Chạy Macro M_QLHV.MoF_TimKiem
DoCmd.Run “M_QLHV.MoF_TimKiem”
Exit_cmdTimKiem_Click:
Exit Sub
Err_cmdTimKiem_Click:
MsgBox Err.Description
Resume Exit_cmdTimKiem_Click
End Sub
1.5. Nút In danh sách
Private Sub cmdInDS_Click()
On Error GoTo Err_cmdInDS_Click
' Dong Form chinh
DoCmd.Close
‘Chạy Macro M_QLHV.MoF_In_HV
DoCmd.Run “M_QLHV.MoF_In_HV”
Exit_cmdInDS_Click:
Exit Sub
Err_cmdInDS_Click:
MsgBox Err.Description
Resume Exit_cmdInDS_Click
End Sub
2. Các khối lệnh nằm trong các nút lệnh của Form cập nhật (F_CapnhatHV):
Option Compare Database
Option Explicit
2.1. Nút Đóng
Private Sub cmdDong_Click()
On Error GoTo Err_cmdDong_Click
DoCmd.Close
Exit_cmdDong_Click:
Exit Sub
Err_cmdDong_Click:
MsgBox Err.Description
Resume Exit_cmdDong_Click
End Sub
2.2. Nút Tiếp theo
Private Sub cmdTieptheo_Click()
On Error GoTo Err_cmdTieptheo_Click
DoCmd.GoToRecord , , acNext
Exit_cmdTieptheo_Click:
Exit Sub
Err_cmdTieptheo_Click:
MsgBox "Khong the xem tiep vi day la mau tin cuoi cung!", vbOKOnly, "Thong Bao"
Resume Exit_cmdTieptheo_Click
End Sub
2.3. Nút Trở về
Private Sub cmdTrove_Click()
On Error GoTo Err_cmdTrove_Click
DoCmd.GoToRecord , , acPrevious
Exit_cmdTrove_Click:
Exit Sub
Err_cmdTrove_Click:
MsgBox "Khong the xem tiep vi day la mau tin dau tien!", vbOKOnly, "Thong Bao"
Resume Exit_cmdTrove_Click
End Sub
2.4. Nút thêm
Private Sub cmdThemHV_Click()
On Error GoTo Err_cmdThemHV_Click
DoCmd.GoToRecord , , acNewRec
Exit_cmdThemHV_Click:
Exit Sub
Err_cmdThemHV_Click:
MsgBox Err.Description
Resume Exit_cmdThemHV_Click
End Sub
2.5. Nút Xoá
Private Sub cmdXoaHV_Click()
On Error GoTo Err_cmdXoaHV_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70
Exit_cmdXoaHV_Click:
Exit Sub
Err_cmdXoaHV_Click:
MsgBox Err.Description
Resume Exit_cmdXoaHV_Click
End Sub
2.6. Nút Sửa
Private Sub cmdSuaHV_Click()
On Error GoTo Err_cmdSuaHV_Click
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Exit_cmdSuaHV_Click:
Exit Sub
Err_cmdSuaHV_Click:
MsgBox Err.Description
Resume Exit_cmdSuaHV_Click
End Sub
3. Các khối lệnh nằm trong các nút lệnh của Form tìm kiếm (F_Tk):
3.1. Nút lệnh Tìm kiếm
Private Sub cmdTimkiem_Click()
On Error GoTo Err_ cmdTimKiem_Click
' Dong Form F_TK
DoCmd.Close
‘Chạy Macro M_TimKiemHV.thuchientimkiem
DoCmd.Run “M_TimKiemHV.thuchientimkiem”
Exit_cmdTimKiem_Click:
Exit Sub
Err_cmdTimKiem_Click:
MsgBox Err.Description
Resume Exit_cmdTimKiem_Click
End Sub
3.2. Nút lệnh Đóng
Private Sub cmdDong_Click()
On Error GoTo Err_cmdDong_Click
‘Đóng Form F_TK
DoCmd.Close
‘Mở Form chính F_QLHV bằng thủ tục chạy Macro
DoCmd.Run “M_QLHV.DongF_TK”
Exit_cmdDong_Click:
Exit Sub
Err_cmdDong_Click:
MsgBox Err.Description
Resume Exit_cmdDong_Click
End Sub
4. Các khối lệnh nằm trong các nút lệnh của Form tìm kiếm được (SubformtimkiemHV):
Option Compare Database
Option Explicit
4.1. Nút Đóng
Private Sub cmdDong_Click()
On Error GoTo Err_cmdDong_Click
‘Đóng Form tìm kiếm được (subformtimkiemHV)
DoCmd.Close
‘Mở Form chính (F_QLHV)
DoCmd.OpenForm “F_QLHV”
Exit_cmdDong_Click:
Exit Sub
Err_cmdDong_Click:
MsgBox Err.Description
Resume Exit_cmdDong_Click
End Sub
4.2. Nút lệnh tìm tiếp
Private Sub cmdTimTiep_Click()
On Error GoTo Err_cmdTimTiep_Click
‘Đóng form tìm kiếm được (subformtimkiemHV)
DoCmd.Close
‘Mở form Tìm kiếm (F_Tk)
DoCmd.OpenForm "F_Tk"
Exit_cmdThem_Click:
Exit Sub
Err_cmdThem_Click:
MsgBox Err.Description
Resume Exit_cmdThem_Click
End Sub
4.3. Nút lệnh Tiếp theo
Private Sub cmdTiep_Click()
On Error GoTo Err_cmdTiep_Click
DoCmd.GoToRecord , , acNext
Exit_cmdTiep_Click:
Exit Sub
Err_cmdTiep_Click:
MsgBox "Khong the xem tiep vi day la mau tin cuoi cung!", vbOKOnly, "Thong Bao"
Resume Exit_cmdTiep_Click
End Sub
4.4. Nút lệnh trở về
Private Sub CmdTro_Click()
On Error GoTo Err_cmdTro_Click
DoCmd.GoToRecord , , acPrevious
Exit_cmdTro_Click:
Exit Sub
Err_cmdTro_Click:
MsgBox "Khong the xem tiep vi day la mau tin dau tien!", vbOKOnly, "Thong Bao"
Resume Exit_cmdTro_Click
End Sub
5. Các khối lệnh nằm trong các nút lệnh của Form in danh sách (F_Tk):
5.1. Nút lệnh Xem trước khi in
Private Sub cmdXemtruoc_Click()
On Error GoTo Err_cmd_Xemtruoc_Click
Dim stDocName As String
stDocName = "DANH SACH HOC VIEN"
DoCmd.OpenReport stDocName, acPreview
Exit_cmd_Xemtruoc_Click:
Exit Sub
Err_cmd_Xemtruoc_Click:
MsgBox Err.Description
Resume Exit_cmd_Xemtruoc_Click
End Sub
5.2. Nút lệnh in
Private Sub cmd_In_hv_Click()
On Error GoTo Err_cmd_In_hv_Click
Dim stDocName As String
stDocName = "DANH SACH HOC VIEN"
DoCmd.OpenReport stDocName, acNormal
Exit_cmd_In_hv_Click:
Exit Sub
Err_cmd_In_hv_Click:
MsgBox Err.Description
Resume Exit_cmd_In_hv_Click
End Sub
5.3. Nút lệnh Đóng
Private Sub cmdf_In_Hvdong_Click()
On Error GoTo Err_cmdf_In_Hvdong_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "F_QLHV"
‘Đóng Form in (F_In_Hv)
DoCmd.Close
‘Mở Form chính (F_QLHV)
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_cmdf_In_Hvdong_Click:
Exit Sub
Err_cmdf_In_Hvdong_Click:
MsgBox Err.Description
Resume Exit_cmdf_In_Hvdong_Click
End Sub
Tài liệu tham khảo
[1]. Rolland. F.
The Esence of Database. Nhà xuất bản Prentice Hall, năm 1999.
[2]. Ngô Quốc Việt - Nguyễn Tiến - Phạm Nguyễn Tuấn Kỳ
Hướng dẫn lập trình Access 2. Nhà xuất bản giáo dục, năm 1996.
[3]. Đỗ Trung Tuấn
Cơ sở dữ liệu. Nhà xuất bản Giáo dục, năm 1998.
[4]. Phạm Bá Hải
Bài giảng về Windows NT.
Các file đính kèm theo tài liệu này:
- TNCSDL.doc