TỔNG QUAN VỀ CÁC LOẠI QUERY
Chuang 4: Chuang 4: THAO TAC DU LIEU BANG QUERY
Query Parameter
Cac query parameter 14 mét loại query đặc biệt có thể trả về các dòng hoặc thực hiện những hành động. Vào lúc chạy, một query parameter có thể nhắc nhở người sử đụng nhập vào tham số để điều khiển query thực hiện như thế nào. Bạn có thể nhắc nhở nhập một hoặc nhiều tham số bằng cách sử dụng các loại dữ liệu khác nhau.
Bạn báo cho query parameter phải làm gì bằng cách nhập các giá trị cho các câu nhắc nhở hoặc bằng cách thiết lập các thông số của nó với mã lệnh VBA trước khi thực hiện query dé kiểm soát tập hợp các giá trị trả về hoặc hành vi mà nó thực hiện. Loại này cho phép chỉ định một ID của khách hàng vào lúc chạy để xác định rõ khách hàng nào mà query select sẽ trả về thông tin.
Khi bạn lựa chọn một query parameter, ứng dụng của bạn có thể tham chiếu tới một chuỗi của SQL cho query select hoặc query action với các biến chuỗi. Trước khi thực hiện câu lệnh SQL trong một lệnh ADO, hãy gán những giá trị cho các biến chuỗi. Cách này có thể cung cấp nhiều kết quả linh hoạt hơn so với một query parameter, vi ban có thể thực sự thay đổi toàn bộ những mệnh để trong câu lệnh SQL cho một query. Trong những trường hợp chắc chắn, những query parameter bù đắp những lợi ích này với việc gõ đữ liệu và các lời nhắc nhở có sẵn cho các giá trị. Ngoài ra, query parameter loại bỏ nhu cầu cải tiến những lệnh nối chuỗi như bạn cải tiến câu lệnh SQL trong query của bạn.
Query Union
La mét loai query SQL. Query union đang được quan tâm đặc biệt bởi vì cách biểu hiện mới lạ của nó (nó đặt những bảng này sau bảng khác thay vì bên cạnh). Các query union kết hợp các field từ hai hay nhiều bảng lại với nhau. Thay vì kết nối các record từ các bảng theo kiểu ở bên cạnh nhau (side-by-side fashion), các query union nối thêm các record từ một bảng ngay sau những record khác. Bạn phải xây dựng những query union bằng cách sử dụng câu lệnh. Bạn không thể thiết kế chúng bằng để thị trong 257
mạng lưới thiết kế query. Nhập câu lénh SQL cho query ngay trong khung nhìn SQL của query. Điều trình bày trên dây dùng để thiết lập các query union không kể các query đã được thảo luận từ trước tới nay, bởi vì bạn có thể tạo chúng bằng đồ thị. Với query union, bạn có thế tăng thêm sức mạnh của ngôn ngữ SQL về năng lực tiểm tàng khi xác định các tiêu chuẩn và ấn định thứ tự sắp xếp.
Query Crosstab
Cae query crosstab chấp nhận một bảng hoặc query như là nguồn đữ liệu và trả ve những giá trị là tổng số, trung bình hoặc số lượng của mét field dựa trên 2 field khác loại. Loại query này yêu cầu một field mà ứng dụng của bạn có thể đếm, tính tổng hoặc tính trung bình. Ngoài ra dể chỉ ra một field trong các kết quả tổng hợp hiện hữu, người phát triển ứng dụng phải chỉ rõ dong va cdc field loại cột. Những field này phải có những giá trị riêng biệt để có thể phục vụ cho việc lạp các loại báo cáo kết quả tổng hợp. Access hỗ trợ việc tạo qucry crosstab bằng công cụ wizard và với Jet SQL.
Ngoài ra, bạn co thé tinh chỉnh bằng tay một thiết kế của query erosstab trong các khung nhìn Design và Datasheet.
Subqueries
Một subquery (query con) là một câu lénh SELECT của SQL được lỏng vào bên trong một query select hoặc một query action khác. Sử dụng những câu lệnh SELECT lông nhau như là một biểu thức theo một tiờu chuẩn cho một fủeld. Cõu lệnh SEBLECT lụng nhau trả về một giá trị, giá trị đó có thể đóng vai trò như là một tiêu chuẩn cho một query khác. Mặc dù bạn phải viết subquery trong SQL, bạn có thể lêng SQL trong mạng lưới thiết kế query.
Hơn nữa, bạn có thể sử dụng query khác để xác nhận rằng bạn thiết kế đúng câu lệnh lỗng nhau. Sử dụng các câu lệnh SQL lồng nhau giống như bất kỳ tiêu chuẩn nào khác để xác định một giá trị hoặc miễn giá trị cho tập hợp kết quả trả về.
258
Chuong 4: THAO TAC DU LIEU BANG QUERY
Các Thao Tac Dinh Nghia Du Liéu
SQL Data Definition Language (DDL: Ngén ngit dinh nghia dữ liệu của SQL) cho phép người phát triển ứng dụng tạo các bảng bằng câu lệnh SQL. Query make-table sử dụng DDL để tự động hóa việc tạo các bảng. Một sự hấp dẫn lớn của các query make-table la bạn có thể thiết kế chúng bằng đỗ thị. Đó là cách phổ biến để bắt đầu thiết kế một query make-table như là một query select chuẩn.
Sau khi tính chỉnh query select để trả về chính xác query cần tìm, bạn có thể chuyển đổi loại query này trở thành query make-table.
Su dung SQL DDL để thiết kế các bảng bằng tay với những câu lệnh SQL. Nếu bạn thành thạo về SQL, đây là công cụ mạnh mẽ và là cách nhanh nhất để thiết kế các bảng. SQL DDL là một trong nhiều khả năng sử dụng cho ADO. Có những tác vụ được lựa chọn, chẳng hạn như thiết lập giá trị bước nhảy và giá trị ban đầu
cho kiểu đữ liệu AutoNumber hoặc bật trạng thái nén Unicode từ on thành of, mà đJet SQL cung cấp riêng. Dĩ nhiên, theo những nhà phát triển Access một công dụng chính của những câu lệnh SQL là thiết lập thuộc tính ConmungandTexf của một đối tượng ADO Command. Nếu thuộc tinh CommandType của ban la adCmdText, bạn phải sử dụng một câu lệnh SQL để thiết lập thuộc tính CommandText. Gọi phương pháp Execufe cho câu lệnh để bắt đầu thực hiện câu lénh SQL.
Làm Việc Với Nguồn Dữ Liệu Từ Xa
Khi làm việc với các nguồn dữ liệu từ xa, chẳng hạn như Microsoft SQL Server hoặc cơ sở dữ liệu Oracle, có những quy tắc đặc biệt để làm việc với các nguồn đữ liệu này và tối ưu hóa việc thực hiện query của bạn. Có bến hướng cơ bản để truy xuất đữ liệu từ xa bao gồm: gắn các bang, cdc query pass-throught cha SQL, ODBCDirect, va OLE DB.
Véi Access 2000, phan lớn bạn tránh truy xuất thông qua ODBCDirect. Hoc va su dung ADO với nhà cung cap OLE DB 259
thường được ưa thích hơn vì ADO/OLE DB là một t phân chiến lược của truy cập đữ liệu mang tính toàn cầu cia Microsoft (Microsoft Universal Data Access strategy) ODBCDirect đang dẩn dần trở thành kỹ thuật lỗi thời, sẽ được OLE DB thay thế.
Các query pass-through của SQL chỉ rõ các query dựa vào cú pháp SQL có nguồn gốc từ động cơ của cơ sở dữ liệu từ xa. Loại query này cho phép bạn làm việc trực tiếp với các bảng trên server từ xa thay vì phải nối kết với chúng. Vì bạn có thể nhận được cùng một kết quả bằng cách sử dụng ADO với một cú pháp có thể chuyển đổi nên các query pass-thought cũng trở nên lỗi thời.
Làm việc với các bảng liên kết có thể cho phép ứng dụng của bạn truy cập nhanh đến các record trong nguồn đữ liệu từ xa. Trong khi điều này có thể làm chậm lại việc mở một ứng dụng, nó có thể tăng tốc độ cho các query có liên kết với các nguồn đữ liệu, đặc biệt khi dữ liệu không bị thay đổi thường xuyên.
Khi bạn thiết kế query sử dụng các nguồn đữ liệu từ xa, việc dự kiến các query của bạn sao cho việc thực hiện nhiều query theo khả năng của máy tính chạy được các phương tiện của cơ sở dữ liệu từ xa là điều quan trọng, vì chúng có khả năng mạnh hơn so với một máy tính để bàn tiêu biểu. Ngoài ra, bạn phải giảm lưu thông trên mạng khi bạn chạy query trên server và chuyển một subset nhỏ của dữ liệu qua mạng. Một số kinh nghiệm để tối ưu hóa query với nguồn đữ liệu từ xa như sau:
w Hạn chế sử dụng các hàm tập hợp của SQL hé tro béi phương tiện của cơ sở đữ liệu từ xa (điển hình là những hàm COUNT, SUM, MIN, MAX, va AVG)
w Thiết lập loại khóa adLockBatchOptimistic và thực hiện phương pháp UpdatcBatch để tối ưu hóa quá trình làm việc với nguồn đữ liệu từ xa trên một cơ sở bị tách rời (diseonneected bassie).
w Tránh sử dụng các hàm khách hàng khi chúng yêu cầu xử lý cục bộ.
260
Chuong 4: THAO TAC DU LIEU BANG QUERY
m Sử dụng các tiêu chuẩn để xác định một phạm vi cố định, chẳng hạn như giữa 100 và 1000 ngược lại với tiêu chuẩn theo hướng mở, chẳng hạn như >100
mã Theo những quy tắc chung để tối ưu hóa query, chẳng hạn như sắp xếp, tìm kiếm, kết nối trên những field da tao chi mục và sử dụng tham số có chứa ký tự đại diện với toán tử LIRE ở cuối của một tiêu chuẩn tìm kiếm chuỗi.
GHI CHÚ: SQL Server sử dụng ký tự đại diện % thay cho * để tìm CE’ kiếm kết hợp với toán tử LIKE. Nếu query của bạn chạy trong một phương tiện cơ sở dữ liệu của SQL Server có trong Microsoft
Data Engine mới, chắc chắn ký tự thay thế có sẵn trong các query của bạn.