Trả lời:
Đáp án đúng: B
Câu hỏi này kiểm tra kiến thức về cú pháp cấp quyền truy xuất trong SQL. Cú pháp chuẩn để cấp quyền truy xuất trong SQL là `GRANT ON <đối_tượng> TO `.
Trong các phương án:
- A, B, C: Cả ba phương án này đều có dạng `GRANT ON TO`, nhưng thiếu thông tin về quyền (ví dụ: SELECT, INSERT, UPDATE, DELETE...). Đây là một phần quan trọng của câu lệnh GRANT, chỉ ra loại truy cập được cấp.
- D: Phương án `GRANT READ ON R` có vẻ gần đúng, nhưng 'READ' không phải là một quyền chuẩn trong SQL (thường dùng SELECT). Thêm vào đó, không rõ 'R' là gì (có thể là tên bảng). Tuy nhiên, vì các phương án A, B, C đều thiếu sót rõ ràng hơn về mặt cú pháp (thiếu quyền), phương án D có phần hợp lý hơn nếu ta hiểu READ như một cách nói tắt của quyền SELECT. Mặc dù vậy, cú pháp này không chuẩn.
Do không có đáp án nào hoàn toàn chính xác theo cú pháp chuẩn SQL, nhưng phương án D có vẻ gần đúng nhất về mặt ý nghĩa (cấp quyền đọc trên đối tượng R nào đó) và các phương án khác sai rõ ràng hơn (thiếu quyền truy cập), tôi sẽ coi phương án D là đáp án "gần đúng" nhất trong các lựa chọn này.
Tuy nhiên, cần nhấn mạnh rằng trong thực tế, cú pháp chuẩn phải là `GRANT SELECT ON R TO `, hoặc một quyền cụ thể khác thay vì `READ`.
Vì vậy, mặc dù chọn D, cần lưu ý đây không phải là cú pháp chuẩn mực.