Trắc Nghiệm Hệ Quản Trị Cơ Sở Dữ Liệu HUB là bộ đề ôn tập dành cho môn Hệ Quản Trị Cơ Sở Dữ Liệu, thuộc chương trình đào tạo ngành Công nghệ Thông tin tại Trường Đại học Quốc tế Hồng Bàng (HUB). Đề thi đại học do ThS. Lê Thị Bích Phượng, giảng viên Khoa Công nghệ Thông tin – Đại học Quốc tế Hồng Bàng, biên soạn năm 2024. Bộ đề tập trung vào các kiến thức trọng tâm như cấu trúc, chức năng của hệ quản trị cơ sở dữ liệu, mô hình dữ liệu, ngôn ngữ truy vấn SQL, cùng các vấn đề thực tiễn về bảo mật, tối ưu hóa và vận hành hệ thống.
Trắc Nghiệm Hệ Quản Trị Cơ Sở Dữ Liệu trên dethitracnghiem.vn là bộ đề trắc nghiệm đại học hỗ trợ sinh viên trường Đại học Quốc tế Hồng Bàng cũng như các bạn ngành Công nghệ Thông tin củng cố kiến thức, luyện tập kỹ năng làm bài thi trắc nghiệm. Giao diện trực quan, câu hỏi đa dạng, đáp án rõ ràng và phần giải thích chi tiết giúp sinh viên tự đánh giá năng lực và chuẩn bị tốt nhất cho các kỳ thi học phần. Đây là tài liệu trắc nghiệm đại học không thể thiếu dành cho quá trình ôn tập và kiểm tra kiến thức môn học quan trọng này.
Hãy cùng dethitracnghiem.vn khám phá đề thi này và thử sức ngay hôm nay!
Trắc Nghiệm Hệ Quản Trị Cơ Sở Dữ Liệu SQL đại học HUB
Câu 1. Trong kiến trúc của một hệ cơ sở dữ liệu, vai trò của Hệ Quản trị Cơ sở dữ liệu (DBMS) là gì khi so sánh với các chương trình ứng dụng?
A. DBMS là chương trình ứng dụng chỉ có nhiệm vụ chính là thiết kế giao diện người dùng.
B. DBMS là một phần mềm ứng dụng chuyên biệt chỉ được sử dụng cho công việc nhập liệu.
C. DBMS là tầng trung gian che giấu chi tiết lưu trữ và cung cấp giao diện cho ứng dụng.
D. Chương trình ứng dụng được phép thao tác trực tiếp lên tệp, DBMS chỉ có vai trò giám sát.
Câu 2. Một giao tác đang đọc dữ liệu về số dư tài khoản. Sau đó, một giao tác khác cập nhật số dư này và commit. Khi giao tác đầu tiên đọc lại số dư, nó thấy một giá trị khác. Hiện tượng này được gọi là “Non-Repeatable Read”. Mức cô lập (Isolation Level) tối thiểu nào cần được thiết lập để ngăn chặn hiện tượng này?
A. Mức Read Uncommitted cho phép đọc dữ liệu chưa được commit.
B. Mức Read Committed vẫn cho phép xảy ra hiện tượng Non-Repeatable Read.
C. Mức Repeatable Read đảm bảo việc đọc lại một hàng sẽ cho cùng kết quả.
D. Mức Serializable là mức cô lập cao nhất, ngăn chặn mọi hiện tượng.
Câu 3. Xét lược đồ quan hệ HOADON(SoHD, NgayHD, MaKH, TenKH, DiaChiKH) với khóa chính là SoHD. Lược đồ này vi phạm dạng chuẩn nào do sự tồn tại của phụ thuộc hàm MaKH -> {TenKH, DiaChiKH}?
A. Vi phạm dạng chuẩn 2NF do có thuộc tính không khóa phụ thuộc vào một phần khóa chính.
B. Vi phạm dạng chuẩn BCNF vì vế trái của phụ thuộc hàm không phải là một siêu khóa.
C. Lược đồ này không vi phạm bất kỳ dạng chuẩn nào và đã được thiết kế tối ưu.
D. Vi phạm dạng chuẩn 3NF vì tồn tại phụ thuộc hàm bắc cầu qua thuộc tính không khóa.
Câu 4. Trong SQL, câu lệnh nào cho phép tạo ra các cột có giá trị dẫn xuất dựa trên các điều kiện logic ngay trong câu lệnh SELECT, thường được dùng để phân loại hoặc gán nhãn dữ liệu?
A. Biểu thức CASE WHEN THEN END cho phép xử lý logic điều kiện trong câu lệnh SELECT.
B. Hàm DECODE() chỉ có trong một số hệ quản trị CSDL và không phải chuẩn SQL.
C. Cấu trúc IF THEN ELSE không được hỗ trợ trực tiếp trong mệnh đề SELECT của SQL.
D. Phép toán GROUP BY với mệnh đề HAVING dùng để lọc các nhóm dữ liệu đã tạo.
Câu 5. Việc tạo chỉ mục (index) trên một cột thường xuyên được truy vấn trong mệnh đề WHERE giúp tăng tốc độ đọc dữ liệu. Tuy nhiên, mặt trái của việc sử dụng quá nhiều chỉ mục trên một bảng là gì?
A. Làm giảm đi tính sẵn sàng và tính ổn định chung của toàn bộ cơ sở dữ liệu.
B. Làm chậm các thao tác ghi (INSERT, UPDATE, DELETE) do phải cập nhật các chỉ mục.
C. Làm gia tăng đáng kể tần suất xảy ra các hiện tượng khóa chết (deadlock).
D. Yêu cầu hệ thống phải có dung lượng bộ nhớ RAM lớn hơn để chạy truy vấn.
Câu 6. Đâu là mô tả chính xác nhất về ràng buộc toàn vẹn tham chiếu (Referential Integrity)?
A. Ràng buộc này đảm bảo rằng tất cả các giá trị trong cột khóa chính phải là duy nhất.
B. Ràng buộc này quy định một giao dịch phải được thực hiện đầy đủ hoặc không gì cả.
C. Giá trị khóa ngoại phải tồn tại trong khóa chính của bảng được tham chiếu hoặc là NULL.
D. Ràng buộc này yêu cầu dữ liệu trong bảng phải được lưu trữ ở dạng chuẩn 3NF.
Câu 7. Kỹ thuật “Shadow Paging” là một phương pháp phục hồi cơ sở dữ liệu. Nguyên tắc hoạt động cơ bản của nó là gì?
A. Ghi lại mọi thay đổi vào một tệp nhật ký riêng biệt trước khi ghi lên trên đĩa.
B. Không ghi đè lên trang dữ liệu cũ mà ghi vào một trang mới và cập nhật con trỏ.
C. Tạo ra một bản sao lưu toàn bộ cơ sở dữ liệu theo một lịch trình đã định kỳ.
D. Sử dụng một cơ chế khóa hai pha nghiêm ngặt để đảm bảo các giao tác không xung đột.
Câu 8. Phép toán nào trong đại số quan hệ được dùng để tạo ra một quan hệ mới chứa tất cả các bộ có mặt trong quan hệ thứ nhất nhưng không có mặt trong quan hệ thứ hai?
A. Phép giao (Intersection) lấy các bộ chung của hai quan hệ.
B. Phép hợp (Union) kết hợp tất cả các bộ từ cả hai quan hệ.
C. Phép nối (Join) kết hợp các bộ từ hai quan hệ theo điều kiện.
D. Phép trừ (Difference / Minus) lấy các bộ có ở quan hệ đầu mà không có ở quan hệ sau.
Câu 9. Một trigger được định nghĩa là AFTER UPDATE trên bảng GIAODICH. Điều này có nghĩa là gì?
A. Thủ tục trigger sẽ được kích hoạt ngay trước khi một bản ghi được cập nhật thành công.
B. Trigger này sẽ có chức năng ngăn chặn mọi hành động cập nhật trên bảng GIAODICH.
C. Thủ tục trigger sẽ tự động thực thi ngay sau khi thao tác UPDATE trên bảng hoàn tất.
D. Trigger này chỉ được hệ thống kích hoạt nếu câu lệnh UPDATE trên bảng gây ra lỗi.
Câu 10. Trong tối ưu hóa truy vấn, một “kế hoạch thực thi” (execution plan) là gì?
A. Là một chuỗi các bước và thao tác mà DBMS sẽ dùng để thực thi một câu lệnh SQL.
B. Là một phiên bản đã được chuẩn hóa và tối ưu hóa của câu lệnh SQL ban đầu.
C. Là một danh sách các quyền hạn mà người dùng cần phải có để chạy câu truy vấn.
D. Là chính kết quả cuối cùng mà câu truy vấn SQL sẽ trả về cho người dùng.
Câu 11. Tính “nguyên tử” (Atomicity) trong bộ thuộc tính ACID của giao dịch đảm bảo rằng:
A. Các thay đổi của một giao dịch đã commit sẽ không bị mất ngay cả khi hệ thống gặp sự cố.
B. Một giao dịch hoặc là thành công trọn vẹn, hoặc là thất bại hoàn toàn (rollback).
C. Nhiều giao dịch chạy đồng thời mà không can thiệp lẫn nhau, cho kết quả tuần tự.
D. Dữ liệu trong cơ sở dữ liệu luôn phải tuân thủ các ràng buộc toàn vẹn đã định nghĩa.
Câu 12. Câu lệnh REVOKE SELECT ON KHACHHANG FROM NhanVien; có chức năng gì?
A. Cấp cho người dùng có tên NhanVien quyền xem dữ liệu trên bảng KHACHHANG.
B. Xóa bỏ hoàn toàn người dùng NhanVien ra khỏi hệ thống cơ sở dữ liệu.
C. Thu hồi lại quyền xem (SELECT) dữ liệu trên bảng KHACHHANG từ người dùng NhanVien.
D. Ngăn không cho người dùng NhanVien có thể thay đổi dữ liệu của bảng KHACHHANG.
Câu 13. Sự khác biệt cơ bản giữa một siêu khóa (superkey) và một khóa ứng viên (candidate key) là gì?
A. Một siêu khóa có thể chứa các thuộc tính không cần thiết, trong khi khóa ứng viên thì không.
B. Khóa ứng viên là một siêu khóa tối thiểu, không thể bỏ bớt thuộc tính nào của nó.
C. Một quan hệ có thể có nhiều siêu khóa nhưng chỉ được phép có một khóa ứng viên duy nhất.
D. Siêu khóa được dùng để thiết lập liên kết các bảng, còn khóa ứng viên thì không.
Câu 14. Trong mô hình thực thể-kết hợp (ER Model), một thuộc tính phức hợp (composite attribute) là gì?
A. Là một thuộc tính có thể nhận nhiều hơn một giá trị cho cùng một thực thể.
B. Là một thuộc tính có thể được phân rã thành các thành phần con có ý nghĩa riêng.
C. Là một thuộc tính có giá trị được suy ra từ các thuộc tính khác trong cùng thực thể.
D. Là một thuộc tính nguyên tố, không thể được phân chia thành các thành phần nhỏ hơn.
Câu 15. Điều gì xảy ra khi bạn thực hiện phép nối ngoài đầy đủ (FULL OUTER JOIN) giữa hai bảng A và B?
A. Chỉ trả về những hàng có khóa nối khớp nhau ở cả hai bảng A và B.
B. Trả về tất cả các hàng từ bảng A và chỉ những hàng khớp từ bảng B.
C. Trả về tất cả hàng từ cả hai bảng, điền NULL vào các cột nếu không có sự tương ứng.
D. Trả về một kết quả là tích Đề-các (Cartesian product) của hai bảng A và B.
Câu 16. SQL Injection là một kỹ thuật tấn công phổ biến. Cơ chế phòng chống hiệu quả nhất là gì?
A. Thực hiện việc mã hóa toàn bộ cơ sở dữ liệu để bảo vệ dữ liệu bên trong.
B. Luôn sử dụng các thủ tục lưu trữ (stored procedures) cho mọi truy cập dữ liệu.
C. Sử dụng các câu truy vấn có tham số hóa, thay vì nối chuỗi trực tiếp vào lệnh SQL.
D. Giới hạn nghiêm ngặt về độ dài của dữ liệu được nhập vào từ phía người dùng.
Câu 17. Trong ngữ cảnh lưu trữ dữ liệu, “phân mảnh ngang” (horizontal partitioning/sharding) có nghĩa là gì?
A. Chia một bảng thành nhiều bảng nhỏ hơn, mỗi bảng chứa một tập con các cột.
B. Chia các hàng của một bảng ra và lưu trữ chúng trên nhiều bảng hoặc máy chủ khác nhau.
C. Sao chép toàn bộ một bảng dữ liệu ra nhiều máy chủ khác nhau để tăng khả năng đọc.
D. Lưu trữ các cột khác nhau của cùng một bảng trên các đĩa vật lý riêng biệt.
Câu 18. Khi nào thì việc sử dụng chỉ mục B-Tree (B-Tree index) là hiệu quả nhất?
A. Khi truy vấn trên cột có nhiều giá trị riêng biệt và dùng trong các phép so sánh.
B. Khi truy vấn trên các cột có ít giá trị riêng biệt như cột giới tính (Nam/Nữ).
C. Khi cần thực hiện các phép tìm kiếm dựa trên nội dung văn bản (full-text search).
D. Khi bảng có số lượng thao tác ghi (INSERT/UPDATE) nhiều hơn hẳn thao tác đọc.
Câu 19. Mục đích chính của việc sử dụng một thủ tục lưu trữ (Stored Procedure) là gì?
A. Đóng gói lệnh SQL để tái sử dụng, tăng bảo mật và cải thiện hiệu suất hệ thống.
B. Chỉ được sử dụng để định nghĩa các ràng buộc nghiệp vụ phức tạp trên dữ liệu.
C. Chỉ được sử dụng để tạo ra một bản sao dữ liệu ở chế độ chỉ đọc của một bảng.
D. Được dùng để thay thế hoàn toàn cho việc sử dụng các câu lệnh SQL trực tiếp.
Câu 20. Khóa bi quan (Pessimistic Locking) trong quản lý tương tranh hoạt động theo nguyên tắc nào?
A. Giả định rằng xung đột sẽ không xảy ra và chỉ kiểm tra khi giao tác chuẩn bị commit.
B. Giả định xung đột dễ xảy ra, do đó sẽ khóa tài nguyên ngay khi cần dùng.
C. Luôn cho phép các giao tác đọc dữ liệu đang bị khóa bởi một giao tác khác.
D. Không sử dụng cơ chế khóa mà sử dụng dấu thời gian để giải quyết xung đột.
Câu 21. Sự khác biệt giữa UNION và JOIN trong SQL là gì?
A. Cả hai đều được dùng để kết hợp dữ liệu nhưng UNION luôn hiệu quả hơn JOIN.
B. UNION kết hợp kết quả theo chiều dọc (thêm hàng), JOIN kết hợp bảng theo chiều ngang (thêm cột).
C. JOIN yêu cầu các bảng tham gia phải có cùng cấu trúc, trong khi UNION thì không.
D. UNION là một thao tác thuộc nhóm DML, trong khi JOIN là một thao tác DDL.
Câu 22. Trong một hệ thống cơ sở dữ liệu phân tán, “tính trong suốt phân tán” (distribution transparency) có nghĩa là gì?
A. Người dùng cuối và ứng dụng phải biết dữ liệu đang được lưu trữ ở máy chủ nào.
B. Hệ thống yêu cầu mỗi nút mạng phải có một bản sao đầy đủ của toàn bộ dữ liệu.
C. Người dùng và ứng dụng tương tác với hệ thống như một CSDL tập trung duy nhất.
D. Toàn bộ dữ liệu phải được mã hóa cẩn thận khi truyền tải giữa các nút mạng.
Câu 23. Ràng buộc CHECK trong SQL được sử dụng để làm gì?
A. Kiểm tra xem một giá trị khóa ngoại đã tồn tại trong bảng được tham chiếu hay chưa.
B. Đảm bảo rằng một cột được chỉ định không được phép chứa giá trị NULL.
C. Thiết lập một quy tắc logic mà giá trị trong một cột phải tuân theo khi chèn/cập nhật.
D. Kiểm tra cú pháp của một câu lệnh SQL có hợp lệ hay không trước khi thực thi.
Câu 24. Trong một giao dịch, điểm lưu (SAVEPOINT) được tạo ra để làm gì?
A. Đánh dấu một điểm mà tại đó giao dịch sẽ tự động được commit thành công.
B. Tạo một mốc để có thể quay lui (ROLLBACK) về mốc đó mà không cần hủy cả giao dịch.
C. Buộc tất cả các thay đổi dữ liệu phải được ghi ngay lập tức ra đĩa vật lý.
D. Lưu trạng thái hiện tại của toàn bộ cơ sở dữ liệu vào một tệp tin sao lưu.
Câu 25. “Data Warehouse” (Kho dữ liệu) khác biệt cơ bản so với “Operational Database” (CSDL tác vụ) ở điểm nào?
A. Kho dữ liệu (Data Warehouse) được tối ưu cho các thao tác ghi tốc độ cao.
B. Kho dữ liệu tối ưu cho phân tích (OLAP), CSDL tác vụ tối ưu cho giao dịch (OLTP).
C. Kho dữ liệu (Data Warehouse) chỉ lưu trữ dữ liệu hiện tại, không có dữ liệu lịch sử.
D. CSDL tác vụ thường có cấu trúc phi chuẩn hóa để tăng tốc độ cho việc báo cáo.
Câu 26. Một “bế tắc” (deadlock) xảy ra khi nào?
A. Khi một giao dịch thực hiện yêu cầu một tài nguyên không hề tồn tại trong hệ thống.
B. Khi hệ quản trị cơ sở dữ liệu gặp sự cố hết không gian lưu trữ trên đĩa cứng.
C. Khi hai hay nhiều giao dịch chờ đợi lẫn nhau để giải phóng tài nguyên bị khóa.
D. Khi một câu truy vấn chạy quá lâu và bị hệ thống tự động chấm dứt để giải phóng.
Câu 27. Câu lệnh ALTER TABLE trong SQL không thể được sử dụng để thực hiện hành động nào sau đây?
A. Thêm một cột mới vào trong một bảng đã tồn tại từ trước.
B. Thay đổi kiểu dữ liệu của một cột đang có sẵn trong bảng.
C. Thêm hoặc xóa một ràng buộc trên một bảng đã tồn tại.
D. Thay đổi dữ liệu của một hay nhiều hàng cụ thể trong bảng.
Câu 28. Tại sao việc chuẩn hóa cơ sở dữ liệu đôi khi lại được “phi chuẩn hóa” (denormalization) một cách có chủ đích trong thực tế?
A. Để cải thiện hiệu suất đọc bằng cách giảm số phép nối, chấp nhận dư thừa dữ liệu.
B. Để làm cho cơ sở dữ liệu tuân thủ nghiêm ngặt hơn các dạng chuẩn bậc cao.
C. Để tăng cường và củng cố thêm các tính năng bảo mật của cơ sở dữ liệu.
D. Để giúp tiết kiệm không gian lưu trữ tổng thể trên đĩa cứng của hệ thống.
Câu 29. Trong SQL, hàm tập hợp COUNT(DISTINCT column_name) thực hiện điều gì?
A. Đếm tất cả các hàng trong bảng, có bao gồm cả các giá trị NULL.
B. Đếm số lượng hàng mà cột column_name có giá trị khác với NULL.
C. Gây ra lỗi cú pháp vì từ khóa DISTINCT không thể dùng bên trong hàm COUNT.
D. Đếm số lượng giá trị duy nhất (không trùng lặp) và khác NULL trong cột.
Câu 30. Khái niệm “Catalogs” hay “Data Dictionary” (từ điển dữ liệu) trong một hệ quản trị cơ sở dữ liệu chứa đựng điều gì?
A. Chứa toàn bộ dữ liệu của người dùng được sắp xếp theo thứ tự bảng chữ cái.
B. Chứa một bản sao lưu dự phòng của tất cả các bảng trong cơ sở dữ liệu.
C. Chứa siêu dữ liệu (metadata) về chính CSDL, như cấu trúc bảng, cột, chỉ mục.
D. Chứa lịch sử của tất cả các câu lệnh SQL đã được thực thi trên toàn hệ thống.