1. Đâu là lợi ích chính của việc sử dụng stored procedure?
A. Tăng tính bảo mật và giảm lưu lượng mạng
B. Đơn giản hóa việc thiết kế cơ sở dữ liệu
C. Tăng dung lượng lưu trữ
D. Cải thiện khả năng mở rộng của ứng dụng
2. 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 TABLE
B. ALTER TABLE ADD COLUMN
C. UPDATE TABLE
D. INSERT INTO
3. Kiến trúc ba tầng (three-tier architecture) thường bao gồm các tầng nào?
A. Presentation, Logic, Data
B. Hardware, Software, Data
C. Client, Server, Database
D. Input, Process, Output
4. Trong SQL, mệnh đề nào được sử dụng để kết hợp các hàng từ hai hoặc nhiều bảng dựa trên một cột liên quan?
A. WHERE
B. GROUP BY
C. JOIN
D. ORDER BY
5. Trong ngữ cảnh cơ sở dữ liệu, ACID là viết tắt của những thuộc tính nào?
A. Atomicity, Consistency, Isolation, Durability
B. Accuracy, Completeness, Integrity, Dependability
C. Availability, Consistency, Integrity, Durability
D. Atomicity, Concurrency, Integrity, Distribution
6. Trong SQL, mệnh đề nào được sử dụng để lọc các hàng sau khi chúng đã được nhóm bằng mệnh đề GROUP BY?
A. WHERE
B. HAVING
C. ORDER BY
D. LIMIT
7. Trong mô hình ER, hình elip biểu diễn cho khái niệm nào?
A. Thực thể
B. Mối quan hệ
C. Thuộc tính
D. Khóa chính
8. Ràng buộc nào sau đây đảm bảo rằng một cột không thể chứa giá trị NULL?
A. UNIQUE
B. PRIMARY KEY
C. NOT NULL
D. FOREIGN KEY
9. 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 INTO
B. UPDATE
C. DELETE
D. SELECT
10. Kỹ thuật nào sau đây giúp giảm thiểu tình trạng deadlock trong cơ sở dữ liệu?
A. Kiểm soát đồng thời bi quan (Pessimistic concurrency control)
B. Kiểm soát đồng thời lạc quan (Optimistic concurrency control)
C. Đặt thời gian chờ (Timeout)
D. Sử dụng giao dịch ngắn
11. Đâu là một mục tiêu của việc tối ưu hóa truy vấn trong cơ sở dữ liệu?
A. Giảm thời gian thực thi truy vấn
B. Tăng dung lượng lưu trữ
C. Đơn giản hóa thiết kế cơ sở dữ liệu
D. Tăng tính bảo mật
12. Trong mô hình quan hệ, khái niệm nào dùng để chỉ một thuộc tính hoặc một tập hợp các thuộc tính có giá trị duy nhất để xác định mỗi bộ trong một quan hệ?
A. Khóa ngoại
B. Thuộc tính
C. Khóa chính
D. Bộ
13. Trong mô hình ER, hình chữ nhật biểu diễn cho khái niệm nào?
A. Thuộc tính
B. Mối quan hệ
C. Thực thể
D. Khóa chính
14. Loại ràng buộc nào đảm bảo rằng giá trị của một cột phải thuộc một tập hợp các giá trị được xác định trước?
A. Ràng buộc UNIQUE
B. Ràng buộc CHECK
C. Ràng buộc DEFAULT
D. Ràng buộc FOREIGN KEY
15. Đâu là một kỹ thuật để quản lý đồng thời nhiều người dùng truy cập vào cơ sở dữ liệu?
A. Kiểm soát đồng thời (Concurrency control)
B. Sao lưu và phục hồi (Backup and recovery)
C. Phân mảnh dữ liệu (Data fragmentation)
D. Chuẩn hóa cơ sở dữ liệu (Database normalization)
16. Trong ngữ cảnh của ACID, chữ ‘I’ đại diện cho thuộc tính nào?
A. Isolation (Tính độc lập)
B. Integrity (Tính toàn vẹn)
C. Implementation (Tính thực thi)
D. Index (Chỉ mục)
17. Đâu là mục tiêu chính của việc chuẩn hóa cơ sở dữ liệu?
A. Tăng tốc độ truy vấn
B. Giảm thiểu dư thừa dữ liệu và cải thiện tính nhất quán
C. Tăng dung lượng lưu trữ
D. Đơn giản hóa việc thiết kế giao diện người dùng
18. Trong SQL, câu lệnh 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
19. Đâu là một phương pháp để cải thiện hiệu suất truy vấn cơ sở dữ liệu?
A. Sử dụng nhiều bảng hơn
B. Sử dụng chỉ mục (index)
C. Tăng kích thước bộ nhớ cache của máy chủ
D. Giảm số lượng ràng buộc
20. Câu lệnh SQL nào được sử dụng để tạo một bảng mới trong cơ sở dữ liệu?
A. INSERT INTO
B. UPDATE
C. CREATE TABLE
D. SELECT
21. Kỹ thuật nào sau đây được sử dụng để đảm bảo rằng dữ liệu được khôi phục về trạng thái nhất quán sau một sự cố hệ thống?
A. Sao lưu (Backup)
B. Nhật ký giao dịch (Transaction logging)
C. Kiểm soát đồng thời (Concurrency control)
D. Phân quyền (Authorization)
22. Thao tác nào sau đây không phải là một thao tác cơ bản trong đại số quan hệ?
A. Phép chọn (Selection)
B. Phép chiếu (Projection)
C. Phép chia (Division)
D. Phép gán (Assignment)
23. Trong SQL, hàm nào được sử dụng để lấy ngày hiện tại?
A. GETDATE()
B. NOW()
C. CURRENT_DATE()
D. TODAY()
24. Trong SQL, mệnh đề nào được sử dụng để sắp xếp kết quả truy vấn?
A. GROUP BY
B. WHERE
C. ORDER BY
D. HAVING
25. Đâu là một lợi ích của việc sử dụng view trong cơ sở dữ liệu?
A. Tăng tốc độ truy vấn
B. Đơn giản hóa truy vấn phức tạp và cung cấp mức trừu tượng
C. Tăng dung lượng lưu trữ
D. Cải thiện khả năng mở rộng của ứng dụng
26. Loại chỉ mục (index) nào phù hợp nhất cho các cột chứa nhiều giá trị trùng lặp?
A. B-tree index
B. Hash index
C. Bitmap index
D. Clustered index
27. Trong SQL, hàm nào được sử dụng để đếm số lượng hàng trong một bảng?
A. SUM()
B. AVG()
C. COUNT()
D. MAX()
28. Kỹ thuật nào sau đây được sử dụng để phân phối dữ liệu trên nhiều máy chủ để cải thiện hiệu suất và khả năng mở rộng?
A. Sao lưu (Backup)
B. Phân mảnh (Sharding)
C. Kiểm soát đồng thời (Concurrency control)
D. Chuẩn hóa (Normalization)
29. Trong mô hình quan hệ, thuộc tính nào có thể nhận giá trị NULL?
A. Khóa chính
B. Khóa ngoại
C. Thuộc tính không có ràng buộc NOT NULL
D. Tất cả các thuộc tính
30. Trong mô hình quan hệ, khóa ngoại (foreign key) được sử dụng để làm gì?
A. Xác định duy nhất mỗi bộ trong một bảng
B. Liên kết giữa hai bảng
C. Đảm bảo tính toàn vẹn của dữ liệu
D. Tăng tốc độ truy vấn
31. Trong mô hình quan hệ, khái niệm nào dùng để chỉ một thuộc tính hoặc một tập hợp các thuộc tính có giá trị duy nhất xác định một bộ trong một quan hệ?
A. Khóa ngoại
B. Khóa chính
C. Thuộc tính
D. Ràng buộc toàn vẹn
32. Trong mô hình quan hệ, một thuộc tính hoặc tập hợp các thuộc tính xác định duy nhất một hàng trong một bảng được gọi là gì?
A. Khóa ngoại
B. Khóa chính
C. Thuộc tính
D. Ràng buộc
33. Loại CSDL nào phù hợp nhất cho việc lưu trữ và quản lý các mối quan hệ phức tạp giữa các thực thể, ví dụ như mạng xã hội?
A. Document Database
B. Graph Database
C. Key-Value Database
D. Column-Family Database
34. Trong SQL, mệnh đề nào được sử dụng để kết hợp dữ liệu từ hai hoặc nhiều bảng dựa trên một cột chung?
A. WHERE
B. GROUP BY
C. JOIN
D. ORDER BY
35. 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 TABLE
B. ALTER TABLE ADD COLUMN
C. UPDATE TABLE
D. INSERT INTO
36. Kỹ thuật nào được sử dụng để 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 trong một CSDL?
A. Denormalization
B. Normalization
C. Indexing
D. Partitioning
37. Loại CSDL NoSQL nào lưu trữ dữ liệu dưới dạng các cặp key-value?
A. Document Database
B. Graph Database
C. Key-Value Database
D. Column-Family Database
38. Kỹ thuật nào được sử dụng để chia một bảng lớn thành nhiều bảng nhỏ hơn, dễ quản lý hơn, để cải thiện hiệu suất truy vấn?
A. Indexing
B. Partitioning
C. Normalization
D. Denormalization
39. Loại chỉ mục (index) nào phù hợp nhất cho các cột chứa nhiều giá trị trùng lặp?
A. Chỉ mục B-tree
B. Chỉ mục Hash
C. Chỉ mục Bitmap
D. Chỉ mục Full-text
40. Trong SQL, phát biểu nào sau đây là đúng về stored procedure?
A. Stored procedure là một bảng tạm thời
B. Stored procedure là một tập hợp các câu lệnh SQL được biên dịch và lưu trữ trên server
C. Stored procedure chỉ có thể được sử dụng để truy vấn dữ liệu
D. Stored procedure được thực thi trên client
41. Trong SQL, phát biểu nào sau đây là đúng về sự khác biệt giữa `UNION` và `UNION ALL`?
A. `UNION` nhanh hơn `UNION ALL`
B. `UNION` loại bỏ các hàng trùng lặp, trong khi `UNION ALL` giữ lại tất cả các hàng
C. `UNION ALL` chỉ có thể được sử dụng với các bảng có cùng số lượng cột
D. `UNION` chỉ có thể được sử dụng với các bảng có cùng kiểu dữ liệu
42. Trong mô hình quan hệ, một thuộc tính mà có thể chia thành nhiều thành phần nhỏ hơn được gọi là gì?
A. Thuộc tính đơn
B. Thuộc tính đa trị
C. Thuộc tính phức hợp
D. Thuộc tính dẫn xuất
43. Trong SQL, mệnh đề nào được sử dụng để sắp xếp kết quả của một truy vấn?
A. GROUP BY
B. WHERE
C. ORDER BY
D. HAVING
44. Trong ngữ cảnh của CSDL, ACID là viết tắt của những thuộc tính nào?
A. Atomicity, Consistency, Isolation, Durability
B. Accuracy, Completeness, Integrity, Dependability
C. Availability, Consistency, Integrity, Durability
D. Atomicity, Concurrency, Isolation, Distribution
45. Kiểu kiến trúc CSDL nào phù hợp nhất cho việc lưu trữ và phân tích dữ liệu lịch sử, thường được sử dụng cho mục đích báo cáo và phân tích kinh doanh?
A. CSDL hướng đối tượng
B. Data Warehouse
C. CSDL NoSQL
D. CSDL quan hệ
46. Trong ngữ cảnh bảo mật CSDL, kỹ thuật nào được sử dụng để che giấu dữ liệu nhạy cảm bằng cách thay thế nó bằng các giá trị giả hoặc mã hóa?
A. Audit logging
B. Data masking
C. Firewall
D. Intrusion detection
47. Trong SQL, phát biểu nào sau đây là đúng về sự khác biệt giữa `DELETE` và `TRUNCATE`?
A. `DELETE` nhanh hơn `TRUNCATE`
B. `DELETE` xóa toàn bộ bảng, trong khi `TRUNCATE` chỉ xóa dữ liệu
C. `TRUNCATE` nhanh hơn `DELETE` và không ghi log giao dịch
D. `TRUNCATE` có thể được sử dụng với mệnh đề `WHERE`, trong khi `DELETE` thì không
48. Trong SQL, hàm nào được sử dụng để tính giá trị trung bình của một cột?
A. SUM()
B. AVG()
C. COUNT()
D. MAX()
49. Trong SQL, mệnh đề nào được sử dụng để lọc các hàng sau khi chúng đã được nhóm bằng mệnh đề GROUP BY?
A. WHERE
B. HAVING
C. ORDER BY
D. LIMIT
50. Trong mô hình ER, một hình chữ nhật đại diện cho khái niệm nào?
A. Thuộc tính
B. Mối quan hệ
C. Thực thể
D. Khóa chính
51. Loại tấn công CSDL nào liên quan đến việc chèn mã SQL độc hại vào một truy vấn để truy cập hoặc sửa đổi dữ liệu trái phép?
A. Tấn công từ chối dịch vụ (DoS)
B. SQL Injection
C. Tấn công Man-in-the-Middle
D. Cross-Site Scripting (XSS)
52. Trong SQL, phát biểu nào sau đây là đúng về view?
A. View là một bản sao vật lý của dữ liệu
B. View là một bảng tạm thời
C. View là một truy vấn được lưu trữ mà không chứa dữ liệu thực tế
D. View được sử dụng để tăng tốc độ ghi dữ liệu
53. Trong các hệ quản trị cơ sở dữ liệu quan hệ, mức độ cô lập (Isolation Level) nào cung cấp khả năng bảo vệ cao nhất chống lại các vấn đề đồng thời, nhưng có thể làm giảm hiệu suất?
A. Read Uncommitted
B. Read Committed
C. Repeatable Read
D. Serializable
54. Trong SQL, hàm nào được sử dụng để chuyển đổi một giá trị sang một kiểu dữ liệu khác?
A. CONVERT() hoặc CAST()
B. SUBSTRING()
C. UPPER()
D. DATE()
55. Trong ngữ cảnh CSDL, denormalization là gì?
A. Quá trình loại bỏ dữ liệu trùng lặp
B. Quá trình thêm dữ liệu trùng lặp để cải thiện hiệu suất truy vấn
C. Quá trình chia nhỏ một bảng thành nhiều bảng nhỏ hơn
D. Quá trình hợp nhất nhiều bảng thành một bảng lớn hơn
56. Trong SQL, mệnh đề nào được sử dụng để giới hạn số lượng hàng được trả về bởi một truy vấn?
A. TOP hoặc LIMIT
B. WHERE
C. ORDER BY
D. GROUP BY
57. Phương pháp nào thường được sử dụng để đảm bảo tính nhất quán của dữ liệu khi thực hiện các giao dịch phức tạp liên quan đến nhiều bảng?
A. Sao lưu và phục hồi
B. Kiểm soát đồng thời
C. Chuẩn hóa CSDL
D. Giao dịch (Transactions)
58. Kỹ thuật nào được sử dụng để tối ưu hóa hiệu suất truy vấn bằng cách lưu trữ kết quả của các truy vấn thường xuyên được sử dụng?
A. Chuẩn hóa CSDL
B. Tối ưu hóa chỉ mục
C. Query caching
D. Phân vùng bảng
59. Trong SQL, hàm nào được sử dụng để trả về số lượng hàng trong một bảng hoặc một nhóm?
A. SUM()
B. AVG()
C. COUNT()
D. MAX()
60. Loại ràng buộc nào đảm bảo rằng giá trị của một cột phải thuộc một tập hợp các giá trị được xác định trước?
A. Ràng buộc khóa chính
B. Ràng buộc khóa ngoại
C. Ràng buộc CHECK
D. Ràng buộc UNIQUE
61. Kỹ thuật chuẩn hóa cơ sở dữ liệu nhằm mục đích gì?
A. Tăng tốc độ truy vấn
B. Giảm thiểu dư thừa dữ liệu và cải thiện tính toàn vẹn
C. Tăng dung lượng lưu trữ
D. Đơn giản hóa việc sao lưu và phục hồi
62. Đâu là lợi ích chính của việc sử dụng stored procedure trong cơ sở dữ liệu?
A. Tăng dung lượng lưu trữ
B. Cải thiện hiệu suất và bảo mật
C. Đơn giản hóa việc thiết kế giao diện người dùng
D. Tự động sao lưu dữ liệu
63. Trong mô hình quan hệ, khái niệm nào dùng để chỉ một thuộc tính hoặc tập hợp các thuộc tính mà giá trị của nó xác định duy nhất một bộ trong một quan hệ?
A. Khóa ngoại
B. Thuộc tính
C. Khóa chính
D. Bảng
64. Ràng buộc `CHECK` trong SQL được sử dụng để làm gì?
A. Đảm bảo rằng một cột không chứa giá trị NULL
B. Đảm bảo rằng giá trị trong một cột là duy nhất
C. Đảm bảo rằng giá trị trong một cột đáp ứng một điều kiện cụ thể
D. Đảm bảo rằng một cột là khóa chính
65. Trong ngữ cảnh của cơ sở dữ liệu, ACID là viết tắt của những thuộc tính nào?
A. Atomicity, Consistency, Isolation, Durability
B. Accuracy, Completeness, Integrity, Durability
C. Availability, Consistency, Integrity, Distribution
D. Authorization, Control, Isolation, Definition
66. Trong mô hình quan hệ, một ‘view’ (khung nhìn) là gì?
A. Một bản sao vật lý của một bảng
B. Một bảng tạm thời
C. Một bảng ảo được tạo ra từ một truy vấn
D. Một chỉ mục trên một bảng
67. Lệnh SQL nào được sử dụng để thay đổi dữ liệu đã tồn tại trong một bảng?
A. INSERT
B. UPDATE
C. DELETE
D. SELECT
68. Thao tác ‘join’ trong SQL được sử dụng để làm gì?
A. Sắp xếp dữ liệu
B. Lọc dữ liệu
C. Kết hợp dữ liệu từ hai hoặc nhiều bảng
D. Tính toán các giá trị tổng hợp
69. Trong SQL, mệnh đề nào được sử dụng để lọc các hàng trả về từ một truy vấn dựa trên một điều kiện nhất định?
A. ORDER BY
B. GROUP BY
C. WHERE
D. HAVING
70. Loại ràng buộc nào đảm bảo rằng giá trị trong một cột phải tồn tại trong một cột khác của một bảng khác?
A. Khóa chính
B. Khóa duy nhất
C. Khóa ngoại
D. Ràng buộc CHECK
71. Trong SQL, hàm nào được sử dụng để tính tổng các giá trị trong một cột?
A. COUNT()
B. AVG()
C. SUM()
D. MAX()
72. Kiểu dữ liệu nào phù hợp nhất để lưu trữ thông tin về ngày tháng (ví dụ: ngày sinh)?
A. VARCHAR
B. INT
C. DATE
D. BOOLEAN
73. Khi nào nên sử dụng `HAVING` thay vì `WHERE` trong một truy vấn SQL?
A. Khi bạn muốn lọc dữ liệu trước khi nhóm nó bằng `GROUP BY`
B. Khi bạn muốn lọc dữ liệu sau khi nhóm nó bằng `GROUP BY`
C. Khi bạn muốn sắp xếp dữ liệu
D. Khi bạn muốn kết hợp dữ liệu từ nhiều bảng
74. Đâu là mục tiêu chính của việc sử dụng transaction log trong hệ quản trị cơ sở dữ liệu?
A. Tăng tốc độ truy vấn
B. Ghi lại tất cả các thay đổi đối với cơ sở dữ liệu để phục hồi dữ liệu
C. Quản lý quyền truy cập của người dùng
D. Tối ưu hóa dung lượng lưu trữ
75. Trong SQL, mệnh đề `DISTINCT` được sử dụng để làm gì?
A. Sắp xếp kết quả truy vấn theo thứ tự tăng dần
B. Lọc các hàng trùng lặp trong kết quả truy vấn
C. Nhóm các hàng có cùng giá trị
D. Kết hợp dữ liệu từ nhiều bảng
76. Trong cơ sở dữ liệu quan hệ, mối quan hệ ‘một-nhiều’ (one-to-many relationship) nghĩa là gì?
A. Một hàng trong bảng A có thể liên kết với nhiều hàng trong bảng B
B. Một hàng trong bảng A chỉ có thể liên kết với một hàng trong bảng B
C. Nhiều hàng trong bảng A có thể liên kết với nhiều hàng trong bảng B
D. Không có sự liên kết giữa bảng A và bảng B
77. Trong mô hình cơ sở dữ liệu quan hệ, thuật ngữ ‘cardinality’ dùng để chỉ điều gì?
A. Số lượng cột trong một bảng
B. Số lượng hàng trong một bảng
C. Kiểu dữ liệu của một cột
D. Tên của một bảng
78. Hình thức chuẩn hóa nào là cao nhất trong số các hình thức chuẩn hóa sau: 1NF, 2NF, 3NF, BCNF?
A. 1NF
B. 2NF
C. 3NF
D. BCNF
79. Trong ngữ cảnh cơ sở dữ liệu, ‘data warehouse’ là gì?
A. Một hệ thống quản lý dữ liệu giao dịch trực tuyến (OLTP)
B. Một kho lưu trữ dữ liệu được thiết kế cho phân tích và báo cáo
C. Một cơ sở dữ liệu nhỏ cho các ứng dụng di động
D. Một công cụ để sao lưu và phục hồi dữ liệu
80. Trong SQL, mệnh đề `GROUP BY` được sử dụng để làm gì?
A. Sắp xếp kết quả truy vấn
B. Lọc các hàng dựa trên một điều kiện
C. Nhóm các hàng có cùng giá trị trong một hoặc nhiều cột
D. Kết hợp dữ liệu từ nhiều bảng
81. Một công ty thương mại điện tử muốn theo dõi hành vi khách hàng trên trang web của họ, bao gồm các sản phẩm đã xem, các sản phẩm đã thêm vào giỏ hàng và các giao dịch đã hoàn thành. Loại cơ sở dữ liệu nào sau đây phù hợp nhất để lưu trữ và phân tích dữ liệu này?
A. Cơ sở dữ liệu quan hệ (Relational database)
B. Cơ sở dữ liệu hướng đối tượng (Object-oriented database)
C. Data warehouse
D. Cơ sở dữ liệu NoSQL
82. 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 TABLE
B. ALTER TABLE ADD COLUMN
C. INSERT INTO
D. UPDATE TABLE
83. Giả sử bạn có một bảng ‘Customers’ với các cột ‘CustomerID’, ‘Name’, ‘City’, và ‘Country’. Bạn muốn lấy danh sách tất cả các thành phố (City) mà khách hàng đến từ đó, nhưng không muốn có bất kỳ thành phố nào bị lặp lại. Câu lệnh SQL nào sau đây sẽ thực hiện điều này?
A. SELECT City FROM Customers
B. SELECT ALL City FROM Customers
C. SELECT DISTINCT City FROM Customers
D. SELECT UNIQUE City FROM Customers
84. Chỉ mục (index) trong cơ sở dữ liệu được sử dụng để làm gì?
A. Tăng dung lượng lưu trữ
B. Tăng tốc độ truy vấn dữ liệu
C. Bảo vệ dữ liệu khỏi truy cập trái phép
D. Đảm bảo tính toàn vẹn dữ liệu
85. Trong SQL, sự khác biệt chính giữa `UNION` và `UNION ALL` là gì?
A. `UNION` tự động sắp xếp kết quả, trong khi `UNION ALL` thì không
B. `UNION` loại bỏ các hàng trùng lặp, trong khi `UNION ALL` giữ lại tất cả các hàng
C. `UNION` chỉ hoạt động với các bảng có cùng số cột, trong khi `UNION ALL` thì không
D. Không có sự khác biệt, cả hai đều hoạt động giống nhau
86. Trong cơ sở dữ liệu, ‘deadlock’ (bế tắc) là gì?
A. Một lỗi phần cứng khiến cơ sở dữ liệu không thể truy cập được
B. Một tình huống mà hai hoặc nhiều giao dịch đang chờ đợi lẫn nhau để giải phóng các tài nguyên mà chúng đang giữ
C. Một lỗi phần mềm khiến dữ liệu bị hỏng
D. Một tình huống mà cơ sở dữ liệu đạt đến giới hạn dung lượng lưu trữ
87. Câu lệnh SQL nào được sử dụng để xóa dữ liệu từ một bảng?
A. REMOVE
B. DROP
C. DELETE
D. ERASE
88. Giao dịch cơ sở dữ liệu (database transaction) là gì?
A. Một bản sao lưu định kỳ của cơ sở dữ liệu
B. Một đơn vị công việc duy nhất được thực hiện trên cơ sở dữ liệu
C. Một báo cáo về hiệu suất của cơ sở dữ liệu
D. Một quy trình bảo trì cơ sở dữ liệu
89. Phân mảnh (Fragmentation) dữ liệu trong CSDL là gì và tại sao nó ảnh hưởng đến hiệu suất?
A. Là việc sao lưu dữ liệu để đảm bảo an toàn; nó không ảnh hưởng đến hiệu suất.
B. Là việc chia nhỏ dữ liệu thành các phần nhỏ hơn và lưu trữ chúng không liên tục trên đĩa; nó làm giảm hiệu suất do tăng thời gian truy cập.
C. Là việc nén dữ liệu để tiết kiệm không gian lưu trữ; nó làm tăng hiệu suất do giảm kích thước dữ liệu.
D. Là việc mã hóa dữ liệu để bảo vệ khỏi truy cập trái phép; nó không ảnh hưởng đến hiệu suất.
90. Trong ngữ cảnh của bảo mật cơ sở dữ liệu, ‘SQL injection’ là gì?
A. Một kỹ thuật để tăng tốc độ truy vấn SQL
B. Một loại tấn công bảo mật trong đó kẻ tấn công chèn mã SQL độc hại vào một truy vấn
C. Một phương pháp để mã hóa dữ liệu trong cơ sở dữ liệu
D. Một công cụ để quản lý và giám sát cơ sở dữ liệu
91. Trong cơ sở dữ liệu, ‘index’ (chỉ mục) được sử dụng để làm gì?
A. Lưu trữ các bản sao của dữ liệu.
B. Tăng tốc độ truy vấn dữ liệu.
C. Mã hóa dữ liệu để bảo mật.
D. Kiểm tra tính toàn vẹn của dữ liệu.
92. Đâu là một lợi ích của việc sử dụng trigger trong cơ sở dữ liệu?
A. Tăng tốc độ truy vấn.
B. Tự động thực hiện các hành động khi có sự kiện xảy ra trên dữ liệu.
C. Đơn giản hóa việc thiết kế cơ sở dữ liệu.
D. Cải thiện khả năng mở rộng của hệ thống.
93. Đâu là một phương pháp để đảm bảo tính đồng thời (concurrency) trong hệ quản trị cơ sở dữ liệu?
A. Chuẩn hóa (Normalization)
B. Khóa (Locking)
C. Phân mảnh (Fragmentation)
D. Sao lưu (Backup)
94. Trong SQL, mệnh đề nào được sử dụng để nhóm các hàng có cùng giá trị trong một cột?
A. ORDER BY
B. WHERE
C. GROUP BY
D. HAVING
95. Trong SQL, mệnh đề nào được sử dụng để sắp xếp kết quả truy vấn?
A. GROUP BY
B. SORT BY
C. ORDER BY
D. FILTER BY
96. Đâu là lợi ích chính của việc sử dụng stored procedure trong hệ quản trị cơ sở dữ liệu?
A. Tăng tính bảo mật và giảm lưu lượng mạng
B. Đơn giản hóa việc sao lưu và phục hồi dữ liệu
C. Cải thiện khả năng mở rộng của ứng dụng
D. Tăng cường khả năng tương thích giữa các hệ quản trị CSDL
97. Trong SQL, câu lệnh nào được sử dụng để thay đổi cấu trúc của một bảng (ví dụ: thêm cột, sửa kiểu dữ liệu)?
A. UPDATE
B. MODIFY
C. ALTER
D. CHANGE
98. Trong mô hình dữ liệu quan hệ, khái niệm nào dùng để chỉ một thuộc tính (cột) trong một bảng?
A. Record
B. Tuple
C. Attribute
D. Relationship
99. Khi thiết kế cơ sở dữ liệu cho một hệ thống quản lý thư viện, bạn cần lưu trữ thông tin về sách (tên sách, tác giả, năm xuất bản) và độc giả (tên, địa chỉ, số điện thoại). Mối quan hệ giữa ‘sách’ và ‘độc giả’ là gì nếu một độc giả có thể mượn nhiều sách và một cuốn sách có thể được mượn bởi nhiều độc giả?
A. Một – một (1-1)
B. Một – nhiều (1-n)
C. Nhiều – một (n-1)
D. Nhiều – nhiều (n-n)
100. 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
101. Trong SQL, mệnh đề nào được sử dụng để lọc dữ liệu sau khi đã nhóm bằng GROUP BY?
A. WHERE
B. ORDER BY
C. HAVING
D. GROUP BY
102. Thao tác nào sau đây không phải là một thao tác cơ bản trong đại số quan hệ?
A. Phép chọn (Selection)
B. Phép chiếu (Projection)
C. Phép chia (Division)
D. Phép gán (Assignment)
103. Trong SQL, hàm nào được sử dụng để đếm số lượng hàng trong một bảng?
A. SUM()
B. AVG()
C. COUNT()
D. MAX()
104. Trong SQL, câu lệnh nào được sử dụng để sửa đổi dữ liệu đã tồn tại trong một bảng?
A. INSERT
B. UPDATE
C. MODIFY
D. ALTER
105. Trong cơ sở dữ liệu, ‘transaction’ (giao dịch) là gì?
A. Một tập hợp các thao tác được thực hiện như một đơn vị duy nhất.
B. Một bản sao lưu của cơ sở dữ liệu.
C. Một quá trình tối ưu hóa truy vấn.
D. Một cơ chế để kiểm soát truy cập vào dữ liệu.
106. Trong SQL, câu lệnh nào được sử dụng để thêm dữ liệu mới vào một bảng?
A. ADD
B. INSERT
C. CREATE
D. UPDATE
107. Trong SQL, hàm nào sau đây được sử dụng để trả về ngày và giờ hiện tại của hệ thống?
A. CURRENT_DATE()
B. NOW()
C. TODAY()
D. GETDATE()
108. Khi thiết kế một cơ sở dữ liệu cho một hệ thống quản lý bán hàng, bạn cần lưu trữ thông tin về khách hàng (tên, địa chỉ, email) và đơn hàng (mã đơn hàng, ngày đặt hàng, tổng tiền). Làm thế nào để đảm bảo rằng mỗi đơn hàng phải liên kết với một khách hàng?
A. Sử dụng khóa chính trên bảng ‘khách hàng’.
B. Sử dụng khóa ngoại trong bảng ‘đơn hàng’ tham chiếu đến khóa chính của bảng ‘khách hàng’.
C. Sử dụng ràng buộc UNIQUE trên cột ’email’ của bảng ‘khách hàng’.
D. Sử dụng trigger để kiểm tra sự tồn tại của khách hàng trước khi tạo đơn hàng.
109. Trong ngữ cảnh cơ sở dữ liệu, thuật ngữ ‘data warehouse’ (kho dữ liệu) dùng để chỉ điều gì?
A. Một hệ thống quản lý cơ sở dữ liệu quan hệ.
B. Một cơ sở dữ liệu được tối ưu hóa cho phân tích và báo cáo.
C. Một hệ thống lưu trữ dữ liệu phi cấu trúc.
D. Một công cụ để sao lưu và phục hồi dữ liệu.
110. Khi nào nên sử dụng kỹ thuật ‘sharding’ (phân mảnh) trong cơ sở dữ liệu?
A. Khi cần tăng cường bảo mật cho dữ liệu.
B. Khi cần cải thiện hiệu suất truy vấn trên một bảng lớn.
C. Khi cần sao lưu và phục hồi dữ liệu nhanh chóng.
D. Khi cần phân tán dữ liệu trên nhiều máy chủ để tăng khả năng mở rộng.
111. Trong cơ sở dữ liệu quan hệ, ràng buộc toàn vẹn tham chiếu (referential integrity constraint) đảm bảo điều gì?
A. Dữ liệu trong một cột phải là duy nhất.
B. Dữ liệu nhập vào phải tuân theo một định dạng nhất định.
C. Giá trị của khóa ngoại phải tồn tại trong bảng được tham chiếu.
D. Không có giá trị null trong khóa chính.
112. Đâu là mệnh đề dùng để lọc dữ liệu trong câu lệnh SELECT của SQL?
A. ORDER BY
B. GROUP BY
C. WHERE
D. HAVING
113. SQL injection là một kỹ thuật tấn công lợi dụng lỗ hổng bảo mật nào?
A. Lỗi tràn bộ đệm
B. Lỗi xác thực
C. Lỗi trong truy vấn SQL
D. Lỗi cấu hình máy chủ
114. Đâu là mục tiêu chính của việc chuẩn hóa cơ sở dữ liệu (Normalization)?
A. Tăng tốc độ truy vấn
B. Giảm thiểu dư thừa dữ liệu
C. Tăng cường bảo mật
D. Đơn giản hóa thiết kế
115. Trong cơ sở dữ liệu, ACID là viết tắt của những thuộc tính nào?
A. Atomicity, Consistency, Isolation, Durability
B. Accuracy, Completeness, Integrity, Durability
C. Atomicity, Completeness, Isolation, Distribution
D. Accuracy, Consistency, Integrity, Distribution
116. Trong ngữ cảnh cơ sở dữ liệu, thuật ngữ ‘view’ (khung nhìn) dùng để chỉ điều gì?
A. Một bản sao vật lý của bảng
B. Một bảng tạm thời
C. Một truy vấn được lưu trữ
D. Một chỉ mục (index)
117. Trong SQL, hàm nào được sử dụng để tính tổng các giá trị trong một cột?
A. COUNT()
B. AVG()
C. SUM()
D. MAX()
118. Đâu là một thách thức chính khi làm việc với cơ sở dữ liệu phân tán?
A. Đảm bảo tính nhất quán của dữ liệu trên các node.
B. Giảm thiểu chi phí lưu trữ.
C. Đơn giản hóa việc thiết kế cơ sở dữ liệu.
D. Tăng tốc độ sao lưu và phục hồi.
119. Khi nào thì việc sử dụng cơ sở dữ liệu NoSQL phù hợp hơn so với cơ sở dữ liệu quan hệ?
A. Khi cần đảm bảo tính toàn vẹn ACID nghiêm ngặt.
B. Khi dữ liệu có cấu trúc phức tạp và liên kết chặt chẽ.
C. Khi dữ liệu có cấu trúc linh hoạt và khối lượng lớn.
D. Khi cần thực hiện các truy vấn phức tạp sử dụng JOIN.
120. Loại khóa nào dùng để liên kết hai bảng trong mô hình cơ sở dữ liệu quan hệ?
A. Khóa chính (Primary Key)
B. Khóa ngoại (Foreign Key)
C. Khóa duy nhất (Unique Key)
D. Khóa tổng hợp (Composite Key)
121. Đâu là một lợi ích của việc sử dụng cơ sở dữ liệu đám mây (cloud database)?
A. Giảm chi phí đầu tư phần cứng và quản lý
B. Tăng cường bảo mật tuyệt đối
C. Cải thiện tốc độ truy vấn dữ liệu
D. Loại bỏ hoàn toàn nhu cầu sao lưu dữ liệu
122. Trong cơ sở dữ liệu, tính toàn vẹn tham chiếu (Referential Integrity) đảm bảo điều gì?
A. Dữ liệu trong một cột phải thuộc cùng một kiểu dữ liệu
B. Không có bản ghi trùng lặp trong bảng
C. Giá trị của khóa ngoại phải tồn tại trong bảng tham chiếu
D. Tất cả các cột phải có giá trị
123. Trong ngữ cảnh cơ sở dữ liệu, thuật ngữ ‘data warehousing’ (kho dữ liệu) dùng để chỉ điều gì?
A. Một loại cơ sở dữ liệu được tối ưu hóa cho việc lưu trữ dữ liệu lớn
B. Một quá trình trích xuất, chuyển đổi và tải dữ liệu từ nhiều nguồn vào một kho lưu trữ trung tâm để phân tích
C. Một công cụ để quản lý và bảo trì cơ sở dữ liệu
D. Một phương pháp để mã hóa dữ liệu
124. Trong cơ sở dữ liệu, isolation level (mức độ cô lập) dùng để kiểm soát điều gì?
A. Quyền truy cập của người dùng
B. Mức độ ảnh hưởng của một giao dịch đến các giao dịch khác
C. Tốc độ thực hiện truy vấn
D. Dung lượng lưu trữ
125. Khi thiết kế cơ sở dữ liệu, lược đồ (Schema) dùng để mô tả điều gì?
A. Dữ liệu thực tế được lưu trữ
B. Cấu trúc và tổ chức của cơ sở dữ liệu
C. Các truy vấn thường dùng
D. Quyền truy cập của người dùng
126. Trong hệ quản trị cơ sở dữ liệu, ‘view’ là gì?
A. Một bản sao lưu của cơ sở dữ liệu
B. Một bảng ảo được tạo ra từ kết quả của một truy vấn
C. Một công cụ để thiết kế giao diện người dùng
D. Một phương pháp mã hóa dữ liệu
127. Bạn cần chọn một loại cơ sở dữ liệu để lưu trữ dữ liệu về các sản phẩm, đơn hàng và khách hàng cho một trang web thương mại điện tử. Yêu cầu chính là tính nhất quán cao và khả năng thực hiện các giao dịch phức tạp. Loại cơ sở dữ liệu nào phù hợp nhất?
A. MongoDB (Document Database)
B. Redis (Key-Value Store)
C. MySQL (Relational Database)
D. Neo4j (Graph Database)
128. Trong ngữ cảnh cơ sở dữ liệu, ACID là viết tắt của thuộc tính nào?
A. Atomicity, Consistency, Isolation, Durability
B. Accuracy, Completeness, Integrity, Dependability
C. Availability, Consistency, Integrity, Durability
D. Atomicity, Concurrency, Isolation, ডেটা
129. Đâu là lợi ích chính của việc sử dụng stored procedure trong hệ quản trị cơ sở dữ liệu?
A. Giảm dung lượng lưu trữ cơ sở dữ liệu
B. Tăng cường bảo mật và hiệu suất
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 tương thích giữa các hệ điều hành
130. Trong mô hình thực thể liên kết (ER model), hình chữ nhật biểu diễn cho thành phần nào?
A. Thuộc tính
B. Thực thể
C. Mối quan hệ
D. Khóa chính
131. Giả sử bạn có một bảng ‘Orders’ với các cột ‘OrderID’, ‘CustomerID’, và ‘OrderDate’. Bạn muốn lấy danh sách tất cả các đơn hàng được đặt trong tháng 1 năm 2023. Câu truy vấn SQL nào sau đây là đúng?
A. SELECT * FROM Orders WHERE OrderDate = ‘2023-01’;
B. SELECT * FROM Orders WHERE MONTH(OrderDate) = 1 AND YEAR(OrderDate) = 2023;
C. SELECT * FROM Orders WHERE OrderDate BETWEEN ‘2023-01-01’ AND ‘2023-01-31’;
D. SELECT * FROM Orders WHERE OrderDate LIKE ‘2023-01%’;
132. Đâu là sự khác biệt chính giữa clustered index và non-clustered index trong SQL Server?
A. Clustered index nhanh hơn non-clustered index
B. Một bảng chỉ có thể có một clustered index, nhưng có thể có nhiều non-clustered index
C. Clustered index lưu trữ dữ liệu thực tế của bảng, trong khi non-clustered index chỉ lưu trữ con trỏ đến dữ liệu
D. Tất cả các đáp án trên
133. Khi nào nên sử dụng kỹ thuật phân mảnh (sharding) trong cơ sở dữ liệu?
A. Khi cần tăng cường bảo mật cho dữ liệu
B. Khi cần cải thiện hiệu suất truy vấn trên dữ liệu lớn
C. Khi cần giảm dung lượng lưu trữ của cơ sở dữ liệu
D. Khi cần đơn giản hóa việc sao lưu và phục hồi dữ liệu
134. SQL injection là loại tấn công lợi dụng lỗ hổng bảo mật nào?
A. Lỗi tràn bộ đệm
B. Lỗi xác thực
C. Lỗi trong truy vấn SQL
D. Lỗi phiên
135. Trong cơ sở dữ liệu, khái niệm ‘trigger’ dùng để chỉ điều gì?
A. Một loại khóa đặc biệt
B. Một đoạn mã tự động thực thi khi có một sự kiện xảy ra trên bảng
C. Một công cụ để kiểm tra tính toàn vẹn của dữ liệu
D. Một phương pháp để mã hóa dữ liệu
136. Trong SQL, câu lệnh nào được sử dụng để thay đổi cấu trúc của một bảng (ví dụ: thêm cột, sửa kiểu dữ liệu)?
A. UPDATE
B. MODIFY
C. ALTER
D. CHANGE
137. Bạn cần lưu trữ dữ liệu dạng JSON trong cơ sở dữ liệu. Loại cơ sở dữ liệu nào phù hợp nhất?
A. MySQL
B. PostgreSQL
C. MongoDB
D. Oracle
138. Đâu là một phương pháp để cải thiện hiệu suất của truy vấn SQL?
A. Sử dụng SELECT * thay vì chỉ định các cột cần thiết
B. Tạo index trên các cột thường được sử dụng trong mệnh đề WHERE
C. Không sử dụng mệnh đề WHERE để quét toàn bộ bảng
D. Viết truy vấn phức tạp thay vì chia nhỏ thành nhiều truy vấn đơn giản
139. NoSQL là gì?
A. Một ngôn ngữ truy vấn cơ sở dữ liệu mới
B. Một loại cơ sở dữ liệu không sử dụng mô hình quan hệ
C. Một công cụ quản lý cơ sở dữ liệu mã nguồn mở
D. Một giao thức mạng cho cơ sở dữ liệu
140. Trong SQL, câu lệnh nào được sử dụng để kết hợp dữ liệu từ hai hoặc nhiều bảng dựa trên một cột chung?
A. UNION
B. JOIN
C. INTERSECT
D. EXCEPT
141. Bạn có hai bảng: ‘Customers’ (CustomerID, Name) và ‘Orders’ (OrderID, CustomerID, OrderDate). Bạn muốn lấy danh sách tất cả các khách hàng và số lượng đơn hàng mà mỗi khách hàng đã đặt. Câu truy vấn SQL nào sau đây là đúng?
A. SELECT Customers.Name, COUNT(Orders.OrderID) FROM Customers, Orders;
B. SELECT Customers.Name, COUNT(Orders.OrderID) FROM Customers JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
C. SELECT Customers.Name, COUNT(Orders.OrderID) FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID GROUP BY Customers.CustomerID;
D. SELECT Customers.Name, COUNT(Orders.OrderID) FROM Customers CROSS JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
142. Đâu là mục tiêu chính của việc chuẩn hóa cơ sở dữ liệu (Normalization)?
A. Tăng tốc độ truy vấn dữ liệu
B. Giảm thiểu dư thừa dữ liệu và cải thiện tính nhất quán
C. Tăng cường bảo mật cho cơ sở dữ liệu
D. Đơn giản hóa việc sao lưu và phục hồi dữ liệu
143. Đâu là trách nhiệm của một Database Administrator (DBA)?
A. Thiết kế giao diện người dùng cho ứng dụng
B. Viết mã ứng dụng
C. Quản lý, bảo trì và đảm bảo hiệu suất của cơ sở dữ liệu
D. Phân tích dữ liệu
144. 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
145. Bạn có một bảng ‘Products’ với cột ‘Price’. Bạn muốn tìm giá trị trung bình của tất cả các sản phẩm. Câu truy vấn SQL nào sau đây là đúng?
A. SELECT SUM(Price) FROM Products;
B. SELECT COUNT(Price) FROM Products;
C. SELECT AVG(Price) FROM Products;
D. SELECT MAX(Price) FROM Products;
146. Trong cơ sở dữ liệu, deadlock xảy ra khi nào?
A. Khi một truy vấn mất quá nhiều thời gian để thực hiện
B. Khi hai hoặc nhiều giao dịch chờ đợi lẫn nhau để giải phóng tài nguyên
C. Khi cơ sở dữ liệu bị đầy
D. Khi có lỗi trong phần cứng
147. Trong SQL, mệnh đề nào được sử dụng để lọc các hàng sau khi đã thực hiện phép gộp nhóm (GROUP BY)?
A. WHERE
B. HAVING
C. ORDER BY
D. GROUP BY
148. Trong cơ sở dữ liệu quan hệ, khóa ngoại (Foreign Key) được sử dụng để làm gì?
A. Xác định duy nhất mỗi hàng trong một bảng
B. Liên kết giữa hai bảng
C. Đảm bảo tính toàn vẹn của dữ liệu
D. Tất cả các đáp án trên
149. Trong SQL, mệnh đề nào được sử dụng để sắp xếp kết quả của một truy vấn?
A. WHERE
B. GROUP BY
C. ORDER BY
D. HAVING
150. Trong mô hình quan hệ, khái niệm nào dùng để biểu diễn một thuộc tính của một thực thể?
A. Bảng
B. Khóa chính
C. Thuộc tính
D. Mối quan hệ