Trình điều khiển ODBC

Một phần của tài liệu Quản lý đăng ký môn học của sinh viên (Trang 39)

ODBC là chuẩn duy nhất dùng để truy xuất cơ sở dữ liệu được quy định bởi Microsoft. ODBC cung cấp các hàm cho phép các ngơn ngữ lập trình truy cập vào một cơ sở dữ liệu. Với các thao tác như thêm, chỉnh sửa, xố bỏ dữ liệu và nhận những thơng tin chi tiết về cơ sở dữ liệu đĩ như bảng, khung nhìn, chỉ mục, … . Thơng qua ODBC, ta cĩ thể làm việc trực tiếp với dữ liệu từ ứng dụng của mình mà khơng cần quan tâm đến việc dữ liệu đĩ thuộc hệ quản trị cơ sở dữ liệu nào.

A . KIN TRÚC ODBC :

1. Lp ng dng ( Application ) :

Lớp ứng dụng cung cấp một giao diện đồ hoạ người dùng (GUI: Graphic User Interface) và logic cơng việc, được viết bằng ngơn ngữ Visual Basic, Visual Foxpro, … . Các ứng dụng dùng các hàm ODBC để giao tiếp với cơ sở dữ liệu.

2. B qun lý điu khin ODBC ( ODBC Diver Manager ) :

Dùng để quản lý các bộ điều khiển khác nhau tồn tại trong hệ thống. Bao gồm việc nạp, gọi trực tiếp đến bộ tương ứng và cung cấp các thơng tin của bộ điều khiển cho các ứng dụng khi cần thiết.

Một ứng dụng cĩ thể nối kết với một hoặc nhiều cơ sở dữ liệu nên bộ quản lý này phải phải đảm bảo các hệ quản trị cơ sở dữ liệu sẽ nhận được tất

Application

ODBC Driver Manager

Driver Driver Driver

Data source Data source Data source

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu cả các lệnh gọi tương ứng trực tiếp từứng dụng và tất cả dữ liệu trả về đúng

với ứng dụng được gọi.

3. Trình điu khin ODBC (ODBC Diver ) :

Trình điều khiển là thành phần thực sự làm việc với cơ sở dữ liệu. Các trình điều khiển thường dùng là Access, Oracle, … . Các giao tiếp ODBC là nơi chứa tập các lệnh gọi như các lệnh SQL, các quản lý nối kết, thơng tin về cơ sở dữ liệu , … Cịn nhiệm vụ của các trình điều khiển là cài đặt các chức năng đĩ.

Trình điều khiển truyền các truy vấn đến các cơ sở dữ liệu, nhận kết quả trả về và hướng dịng dữ liệu ấy đến ứng dụng. Khi cơ sở dữ liệu nằm trong hệ thống mạng cục bộ hay trên Internet, trình điều khiển cịn kiêm luơn việc thực hiện kết nối mạng.

4. Ngun d liu (Data source ) :

Trong phạm vi của ODBC, nguồn dữ liệu cĩ thể là một hệ quản trị cơ sở dữ liệu hay một kho dữ liệu (Data store), thường để chứa các tập tin trên đĩa cứng. Nguồn dữ liệu cĩ thể chỉ đơn giản là là một cơ sở dữ liệu Access chứa các dữ liệu về chi phí của một cơng ty nhỏ hoặc cũng cĩ thể là một kho dữ liệu khổng lồ với hàng ngàn GB dữ liệu về chi tiết các hố đơn của cơng ty điện thoại chứa trên nhiều máy chủ khác nhau.

B. Cách hot động ca các trình điu khin ODBC :

Khi muốn truy xuất đến dữ liệu nằm ở xa (Remote data ), cơng việc đầu tiên là phải thực hiện một nối kết (connect) từ máy khách tới máy chủ. Nối kết này ứng dụng cơ chế truy xuất ODBC.

Máy chủ muốn liên lạc thì phải cĩ cài đặt trình điều khiển ODBC, trình điều khiển ODBC sẽ chuyển lệnh và dữ liệu qua lại giữa máy khách và máy chủở cách xa nhau, nghĩa là ODBC sẽ chuyển đổi dạng thức dữ liệu của một phần mềm nằm trên máy khách thành dạng thức mà máy chủ cĩ thể hiểu được và thực hiện ngược lại cho dữ liệu trả về từ máy chủ.

ODBC dùng cách tiếp cận phân tầng (Layered approach) để truy xuất đến nơi quản lý dữ liệu. Tại mỗi tầng trong cấu trúc giao tiếp cơ sở dữ liệu, ODBC sẽ xác định các thành phần khơng tương thích và cung cấp một giao diện chung.

Cĩ hai loại trình điều khiển ODBC là đơn tầng và đa tầng.

1. Trình điu khin đơn tng (Single-tier ) :

Trình điều khiển đơn tầng nằm giữa yêu cầu dữ liệu của ứng dụng và cơ sở dữ liệu mà ứng dụng truy cập, nĩ cung cấp một phương thức giao tiếp với dữ liệu khơng thuộc hệ thống Client-Server.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Khi người dùng thực hiện yêu cầu truy cập dữ liệu, ứng dụng sẽ gởi lời

gọi hàm API (Application Program Interface: giao diện lập trình ứng dụng ) đến bộ quản lý trình điều khiển ODBC. Bộ quản lý trình điều khiển (nơi chịu trách nhiệm quản lý các giao tiếp giữa ứng dụng và các trình điều khiển ODBC ) sẽ xác định cơng việc cần thực hiện.

Bộ quản lý trình điều khiển sẽ xử lý những cơng việc mà nĩ cĩ thể trực tiếp thực hiện và kết quả sẽ được gởi trả trở lại cho ứng dụng. Nếu cần phải gọi một hàm trong trình điều khiển (như SQL Execute ) thì nĩ sẽ thực hiện việc gọi hàm để xử lý cơng việc, kết quả cũng sẽ được nĩ gởi trở lại cho ứng dụng.

2. Trình điu khin đa tng (multiple-tier ) :

Trình điều khiển đa tầng cĩ nhiệm vụ gởi các câu lệnh qua lại giữa hệ quản trị cơ sở dữ liệu và các ứng dụng. Hơn nữa, chính trình điều khiển đa tầng sẽ thực hiện các hàm xử lý dữ liệu, chúng phục vụ như những trạm chuyển tiếp. Ứng dụng đầu cuối Dữ liệu Các file cơ sở dữ liệu cục bộ Dữ liệu Dữ liệu Gọi giao diện trình điều khiển ứng dụng ODBC

Gọi trình điều khiển ODBC API

Các câu lệnh

Trình điều khiển đơn tầng ODBC Bộ quản lý trình điều khiển

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Trong cấu hình của một trình điều khiển đa tầng, dịng luân chuyển của

các yêu cầu và kết quả thực hiện như sau :

§ Ứng dụng đầu cuối gởi yêu cầu về dữ liệu, yêu cầu này được gởi đến bộ quản lý trình điều khiển ODBC.

§ Bộ quản lý thi hành yêu cầu (nếu cĩ thể) hoặc gởi yêu cầu đến trình điều khiển.

§ Trình điều khiển đa tầng chuyển yêu cầu sang thuật ngữ mà giao diện giao tiếp cơ sở dữ liệu cĩ thể hiểu và gởi nĩ đến giao diện.

§ Giao diện giao tiếp cơ sở dữ liệu gởi yêu cầu lên mạng đến hệ quản trị cơ sở dữ liệu trên máy chủ.

§ Hệ quản trị cơ sở dữ liệu xử lý yêu cầu và gởi trả kết quả trở lại giao diện giao tiếp cơ sở dữ liệu.

§ Giao diện giao tiếp cơ sở dữ liệu gởi kết quảđến trình điều khiển ODBC đa tầng .

§ Trình điều khiển ODBC đa tầng chuyển tiếp kết quả cho ứng dụng.

§ Ứng dụng đầu cuối sẽ trình bày dữ liệu với người dùng ở hình thức thích hợp.

Khi trình điều khiển ODBC đã được cài đặt trên máy khách. Để cĩ thể truy xuất dữ liệu nằm ở xa thì phải tạo nguồn dữ liệu ODBC (ODBC

Ứng dụng đầu cuối Trình điều khiển đa tầng ODBC Bộ quản lý trình điều khiển Dữ liệu Giao diện giao tiếp cơ sở dữ liệu Dữ liệu Dữ liệu Giao diện lập trình ứng dụng ODBC Gọi trình điều khiển ODBC Các câu lệnh

Phương tiện CSDL Nghi thức mạng máy tính Mạng vật lý Nghi thức mạng máy chủ

Phương tiện cơ sở dữ liệu đầu cuối

Cơ sở dữ liệu vật lý Gọi giao diện cơ sở dữ liệu

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu datasource). Nếu khơng, người sử dụng khơng thể tạo ra tập hiển thị tầm xa

cũng như khơng được sử dụng kỹ thuật STP (STP_SQL Pass-Throught: k thut tác động đến cơ s d liu bng cách gi các câu lệnh SQL từ máy khách) .

II . NHNG VN ĐỀ TRONG MƠI TRƯỜNG ĐA NGƯỜI DÙNG :

Khi một ứng dụng làm việc trên mơi trường Client/Server. Một trong những vấn đề cần quan tâm là phải đảm bảo tính đồng nhất của dữ liệu và sự thực thi nhanh nhất. Đểđạt được những điều này, SQL Server sử dụng một số cơ chế sau:

1. Khố (Locks ) :

SQL Server sử dụng hành vi này để duy trì tính tồn vẹn dữ liệu trong mơi trường đa người dùng. Hành vi khố chặt dữ liệu được thực hiện một cách tựđộng bởi SQL Server. Khơng cĩ lock, SQL Server sẽ khơng cĩ cơ chế để ngăn khơng cho nhiều người dùng cập nhật dữ liệu tại cùng một thời điểm.

2. Nghn (Blocking ) :

Trạng thái nghẽn xảy ra trong trường hợp một quá trình phải chờ khi tài nguyên mà nĩ cần đang được sử dụng độc quyền bởi một quá trình khác, nĩ phải chờđến khi tài nguyên này được giải phĩng.

Khi sự chờ đợi diễn ra, thoạt nhìn giống như máy bị treo. Thực sự SQL Server đã đặt quá trình này vào hàng đợi và nĩ phải nằm trong đĩ đến khi cĩ được quyền sử dụng tài nguyên cần thiết để hồn thành cơng việc.

3. Khố chết (Deadlock ) :

Trạng thái khố chết xảy ra khi cĩ hai hay nhiều người dùng đang cố khố chặt một đối tượng dữ liệu của người dùng khác. SQL tự động kiểm tra và giải phĩng tình trạng này (nếu cĩ), SQL thực hiện việc kết thúc một quá trình với quá trình cĩ thời gian sử dụng CPU là ít nhất. Điều này cho phép các giao dịch của những quá trình khác vẫn được thực hiện. Giao dịch chấm dứt sẽ tự động quay lui và trả về một mã lỗi.

III . NHNG CI TIN NHM GIM THIU VIC TRUYN DLIU TRÊN MNG : LIU TRÊN MNG :

Ngày nay hệ thống Client_Server đã được đưa vào ứng dụng rộng rãi trong việc quản lý và truyền dữ liệu trên mạng. Các Client thường yêu cầu một lượng khá lớn dữ liệu từ Server chỉ dùng để xử lý dữ liệu nội bộ. Vậy làm thế nào để giảm thiểu lượng dữ liệu truyền đi và về giữa Client và Server? Hãy xét qua một số phương pháp cĩ thể được áp dụng để giải quyết vấn đề này :

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu Ngay cả khi cĩ được các mẫu thiết kế chương trình và cơ sở dữ liệu tốt

nhất, hệ thống vẫn cĩ thể gặp trở ngại nếu ta luơn địi hỏi được xem tất cả các hàng từ một bảng. Việc yêu cầu dữ liệu quá lớn như vậy sẽ dẫn đến sự lưu thơng trên mạng phải thực hiện liên tục. Ngồi ra để cĩ được dữ liệu mà khách hàng yêu cầu, hệ thống phải tốn nhiều thời gian hơn, từ đĩ cĩ thể dẫn đến sự chậm trễ hoặc thậm chí làm tắc nghẽn trên mạng.

Để giải quyết vấn đề nêu trên, cĩ thể sử dụng những phương pháp sau: § Kiểm tra các tiêu chuẩn chọn (điều kiện lọc) do người sử dụng nhập vào:

khi phát triển các trình ứng dụng cho phép người sử dụng thực hiện các câu vấn tin tự do, cố gắng cho họ họ nên chỉ định các tiêu chuẩn tìm kiếm hơn là yêu cầu tất cả các hàng.

§ Để hệ thống thực hiện việc lọc : một số lập trình viên chọn cách cho hệ thống lấy tất cả dữ liệu trong bảng, gởi về cho Client, sau đĩ Client mới thực hiện tác vụ lọc lấy dữ liệu thực sự cần thiết. Cách này dẫn đến việc Server luơn phải gởi một số lượng lớn dữ liệu khơng thực sự cần thiết về cho Client. Sẽ tốt hơn nhiều nếu cho hệ thống thực thi tác vụ lọc dữ liệu thực sự cần thiết rồi mới gởi về cho Client.

2. Chn nhng ct cn thiết :

Khi triển khai các ứng dụng SQL Server để truy tìm thơng tin, nên cố gắng giảm thiểu số lượng các cột khơng thực sự cần thiết (những thơng tin khơng thực sự cần dùng) phải truyền giữa Client và Server.

Lệnh Select * từ một bảng sẽ dễ dàng trong việc tìm dữ liệu, tuy nhiên nĩ lại gây nên tổn thất nhiều hơn việc chỉ yêu cầu những cột cần thiết, nĩ cũng dễ gây nên tình trạng tắc nghẽn trên mạng do dữ liệu phải truyền quá lớn.

3. Ch cp nht nhng ct cĩ s thay đổi :

Tương tự như Select *, lệnh Update * cũng sẽ dễ dàng cho việc cập nhật lại nội dung các cột, nhưng nĩ lại làm cho các tiến trình trong hệ thống phải tốn nhiều thời gian để cĩ thể hồn thành cơng việc. Ngồi ra việc cập nhật lại tất cả các cột cũng cĩ thể khơng thành cơng nếu ta đã thiết lập mối quan hệ tham chiếu thống nhất cho bảng.

4. S dng các th tc cĩ sn :

Một cách nữa để giảm thiểu tồn bộ sự lưu thơng giữa Client và Server là sử dụng các thủ tục cĩ sẵn. Các thủ tục cĩ sẵn đã được phân tích và biên dịch trước vào thời điểm tạo lập hệ thống cơ sở dữ liệu. Khi được thi hành, kế hoạch của thủ tục sẽ được chứa trong đệm thủ tục, lần sau khi dùng thủ tục được lưu nĩ sẽ được đọc và chạy trực tiếp từ đệm làm cho hiệu suất đạt cao hơn so với việc chạy một câu truy vấn SQL chuẩn lặp đi lặp lại.

Như vậy, bằng cách viết các câu lệnh Transact-SQL trong thủ tục cĩ sẵn, ta cĩ thể chuyển tồn bộ thao tác xử lý này vào Server. Sau sự thay đổi này, Client chuyển các tiêu chuẩn tìm kiếm dữ liệu đến thủ tục cĩ sẵn của Server

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu và chờ Server gởi trả kết quả tìm được. Ngay khi nhận được, Client sẽ cho

hiển thị kết quả này, khơng cĩ sự thay đổi gì về tính năng đối với người sử dụng.

Lợi ích của thủ tục cĩ sẵn là đã loại bớt việc phải truyền hàng ngàn dịng dữ liệu qua mạng, điều này bảo tồn được dãy thơng tin giá trị của mạng, và ta cịn thấy rõ hơn về hiệu quả của phương pháp này nếu đem nhân con số này với tất cả các Client đang được sử dụng trên mạng. Một lợi ích khác của thủ tục trữ sẵn là ta cĩ thể cấp quyền cho một người sử dụng cĩ quyền thực thi thủ tục ngay cả khi người đĩ khơng được cấp quyền trên các bảng sử dụng trong thủ tục.

IV . H TR CA MICROSOFT VISUAL FOXPRO CHO MƠ HÌNH CLIENT_SERVER :

Khi thiết kế ứng dụng Client/Server nhất thiết phải xây dựng và phát triển một nguyên mẫu cục bộ. Một nguyên mẫu cục bộ là một kiểu làm việc của ứng dụng sử dụng các table, các view và cơ sở dữ liệu để thể hiện dữ liệu sẽ được truy xuất cuối cùng trên một remote server. Sử dụng wizard chuẩn để chuyển cơ sở dữ liệu, các table, các view từ hệ thống ứng dụng vào một SQL Server từ xa.

1. Mc đích ca nguyên mu:

Khi sử dụng Visual Foxpro để xây dựng một nguyên mẫu cho ứng dụng, tác động cộng lực cho sức mạnh của Visual From, Wizard, Builder, Designer và Project Manager để phát triển ứng dụng một cách nhanh chĩng. Trong khi mục đích cuối cùng là thực thi ứng dụng xuyên qua các platform client/server, thu được một kết quả lớn bằng cách chọn xây dựng một nguyên mẫu vững chắc.

2. Xây dng mt nguyên mu cc b cho mt ng dng:

Khi xây dựng một nguyên mẫu cục bộ cho một ứng dụng, bắt đầu từ việc thảo luận sơ bộ, hay cĩ thể chuyển một ứng dụng cĩ sẵn của Visual Foxpro thành một ứng dụng client/server.

Xây dựng và phát triển một nguyên mẫu cục bộ

v Tạo một ứng dụng sử dụng các view cục bộ và các table cục bộ thể hiện dữ liệu muốn chuyển đến một server từ xa.

v Sử dụng các table view cục bộ trong mơi trường dữ liệu của các form hay report.

v Phát triển các view và table cục bộ bằng cách sử dụng SQL Server Upsizing Wizard.

Trung tâm Học liệu ĐH Cần Thơ @ Tài liệu học tập và nghiên cứu v Trong bước Set Upsizing Options,trong vùng changes to make

locally, chọn Redirect views to remote data.

Khi chọn tuỳ chọn này, upsizing wizard sao chép các table cục bộ cho server từ xa, và gửi một lần nữa các view cục bộđể sử dụng dữ liệu từ xa nơi cần thiết.

3. S dng tin ích ‘ Upsizing wizard ’ để đưa các bng d liu lên Server :

Một trong những chức năng hỗ trợ cho mơ hình Client_Server quan trọng nhất của Visual Foxpro là cho phép ta chuyển bảng, kiểu xem cục bộ của ứng dụng thành bảng, kiểu xem nằm ở xa thơng qua Upsizing wizard (trên menu lệnh, chọn Tools / Wizards / Upsizing / chọn SQL Server Upsizing Wizard).

Tiến trình chuyển tải dữ liệu lên Server được thực hiện thơng qua các bước sau :

§ Bước 1 : chn cơ s d liu cha các bng cn chuyn .

§ Bước 2 : chn ngun d liu ODBC hoc tên mt ni kết dùng cho việc

Một phần của tài liệu Quản lý đăng ký môn học của sinh viên (Trang 39)

Tải bản đầy đủ (PDF)

(75 trang)