1. Trong mô hình dữ liệu quan hệ, khóa chính (Primary Key) được sử dụng để:
A. Xác định duy nhất mỗi bộ (tuple) trong một bảng.
B. Liên kết một bảng với bảng khác.
C. Tăng tốc độ truy vấn dữ liệu.
D. Đảm bảo tính toàn vẹn dữ liệu tham chiếu.
2. Chuẩn hóa cơ sở dữ liệu (Database Normalization) nhằm mục đích chính là:
A. Tăng dung lượng lưu trữ 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 dữ liệu.
C. Tăng tốc độ truy xuất dữ liệu.
D. Đơn giản hóa cấu trúc cơ sở dữ liệu.
3. Câu lệnh SQL nào sau đây được sử dụng để truy xuất dữ liệu từ một bảng?
A. INSERT
B. UPDATE
C. SELECT
D. DELETE
4. ACID là viết tắt của các thuộc tính quan trọng trong giao dịch cơ sở dữ liệu. Chữ `I` trong ACID đại diện cho:
A. Isolation (Tính cô lập)
B. Integrity (Tính toàn vẹn)
C. ইন্ডিপেন্ডেন্স (Tính độc lập)
D. Indexing (Chỉ mục)
5. Loại cơ sở dữ liệu NoSQL nào phù hợp nhất để lưu trữ dữ liệu dạng cặp khóa-giá trị (key-value pairs), ví dụ như cấu hình người dùng?
A. Cơ sở dữ liệu dạng tài liệu (Document Database)
B. Cơ sở dữ liệu dạng đồ thị (Graph Database)
C. Cơ sở dữ liệu dạng cột (Column-family Database)
D. Cơ sở dữ liệu dạng khóa-giá trị (Key-Value Database)
6. Trong ngữ cảnh quản trị cơ sở dữ liệu, `backup` (sao lưu) có vai trò quan trọng nhất trong việc:
A. Tăng tốc độ truy vấn dữ liệu.
B. Đảm bảo tính sẵn sàng và khả năng phục hồi dữ liệu khi có sự cố.
C. Cải thiện hiệu suất của ứng dụng.
D. Ngăn chặn truy cập trái phép vào dữ liệu.
7. Câu lệnh SQL `JOIN` được sử dụng để:
A. Lọc dữ liệu từ một bảng.
B. Kết hợp dữ liệu từ hai hoặc nhiều bảng dựa trên các cột liên quan.
C. Sắp xếp dữ liệu trong một bảng.
D. Thêm dữ liệu mới vào một bảng.
8. Đâu là lợi ích chính của việc sử dụng stored procedure (thủ tục lưu trữ) trong cơ sở dữ liệu?
A. Tăng dung lượng lưu trữ cơ sở dữ liệu.
B. Giảm tải mạng và tăng hiệu suất bằng cách thực thi logic nghiệp vụ trên máy chủ cơ sở dữ liệu.
C. Đơn giản hóa việc thiết kế giao diện người dùng.
D. Cải thiện khả năng bảo mật vật lý của cơ sở dữ liệu.
9. Trong mô hình ER (Entity-Relationship), hình chữ nhật đại diện cho:
A. Thuộc tính (Attribute)
B. Mối quan hệ (Relationship)
C. Thực thể (Entity)
D. Khóa chính (Primary Key)
10. Chỉ mục (Index) trong cơ sở dữ liệu có tác dụng chính là:
A. Tăng dung lượng lưu trữ dữ liệu.
B. Tăng tốc độ truy vấn dữ liệu, đặc biệt là các truy vấn tìm kiếm và lọc.
C. Đảm bảo tính toàn vẹn dữ liệu.
D. Mã hóa dữ liệu để bảo mật.
11. Trong SQL, mệnh đề `WHERE` được sử dụng để:
A. Sắp xếp kết quả truy vấn.
B. Lọc các bản ghi dựa trên một điều kiện cụ thể.
C. Nhóm các bản ghi có giá trị giống nhau.
D. Kết hợp dữ liệu từ nhiều bảng.
12. Khái niệm `Data Warehouse` (Kho dữ liệu) thường được sử dụng cho mục đích:
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ý dữ liệu thời gian thực.
D. Sao lưu và phục hồi dữ liệu.
13. Đâu là nguy cơ bảo mật phổ biến nhất đối với cơ sở dữ liệu?
A. Lỗi phần cứng máy chủ.
B. Tấn công SQL Injection.
C. Mất điện đột ngột.
D. Lỗi mạng.
14. Trong quản trị cơ sở dữ liệu, thuật ngữ `tuning` (tối ưu hóa) thường liên quan đến việc:
A. Thay đổi lược đồ cơ sở dữ liệu.
B. Cải thiện hiệu suất truy vấn và hiệu năng tổng thể của cơ sở dữ liệu.
C. Sao lưu và phục hồi cơ sở dữ liệu.
D. Áp dụng các biện pháp bảo mật cho cơ sở dữ liệu.
15. Loại ràng buộc (constraint) nào trong SQL đảm bảo rằng giá trị của một cột không được trùng lặp trong tất cả các hàng của bảng?
A. NOT NULL
B. UNIQUE
C. PRIMARY KEY
D. FOREIGN KEY
16. Khi nào nên sử dụng cơ sở dữ liệu dạng đồ thị (Graph Database) thay vì cơ sở dữ liệu quan hệ?
A. Khi dữ liệu có cấu trúc bảng rõ ràng và mối quan hệ giữa các bảng đơn giản.
B. Khi dữ liệu có mối quan hệ phức tạp và tập trung vào việc khám phá các kết nối giữa các thực thể.
C. Khi cần lưu trữ tài liệu phi cấu trúc.
D. Khi yêu cầu tốc độ truy vấn dữ liệu dạng khóa-giá trị cực nhanh.
17. Trong quản lý giao dịch cơ sở dữ liệu, `rollback` (hủy bỏ giao dịch) được thực hiện khi:
A. Giao dịch được thực hiện thành công và dữ liệu được lưu vào cơ sở dữ liệu.
B. Giao dịch gặp lỗi hoặc không thể hoàn thành, cần khôi phục cơ sở dữ liệu về trạng thái trước khi giao dịch bắt đầu.
C. Cần tối ưu hóa hiệu suất của giao dịch.
D. Cần kiểm tra tính toàn vẹn của dữ liệu trước khi giao dịch được thực hiện.
18. Phân quyền truy cập (Access control) trong cơ sở dữ liệu nhằm mục đích:
A. Tăng tốc độ truy vấn dữ liệu.
B. Đảm bảo chỉ những người dùng được ủy quyền mới có thể truy cập và thao tác dữ liệu.
C. Giảm dung lượng lưu trữ cơ sở dữ liệu.
D. Cải thiện hiệu suất sao lưu và phục hồi dữ liệu.
19. Trong SQL, hàm tổng hợp (aggregate function) `COUNT(*)` dùng để:
A. Tính tổng các giá trị trong một cột.
B. Đếm số lượng hàng trong một bảng hoặc nhóm.
C. Tìm giá trị lớn nhất trong một cột.
D. Tính giá trị trung bình của một cột.
20. Khi thiết kế cơ sở dữ liệu, việc chọn kiểu dữ liệu (data type) phù hợp cho mỗi cột là quan trọng vì:
A. Ảnh hưởng đến tốc độ truy vấn dữ liệu.
B. Ảnh hưởng đến dung lượng lưu trữ, tính toàn vẹn và hiệu suất xử lý dữ liệu.
C. Ảnh hưởng đến khả năng bảo mật của dữ liệu.
D. Ảnh hưởng đến khả năng sao lưu và phục hồi dữ liệu.
21. Trong mô hình dữ liệu quan hệ, mối quan hệ `một-nhiều` (one-to-many relationship) giữa hai bảng thường được thể hiện bằng cách nào?
A. Sử dụng khóa chính ở cả hai bảng.
B. Sử dụng khóa ngoại (foreign key) ở bảng `nhiều` tham chiếu đến khóa chính của bảng `một`.
C. Sử dụng khóa ngoại ở bảng `một` tham chiếu đến khóa chính của bảng `nhiều`.
D. Không cần sử dụng khóa, mối quan hệ được xác định ngầm định.
22. Khi cơ sở dữ liệu gặp sự cố và cần khôi phục, quy trình `recovery` (phục hồi) thường sử dụng thông tin từ:
A. Chỉ mục (indexes).
B. Bản sao lưu (backups) và nhật ký giao dịch (transaction logs).
C. Stored procedures.
D. Triggers.
23. Trong SQL, mệnh đề `GROUP BY` được sử dụng để:
A. Sắp xếp dữ liệu.
B. Nhóm các hàng có giá trị giống nhau trong một hoặc nhiều cột để thực hiện các phép tính tổng hợp trên mỗi nhóm.
C. Lọc dữ liệu dựa trên điều kiện.
D. Kết hợp dữ liệu từ nhiều bảng.
24. Ứng dụng nào sau đây KHÔNG phải là một hệ quản trị cơ sở dữ liệu (DBMS)?
A. MySQL
B. Microsoft Excel
C. PostgreSQL
D. Oracle Database
25. Trong quá trình thiết kế cơ sở dữ liệu, lược đồ quan niệm (conceptual schema) mô tả:
A. Cách dữ liệu được lưu trữ vật lý trên đĩa.
B. Cấu trúc logic tổng thể của cơ sở dữ liệu, bao gồm các thực thể, thuộc tính và mối quan hệ, từ góc độ người dùng.
C. Ngôn ngữ truy vấn dữ liệu.
D. Các biện pháp bảo mật cơ sở dữ liệu.
26. Để đảm bảo tính toàn vẹn tham chiếu (referential integrity) trong cơ sở dữ liệu quan hệ, ràng buộc nào sau đây được sử dụng?
A. NOT NULL constraint.
B. UNIQUE constraint.
C. FOREIGN KEY constraint.
D. CHECK constraint.
27. Trong ngữ cảnh cơ sở dữ liệu phân tán (distributed database), `sharding` (phân mảnh) là kỹ thuật để:
A. Sao lưu dữ liệu ra nhiều bản.
B. Chia cơ sở dữ liệu thành các phần nhỏ hơn (shards) và phân phối chúng trên nhiều máy chủ.
C. Tối ưu hóa hiệu suất truy vấn.
D. Mã hóa dữ liệu.
28. Khi một công ty thương mại điện tử muốn phân tích hành vi mua sắm của khách hàng để đưa ra các chiến dịch marketing cá nhân hóa, loại hệ thống cơ sở dữ liệu nào sau đây sẽ phù hợp nhất?
A. Hệ thống quản lý cơ sở dữ liệu giao dịch trực tuyến (OLTP).
B. Hệ thống kho dữ liệu (Data Warehouse) hoặc Data Mart.
C. Hệ thống cơ sở dữ liệu nhúng (Embedded Database).
D. Hệ thống cơ sở dữ liệu thời gian thực (Real-time Database).
29. Một hệ thống cơ sở dữ liệu quan hệ đang gặp vấn đề về hiệu suất truy vấn chậm khi dữ liệu tăng lên. Giải pháp nào sau đây có thể giúp cải thiện hiệu suất?
A. Xóa bớt dữ liệu cũ.
B. Thêm chỉ mục (index) cho các cột thường xuyên được truy vấn trong mệnh đề WHERE.
C. Giảm số lượng người dùng truy cập cơ sở dữ liệu.
D. Tắt tính năng sao lưu cơ sở dữ liệu.
30. Trong một hệ thống quản lý bán hàng, bảng `Sản phẩm` có cột `Giá` và `Số lượng tồn kho`. Để tính tổng giá trị tồn kho của tất cả sản phẩm, câu lệnh SQL nào sau đây là đúng?
A. SELECT AVG(Giá * Số lượng tồn kho) FROM Sản phẩm;
B. SELECT SUM(Giá + Số lượng tồn kho) FROM Sản phẩm;
C. SELECT SUM(Giá * Số lượng tồn kho) FROM Sản phẩm;
D. SELECT COUNT(Giá * Số lượng tồn kho) FROM Sản phẩm;