Thứ Sáu, 1 tháng 4, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 1 - Truy vấn cơ sở dữ liệu

James Perry, Richard Newmark


Chương 1
Nhập môn Microsoft Access


Truy vấn cơ sở dữ liệu


Một trong những khả năng cực mạnh của cơ sở dữ liệu quan hệ là khả năng đặt câu hỏi để nhận về phản hồi lý thú và hữu ích từ cơ sở dữ liệu. Các hệ cơ sở dữ liệu quan hệ hỗ trợ việc đặt câu hỏi hết sức dễ dàng, và Access không là ngoại lệ. Một truy vấn (query), tên thường gọi của câu hỏi, có thể đơn giản hay phức tạp và có thể bao gồm một bảng, hàng chục bảng, hay thậm chí hàng trăm bảng. Trong câu truy vấn, bạn chỉ định những bảng nào tham gia trích dữ liệu, những cột nào cần được trích, những bản ghi nào cần được trả về, làm sao sắp các dòng được trả về, và những tính toán nào cần được thi hành. Kết quả cũng là một bảng. Hệ quản trị cơ sở dữ liệu là hệ đóng, vì các truy vấn dùng bảng làm đầu vào và trả về kết quả là bảng. Tóm lại, bạn bỏ vào bảng và nhận về bảng. Một khác biệt hết sức quan trọng giữa bảng và câu truy vấn, mặc dù cả hai trông tương tự, là bảng là đối tượng cơ sở dữ liệu duy nhất thật sự lưu dữ liệu. Câu truy vấn không lưu dữ liệu. Chúng đơn thuần là các định nghĩa lưu sẵn, chỉ cho hệ cơ sở dữ liệu cách trích dữ liệu từ bảng và hiển thị chúng.

Một trong những kiểu truy vấn thông dụng nhất được gọi là truy vấn chọn. Truy vấn chọn (selection query) trích các dòng từ một hay nhiều bảng liên quan. Có các kiểu truy vấn khác không trả về kết quả. Thay vào đó, chúng thay đổi bảng bằng cách chèn vào các bản ghi mới, xóa các bản ghi hiện hành, cập nhật dữ liệu, hay tạo những cột bảng mới. Mọi ví dụ và thảo luận ở phần này đều minh họa câu truy vấn chọn. Một kiểu truy vấn khác, gọi là truy vấn hành động (action query), sẽ thay đổi dữ liệu bảng. Các kiểu truy vấn này sẽ được trình bày ở Chương 4.

Những ví dụ về kiểu thông tin nào bạn có thể trích xuất bằng câu truy vấn, và tại sao không in cả bảng ra? Hãy xét một phiên bản lớn hơn của bảng khách hàng customers. Giả sử nó chứa hơn 50 ngàn dòng khách hàng và bạn muốn biết có bao nhiêu khách hàng sống ở San Diego, California. Hay có thể quản lý viên muốn biết có bao nhiêu khách hàng đã đặt hàng trong vòng 6 tháng qua. Rất có thể bạn sẽ không in bảng khách hàng chứa 50 ngàn dòng rồi lọ mọ dò câu trả lời. Việc đó mất nhiều giờ và dễ gây sai sót cũng như mỏi mệt. Lệnh Print làm vấn đề trầm trọng hơn vì nó không cho phép bạn chỉ định dòng nào hay cột nào cần in.

Câu truy vấn cho bạn linh hoạt quyết định dòng và cột nào trong bảng cần in và cung cấp một cách dễ dàng duyệt qua lượng dữ liệu lớn. Nghĩa là, câu truy vấn cung cấp một cách dễ dàng đặt câu hỏi để nhận về tập con của dòng, cột, hay cả hai.

Access dùng một phương pháp tạo truy vấn gọi là Query by Example (truy vấn qua ví dụ), hay QBE. QBE là phương pháp phát biểu câu truy vấn bằng cách cho Access một ví dụ về kết quả mà bạn muốn, Access sẽ dùng mô hình đó để trả về kết quả là một cấu trúc tựa bảng gọi là tập động (dynaset).

Không có nhận xét nào:

Đăng nhận xét