II. Khảo sỏt hệ thống
5. Sử dụng cỏc cõu truy vấn (SQL )
Một cõu truy vấn là một lệnh cơ sở dữ liệu để lấy về cỏc mẩu tin. Sử dụng cõu truy vấn, cú thể lấy dữ liệu từ một hoặc nhiều trường trong một hay nhiều
bảng. Ngồi ra, cũn cú thể ộp cỏc dữ liệu lấy về theo một hoặc nhiều ràng buộc, gọi là cỏc tiờu chớ để hạn chế số lượng dữ liệu lấy về.
SQL là giải phỏp chuẩn để thao tỏc với cơ sở dữ liệu. Nú được thực hiện theo nhiều dạng khỏc nhau trong cỏc hệ thống cơ sở dữ liệu quan hệ, bao gồm Access và SQL Server
Cỏc cõu truy vấn SQL cho khả năng lấy về cỏc mẩu tin từ một bảng cơ sở dữ liệu, đối chiếu cỏc dữ liệu quan hệ với nhau trong nhiều bảng và thao tỏc với cấu trỳc của cơ sở dữ liệu. Cỏc kiểu truy vấn SQL nhất định cú thể điền dữ liệu vào một điều khiển dữ liệu. Trong chương trỡnh, cỏc cõu truy vấn SQL được dựng khi thao tỏc với cỏc cơ sở dữ liệu thụng qua sử dụng mụ hỡnh đối tượng DAO, RDO và ADO.
Lợi ớch khi dựng SQL
Theo kinh nghiệm trong Visual Basic, bất cứ chổ nào dựng một tham chiếu đến một bảng, đều cú thể thay thế bằng cỏch sử dụng một cõu lệnh SQL hoặc một tham chiếu đến một truy vấn đĩ lưu trữ nhưng bản thõn nú vẫn dựa vào một cõu lệnh SQL.
Nơi thớch hợp nhất để đặt một cõu lệnh SQL, dựa trờn cỏc kỹ thuật truy cập dữ liệu, là thuộc tớnh RecordSource của một điều khiển dữ liệu. Vỡ vậy, thay vỡ chỉ ra thuộc tớnh RecordSource là tờn của một bảng, cú thể đổi thuộc tớnh này thành tờn của một cõu truy vấn chứa sẵn hay một cõu lệnh SQL như : SELECT * FROM TEN_BANG ORDER BY KEY. Điều này cho ta sự linh hoạt đỏng kể khi chọn lựa một nguồn mẩu tin.
Sử dụng cõu lệnh SQL trong cỏc ngữ cảnh khỏc nhau của chương trỡnh
Tham số Source của phương thức OpenRecordSet của đối tượng DataBase
của DAO được sử dụng phổ biến nhất khi truy vấn cỏc mẩu tin từ một cơ sở dữ liệu Access.
Sử dụng thuộc tớnh Source của một đối tượng RecordSet của ADO. 42
Sử dụng cõu lệnh SELECT để lấy về cỏc mẩu tin
Cõu lệnh SELECT là cốt lừi của mọi truy vấn lấy về dữ liệu. Nú thụng bỏo cho bộ mỏy cơ sở dữ liệu những trường nào sẽ được lấy về. Dạng thụng dụng nhất của cõu lệnh SELECT là : SELECT *
Mệnh đề cú ý nghĩa là “trả về tất cả cỏc trường tỡm thấy trong nguồn mẩu tin chỉ định”. Dạng lệnh này rất tiện dụng vỡ khụng cần biết tờn của trường để lấy chỳng về từ một bảng. Tuy nhiờn, lấy về tất cả cỏc cột trong một bảng cú thể khụng hiệu quả, nhất là trong trường hợp mà ta chỉ cần 2 cột mà truy vấn của ta trả về quỏ nhiều.
Vỡ vậy, ngồi việc thụng bỏo cho bộ mỏy cơ sở dữ liệu để trả về tất cả cỏc trường trong nguồn mẩu tin, ta cũn cú khả năng chỉ ra chớnh xỏc trường nào cần lấy về. Hiệu ứng lọc bớt này cải tiến hiệu quả của một truy vấn, nhất là trờn bảng lớn cú nhiều trường trong chương trỡnh, bởi vỡ trong chương trỡnh ta chỉ cần lấy về trường nào cần thiết.
Sử dụng mệnh đề FROM để chỉ nguồn mẩu tin
Mệnh đề FROM làm việc với cõu lệnh SELECT để trả về cỏc mẩu tin trong bảng, vớ dụ : SELECT * FROM TEN_BANG . Vỡ một cõu truy vấn SELECT FROM khụng xếp theo thứ tự nờn thứ tự trả về là khụng xỏc định. Để cõu truy vấn cú hiệu quả, cần phải giới hạn số trường lấy về bằng cỏch sử dụng mệnh đề
WHERE.
Sử dụng mệnh đề WHERE để chỉ ra tiờu chớ lọc
Mệnh đề WHERE thụng bỏo với bộ mỏy cơ sở dữ liệu để giới hạn số mẩu tin trả về theo một hay nhiều tiờu chớ lọc do người lập trỡnh cung cấp. Kết quả trả về của tiờu chớ lọc là TRUE/FALSE.