Đáp án đúng: A
Câu hỏi này kiểm tra kiến thức về các data dictionary views trong Oracle, cụ thể là các view liên quan đến quyền (privileges).
* **DBA_SYS_PRIVS**: Chứa thông tin về các *system privileges* được cấp trực tiếp cho user hoặc role.
* **DBA_USER_PRIVS**: Chứa thông tin về các *system privileges* và *object privileges* được cấp trực tiếp cho user.
* **DBA_ROLE_PRIVS**: Chứa thông tin về các role được cấp cho user hoặc role khác.
* **DBA_TAB_PRIVS**: Chứa thông tin về các *object privileges* được cấp cho user hoặc role trên các bảng (tables).
Trong trường hợp này, chúng ta cần kiểm tra xem user 'John' có quyền `CREATE TABLE` hay không. `CREATE TABLE` là một *system privilege*. Do đó, view phù hợp nhất để kiểm tra là `DBA_SYS_PRIVS`. `DBA_USER_PRIVS` cũng có thể chứa thông tin này, nhưng `DBA_SYS_PRIVS` là view chuyên biệt cho system privileges.
Vậy đáp án đúng là A.