Luận văn truy cập cơ sở dữ liệu trên mạng trong môi trường internet và intranet
Luận văn tốt nghiệp Nguyễn Văn Duy 6 Luận văn: “Truy nhập cơ sở dữ liệu trên mạng trong môi trường mạng Internet và Intranet” Luận văn tốt nghiệp Nguyễn Văn Duy 7 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. Luận văn tốt nghiệp Nguyễn Văn Duy 8 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 Luận văn tốt nghiệp Nguyễn Văn Duy 9 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. Luận văn tốt nghiệp Nguyễn Văn Duy 10 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 Luận văn tốt nghiệp Nguyễn Văn Duy 11 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 Luận văn tốt nghiệp Nguyễn Văn Duy 12 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ý. 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. Ứ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. Luận văn tốt nghiệp Nguyễn Văn Duy 13 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. 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 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). Ứ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. Ứ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 Ứng dụng Phần mềm cơ sở dữ liệu Luận văn tốt nghiệp Nguyễn Văn Duy 14 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. Luận văn tốt nghiệp Nguyễn Văn Duy 15 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. . 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. 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ơ