1. Trong SQL, mệnh đề nào được sử dụng để lọc dữ liệu từ một bảng?
A. GROUP BY
B. ORDER BY
C. WHERE
D. JOIN
2. Cách tốt nhất để ngăn chặn tấn công SQL injection là gì?
A. Sử dụng mật khẩu mạnh cho tài khoản cơ sở dữ liệu.
B. Sử dụng tường lửa để bảo vệ máy chủ cơ sở dữ liệu.
C. Kiểm tra và làm sạch dữ liệu đầu vào từ người dùng trước khi sử dụng trong truy vấn SQL.
D. Thường xuyên sao lưu cơ sở dữ liệu.
3. Trong SQL, hàm nào được sử dụng để đếm số lượng bản ghi trong một bảng?
A. AVG()
B. SUM()
C. MAX()
D. COUNT()
4. DDL (Data Definition Language) được sử dụng để làm gì trong SQL?
A. Truy vấn và thao tác dữ liệu.
B. Định nghĩa cấu trúc của cơ sở dữ liệu.
C. Kiểm soát quyền truy cập dữ liệu.
D. Quản lý các giao dịch.
5. Phương pháp nào sau đây giúp bảo vệ cơ sở dữ liệu khỏi mất dữ liệu do lỗi phần cứng hoặc phần mềm?
A. Chuẩn hóa cơ sở dữ liệu.
B. Sử dụng khóa ngoại.
C. Sao lưu và phục hồi cơ sở dữ liệu.
D. Tối ưu hóa truy vấn SQL.
6. Transaction log trong hệ quản trị cơ sở dữ liệu dùng để làm gì?
A. Lưu trữ các truy vấn SQL thường xuyên được sử dụng.
B. Ghi lại tất cả các thay đổi được thực hiện đối với cơ sở dữ liệu để phục hồi dữ liệu khi có sự cố.
C. Kiểm soát quyền truy cập của người dùng vào cơ sở dữ liệu.
D. Tối ưu hóa hiệu suất của cơ sở dữ liệu.
7. Trong SQL, mệnh đề `GROUP BY` thường được sử dụng cùng với hàm nào?
A. WHERE
B. ORDER BY
C. JOIN
D. Aggregate functions (ví dụ: COUNT, SUM, AVG).
8. Data warehouse thường được sử dụng cho mục đích gì?
A. Xử lý giao dịch trực tuyến (OLTP).
B. Phân tích và báo cáo dữ liệu (OLAP).
C. Quản lý cấu hình hệ thống.
D. Sao lưu và phục hồi dữ liệu.
9. Câu lệnh SQL nào được sử dụng để xóa dữ liệu khỏi một bảng?
A. UPDATE
B. INSERT
C. SELECT
D. DELETE
10. Mục đích của việc phân vùng (partitioning) bảng trong cơ sở dữ liệu là gì?
A. Tăng cường tính bảo mật của dữ liệu.
B. Giảm dung lượng lưu trữ của cơ sở dữ liệu.
C. Tăng tốc độ truy vấn và quản lý dữ liệu bằng cách chia nhỏ bảng lớn thành các phần nhỏ hơn.
D. Đảm bảo tính nhất quán của dữ liệu.
11. ETL là viết tắt của cụm từ nào trong ngữ cảnh Data warehouse?
A. Extract, Transform, Load.
B. Encrypt, Transfer, Log.
C. Evaluate, Test, Launch.
D. Edit, Translate, Link.
12. Tính chất `Durability` trong mô hình ACID đảm bảo điều gì?
A. Mỗi giao dịch được thực hiện một cách độc lập với các giao dịch khác.
B. Tất cả các thay đổi trong một giao dịch được thực hiện hoặc không thực hiện gì cả.
C. Dữ liệu phải ở trạng thái hợp lệ khi bắt đầu và kết thúc giao dịch.
D. Giao dịch đã hoàn thành phải được duy trì ngay cả khi có lỗi hệ thống.
13. Tính chất `Consistency` trong mô hình ACID đảm bảo điều gì?
A. Giao dịch đã hoàn thành phải được duy trì ngay cả khi có lỗi hệ thống.
B. Dữ liệu phải ở trạng thái hợp lệ khi bắt đầu và kết thúc giao dịch.
C. Tất cả các thay đổi trong một giao dịch được thực hiện hoặc không thực hiện gì cả.
D. Mỗi giao dịch được thực hiện một cách độc lập với các giao dịch khác.
14. Mục đích của việc sử dụng stored procedure trong cơ sở dữ liệu là gì?
A. Để tăng cường tính bảo mật của dữ liệu.
B. Để giảm dung lượng lưu trữ của cơ sở dữ liệu.
C. Để thực hiện một loạt các thao tác SQL đã được biên dịch trước và lưu trữ trên máy chủ cơ sở dữ liệu.
D. Để tạo bản sao lưu của cơ sở dữ liệu.
15. Trong SQL, hàm nào được sử dụng để tính tổng giá trị của một cột?
A. AVG()
B. COUNT()
C. SUM()
D. MAX()
16. Câu lệnh SQL nào được sử dụng để chèn dữ liệu vào một bảng?
A. UPDATE
B. DELETE
C. SELECT
D. INSERT
17. Trong mô hình ACID, tính chất `Atomicity` đảm bảo điều gì?
A. Mỗi giao dịch được thực hiện một cách độc lập với các giao dịch khác.
B. Dữ liệu phải ở trạng thái hợp lệ khi bắt đầu và kết thúc giao dịch.
C. Tất cả các thay đổi trong một giao dịch được thực hiện hoặc không thực hiện gì cả.
D. Giao dịch đã hoàn thành phải được duy trì ngay cả khi có lỗi hệ thống.
18. View (lượt xem) trong cơ sở dữ liệu là gì?
A. Một bản sao lưu của dữ liệu.
B. Một bảng tạm thời được sử dụng để lưu trữ dữ liệu trung gian.
C. Một truy vấn SQL được lưu trữ dưới dạng một đối tượng cơ sở dữ liệu.
D. Một chỉ mục được sử dụng để tăng tốc độ truy vấn.
19. Câu lệnh SQL nào được sử dụng để thêm một cột mới vào một bảng đã tồn tại?
A. CREATE COLUMN
B. INSERT COLUMN
C. ALTER TABLE ADD COLUMN
D. UPDATE TABLE ADD COLUMN
20. Nguyên tắc DRY (Don`t Repeat Yourself) trong thiết kế cơ sở dữ liệu có nghĩa là gì?
A. Không sử dụng các kiểu dữ liệu phức tạp.
B. Không lặp lại dữ liệu hoặc logic trong cơ sở dữ liệu.
C. Không sử dụng các truy vấn SQL phức tạp.
D. Không tạo ra các bảng không cần thiết.
21. Mục đích chính của việc chuẩn hóa cơ sở dữ liệu (database normalization) là gì?
A. Tăng tốc độ truy vấn dữ liệu.
B. Giảm thiểu sự dư thừa dữ liệu và cải thiện tính toàn vẹn.
C. Tăng cường tính bảo mật của dữ liệu.
D. Đơn giản hóa cấu trúc cơ sở dữ liệu.
22. Deadlock xảy ra khi nào trong hệ quản trị cơ sở dữ liệu?
A. Khi một giao dịch cố gắng truy cập dữ liệu mà nó không có quyền.
B. Khi hai hoặc nhiều giao dịch chờ đợi lẫn nhau để giải phóng tài nguyên mà chúng đang nắm giữ.
C. Khi cơ sở dữ liệu không đủ bộ nhớ để thực hiện một truy vấn.
D. Khi một kết nối mạng bị gián đoạn trong quá trình giao dịch.
23. Phân biệt cơ bản giữa clustered index và non-clustered index trong SQL Server là gì?
A. Clustered index nhanh hơn non-clustered index.
B. Clustered index lưu trữ dữ liệu thực tế của bảng, trong khi non-clustered index lưu trữ con trỏ đến dữ liệu.
C. Chỉ có thể tạo nhiều clustered index trên một bảng.
D. Non-clustered index tự động được tạo khi tạo bảng.
24. Trong cơ sở dữ liệu quan hệ, ràng buộc (constraint) nào đảm bảo rằng giá trị trong một cột phải là duy nhất?
A. FOREIGN KEY
B. PRIMARY KEY
C. UNIQUE
D. NOT NULL
25. Câu lệnh SQL nào được sử dụng để cập nhật dữ liệu trong một bảng?
A. INSERT
B. UPDATE
C. DELETE
D. SELECT
26. Tính chất `Isolation` trong mô hình ACID đảm bảo điều gì?
A. Tất cả các thay đổi trong một giao dịch được thực hiện hoặc không thực hiện gì cả.
B. Dữ liệu phải ở trạng thái hợp lệ khi bắt đầu và kết thúc giao dịch.
C. Mỗi giao dịch được thực hiện một cách độc lập với các giao dịch khác.
D. Giao dịch đã hoàn thành phải được duy trì ngay cả khi có lỗi hệ thống.
27. Câu lệnh SQL nào được sử dụng để xóa một bảng khỏi cơ sở dữ liệu?
A. DELETE TABLE
B. REMOVE TABLE
C. DROP TABLE
D. ERASE TABLE
28. Chỉ mục (index) trong cơ sở dữ liệu được sử dụng để làm gì?
A. Tăng cường tính bảo mật của dữ liệu.
B. Giảm dung lượng lưu trữ của cơ sở dữ liệu.
C. Tăng tốc độ truy vấn dữ liệu.
D. Đảm bảo tính nhất quán của dữ liệu.
29. Khóa ngoại (foreign key) được sử dụng để làm gì?
A. Xác định duy nhất một bản ghi trong một bảng.
B. Liên kết giữa hai bảng với nhau.
C. Đảm bảo tính toàn vẹn của dữ liệu trong một cột.
D. Tăng tốc độ truy vấn dữ liệu.
30. DML (Data Manipulation Language) được sử dụng để làm gì trong SQL?
A. Định nghĩa cấu trúc của cơ sở dữ liệu.
B. Kiểm soát quyền truy cập dữ liệu.
C. Truy vấn và thao tác dữ liệu.
D. Quản lý các giao dịch.