Trắc Nghiệm Hệ Quản Trị Cơ Sở Dữ Liệu Chương 8 là bộ đề ôn tập chuyên sâu cho chương 8 của môn Hệ Quản Trị Cơ Sở Dữ Liệu, thuộc chương trình Công nghệ Thông tin tại Trường Đại học Sư phạm TP.HCM (HCMUE). Đề thi đại học được biên soạn bởi ThS. Lý Quốc Vinh, giảng viên Khoa Công nghệ Thông tin – Đại học Sư phạm TP.HCM, năm 2024. Bộ đề tập trung vào các nội dung nâng cao như quản trị cơ sở dữ liệu phân tán, đồng bộ dữ liệu giữa các hệ thống, giải pháp tối ưu hoá truyền dữ liệu và các vấn đề về sao lưu, phục hồi dữ liệu trên môi trường phân tán, giúp sinh viên hiểu rõ và vận dụng hiệu quả trong thực tiễn.
Trắc Nghiệm Hệ Quản Trị Cơ Sở Dữ Liệu trên dethitracnghiem.vn là tài liệu trắc nghiệm đại học hữu ích, hỗ trợ sinh viên HCMUE và các trường đại học khác kiểm tra, củng cố và nâng cao kiến thức về hệ quản trị cơ sở dữ liệu. Các câu hỏi đa dạng, được phân loại theo chủ đề, kèm đáp án và giải thích chi tiết giúp người học dễ dàng nhận diện điểm mạnh – điểm yếu, làm quen cấu trúc đề thi thực tế và chủ động chuẩn bị cho các kỳ thi học phần quan trọng. Đây là bộ đề trắc nghiệm đại học không thể thiếu cho quá trình ôn tập chương 8 của môn học 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
Câu 1. Một hệ thống ngân hàng thực hiện một giao dịch chuyển tiền từ tài khoản A sang tài khoản B. Thuộc tính “Nguyên tử” (Atomicity) của ACID đảm bảo điều gì trong tình huống này?
A. Hoặc là trừ tiền ở A VÀ cộng tiền ở B thành công, hoặc không thao tác nào có hiệu lực.
B. Đảm bảo tổng số tiền trong hệ thống trước và sau giao dịch được bảo toàn.
C. Không giao dịch nào khác có thể thấy số dư A, B đang ở trạng thái lưng chừng.
D. Đảm bảo việc chuyển tiền không bị mất đi ngay cả khi hệ thống gặp sự cố.
Câu 2. Cho lịch biểu S: r1(A); r2(B); w1(A); w2(B); commit1; commit2;. Lịch biểu này có được coi là khả tuần tự (serializable) không và tại sao?
A. Có, vì nó tương đương lịch biểu tuần tự <T1, T2> do không có xung đột trực tiếp.
B. Không, vì hai giao dịch T1 và T2 đang được thực thi xen kẽ với nhau.
C. Có, vì cả hai giao dịch trong lịch biểu đều kết thúc bằng lệnh commit.
D. Không, vì một lịch biểu chỉ được coi là khả tuần tự nếu nó là tuần tự.
Câu 3. Giao tác T1 đọc số lượng tồn kho của sản phẩm X. Sau đó, T2 cập nhật số lượng tồn kho của X và commit. Khi T1 đọc lại số lượng tồn kho của X, nó thấy một giá trị khác. Hiện tượng này được định nghĩa là gì?
A. Là hiện tượng đọc bẩn (Dirty Read).
B. Là hiện tượng mất cập nhật (Lost Update).
C. Là hiện tượng đọc không lặp lại (Non-repeatable Read).
D. Là hiện tượng bóng ma (Phantom Read).
Câu 4. Trong các giao thức khóa, cơ chế Khóa hai pha nghiêm ngặt (Strict Two-Phase Locking – Strict 2PL) yêu cầu một giao tác phải:
A. Phải yêu cầu tất cả các khóa cần thiết trước khi bắt đầu thực thi.
B. Có thể giải phóng một khóa ngay sau khi không cần dùng đến nó nữa.
C. Phải giữ tất cả các khóa độc quyền cho đến khi giao dịch kết thúc (commit/abort).
D. Chỉ được phép sử dụng các khóa chia sẻ (shared locks) để tăng tính tương tranh.
Câu 5. Mục đích chính của việc sử dụng các “điểm kiểm tra” (checkpoint) trong cơ chế phục hồi dựa trên nhật ký là gì?
A. Để đảm bảo được tính nguyên tử của tất cả các giao dịch trong hệ thống.
B. Để giới hạn khối lượng công việc mà hệ thống phục hồi cần làm sau sự cố.
C. Để ngăn chặn các tình huống bế tắc (deadlock) có thể xảy ra trong hệ thống.
D. Để ghi lại trạng thái hiện tại của tất cả các giao dịch đang hoạt động.
Câu 6. Cho lịch biểu S: r1(X); w2(X); w1(X); commit2; commit1;. Lịch biểu này có khả tuần tự xung đột (conflict serializable) không?
A. Có, vì nó tương đương với lịch biểu tuần tự <T1, T2>.
B. Không, vì tồn tại một chu trình trong đồ thị ưu tiên (T1->T2 và T2->T1).
C. Có, vì nó tương đương với lịch biểu tuần tự <T2, T1>.
D. Không thể xác định được tính khả tuần tự nếu không có thêm thông tin.
Câu 7. Thuộc tính “Bền vững” (Durability) của ACID được hệ quản trị CSDL đảm bảo chủ yếu thông qua cơ chế nào?
A. Đảm bảo bằng cách sử dụng các giao thức khóa hai pha.
B. Đảm bảo bằng việc kiểm tra các ràng buộc toàn vẹn trước khi commit.
C. Sử dụng tệp nhật ký giao dịch (log) để ghi lại mọi thay đổi một cách an toàn.
D. Đảm bảo bằng cách cách ly các giao dịch đang thực thi khỏi nhau.
Câu 8. Một bế tắc (deadlock) xảy ra khi bốn điều kiện cần được thỏa mãn đồng thời. Điều kiện nào sau đây KHÔNG phải là một trong số đó?
A. Loại trừ tương hỗ (Mutual Exclusion).
B. Giữ và chờ (Hold and Wait).
C. Ưu tiên (Preemption).
D. Chờ đợi vòng tròn (Circular Wait).
Câu 9. Trong cơ chế phục hồi sau sự cố, hệ thống sẽ thực hiện thao tác UNDO đối với những giao dịch nào?
A. Các giao dịch đã bắt đầu nhưng chưa có bản ghi trong nhật ký.
B. Các giao dịch đã có bản ghi trong nhật ký hệ thống.
C. Tất cả các giao dịch đã được ghi vào nhật ký, không phân biệt trạng thái.
D. Chỉ các giao dịch đã thực hiện thao tác ghi mà không đọc dữ liệu.
Câu 10. Giao tác T1 thực hiện một truy vấn để đếm số nhân viên trong phòng ‘Kinh doanh’. Sau đó, T2 chèn một nhân viên mới vào phòng ‘Kinh doanh’ và commit. Khi T1 thực hiện lại câu truy vấn đếm, nó nhận được một kết quả khác. Hiện tượng này được gọi là gì?
A. Đọc không lặp lại (Non-repeatable Read).
B. Bóng ma (Phantom Read).
C. Đọc bẩn (Dirty Read).
D. Mất cập nhật (Lost Update).
Câu 11. Giao thức điều khiển tương tranh dựa trên dấu thời gian (Timestamp-based protocols) giải quyết xung đột bằng cách nào?
A. Gán một dấu thời gian cho mỗi giao dịch và dùng nó để quyết định thứ tự xử lý.
B. Yêu cầu các giao dịch phải khóa tất cả các mục dữ liệu theo thứ tự.
C. Sử dụng một đồ thị ưu tiên để phát hiện các chu trình dựa trên thời gian.
D. Cho phép các giao dịch cũ hơn luôn luôn được ưu tiên thực thi trước.
Câu 12. Phương pháp “Phòng ngừa Bế tắc” (Deadlock Prevention) hoạt động bằng cách:
A. Cho phép bế tắc xảy ra rồi sau đó chọn một giao dịch để hủy bỏ.
B. Đảm bảo ít nhất một trong bốn điều kiện cần của bế tắc không bao giờ xảy ra.
C. Định kỳ xây dựng một đồ thị chờ để tìm kiếm các chu trình đang tồn tại.
D. Sử dụng một thuật toán “nhà băng” để cấp phát tài nguyên an toàn.
Câu 13. Một lịch biểu được gọi là “có thể phục hồi” (recoverable) nếu:
A. Các giao dịch trong đó không bao giờ đọc dữ liệu được ghi bởi giao dịch khác.
B. Lịch biểu đó không chứa các thao tác hủy bỏ (abort) của giao dịch.
C. Một giao dịch không được commit nếu nó đọc dữ liệu từ một giao dịch chưa commit.
D. Tất cả các giao dịch trong lịch biểu đều phải tuân theo giao thức khóa hai pha.
Câu 14. Kỹ thuật phục hồi “Shadow Paging” có ưu điểm chính là gì?
A. Quá trình phục hồi sau sự cố rất nhanh vì không cần thực hiện UNDO hoặc REDO.
B. Hỗ trợ tốt cho các giao dịch có thời gian thực thi rất dài và phức tạp.
C. Không yêu cầu nhiều không gian đĩa bổ sung để lưu trữ các trang bóng.
D. Rất hiệu quả trong việc quản lý tương tranh giữa các giao dịch đồng thời.
Câu 15. Sự khác biệt cơ bản giữa giao thức Khóa hai pha (2PL) và Khóa hai pha nghiêm ngặt (Strict 2PL) là gì?
A. Giao thức 2PL không có pha thu hẹp (shrinking phase) để giải phóng khóa.
B. Strict 2PL giữ tất cả khóa đến khi giao dịch kết thúc, 2PL thì không nhất thiết.
C. Giao thức 2PL có thể ngăn chặn được deadlock, còn Strict 2PL thì không.
D. Giao thức Strict 2PL chỉ sử dụng các khóa độc quyền để hoạt động.
Câu 16. Trong phương pháp phát hiện bế tắc, một “đồ thị chờ” (wait-for graph) được xây dựng. Một chu trình trong đồ thị này biểu thị điều gì?
A. Sự tồn tại của một lịch biểu có tính khả tuần tự.
B. Sự tồn tại của một tình huống bế tắc giữa các giao dịch trong chu trình.
C. Một giao dịch đang chờ một tài nguyên được cấp phát cho giao dịch khác.
D. Cần phải thực hiện một điểm kiểm tra (checkpoint) ngay lập tức.
Câu 17. Thuộc tính “Cách ly” (Isolation) của một giao dịch có mục đích là gì?
A. Đảm bảo thực thi đồng thời cho kết quả tương đương thực thi tuần tự, che giấu trạng thái trung gian.
B. Đảm bảo rằng dữ liệu được lưu trữ một cách bền vững sau khi giao dịch kết thúc.
C. Đảm bảo rằng một giao dịch được thực hiện toàn bộ hoặc không có tác động gì.
D. Đảm bảo rằng cơ sở dữ liệu luôn ở trong một trạng thái hợp lệ và nhất quán.
Câu 18. Mức cô lập (Isolation Level) SERIALIZABLE là mức cao nhất. Nó ngăn chặn được những hiện tượng nào?
A. Chỉ ngăn chặn được hiện tượng Đọc bẩn.
B. Ngăn chặn được Đọc bẩn và Đọc không lặp lại.
C. Ngăn chặn được tất cả các hiện tượng: Đọc bẩn, Đọc không lặp lại, và Bóng ma.
D. Chỉ ngăn chặn được hiện tượng Bóng ma.
Câu 19. Trong một bản ghi nhật ký (log record) của giao dịch, thông tin về “giá trị trước” (before image) của một mục dữ liệu được sử dụng cho mục đích gì?
A. Để thực hiện thao tác UNDO (hoàn tác) nếu giao dịch bị hủy bỏ hoặc gặp sự cố.
B. Để thực hiện thao tác REDO (làm lại) sau khi hệ thống phục hồi lại.
C. Để thực hiện việc kiểm tra các ràng buộc toàn vẹn của cơ sở dữ liệu.
D. Để tối ưu hóa các câu truy vấn chỉ có thao tác đọc dữ liệu (chỉ đọc).
Câu 20. Giao thức điều khiển tương tranh lạc quan (Optimistic Concurrency Control) hoạt động dựa trên giả định nào?
A. Giả định rằng xung đột giữa các giao dịch xảy ra rất thường xuyên.
B. Giả định rằng tất cả các giao dịch đều có thời gian chạy rất ngắn.
C. Giả định xung đột hiếm khi xảy ra, do đó chỉ kiểm tra trước khi commit.
D. Giả định rằng hệ thống có một lượng lớn bộ nhớ để lưu trữ các phiên bản.
Câu 21. Một lịch biểu được gọi là “tránh hủy bỏ hàng loạt” (cascadeless) nếu nó tuân thủ quy tắc nào?
A. Lịch biểu đó phải là một lịch biểu tuần tự không xen kẽ.
B. Mọi giao dịch chỉ được phép đọc dữ liệu được ghi bởi các giao dịch đã commit.
C. Các giao dịch không được phép giải phóng khóa cho đến khi kết thúc.
D. Không tồn tại tình huống bế tắc (deadlock) trong lịch biểu.
Câu 22. Giao thức “cảnh báo khóa” (Lock Granularity) đề cập đến vấn đề gì?
A. Khoảng thời gian mà một khóa được giữ bởi một giao dịch đang thực thi.
B. Kích thước của mục dữ liệu bị khóa, sự đánh đổi giữa tương tranh và chi phí.
C. Số lượng các loại khóa khác nhau có trong hệ thống (S, X, U,…).
D. Cách thức mà hệ thống phát hiện và giải quyết các tình huống bế tắc.
Câu 23. Trong pha kiểm tra (validation phase) của giao thức điều khiển tương tranh lạc quan, nếu hệ thống phát hiện rằng giao dịch Ti có xung đột với một giao dịch khác đã commit, điều gì sẽ xảy ra với Ti?
A. Giao dịch Ti sẽ được ưu tiên và cho phép commit trước các giao dịch khác.
B. Giao dịch Ti sẽ bị hủy bỏ (rollback) và phải thực hiện lại từ đầu.
C. Giao dịch Ti sẽ phải chờ cho đến khi các giao dịch xung đột khác hoàn tất.
D. Hệ thống sẽ cố gắng hợp nhất các thay đổi của Ti với các giao dịch khác.
Câu 24. Trạng thái “partially committed” của một giao dịch có nghĩa là gì?
A. Giao dịch đã được ghi vào trong nhật ký nhưng chưa được thực thi.
B. Giao dịch đã hoàn thành được một nửa số thao tác của nó.
C. Giao dịch đã thực thi xong thao tác cuối cùng nhưng thay đổi chưa được ghi bền vững.
D. Giao dịch đã bị hệ thống hủy bỏ một phần các thao tác của nó.
Câu 25. Tại sao giao thức khóa hai pha (2PL) không đảm bảo ngăn chặn được bế tắc?
A. Vì nó cho phép các giao dịch có thể yêu cầu khóa vào bất cứ lúc nào.
B. Vì hai giao dịch có thể cùng giữ khóa và chờ khóa của nhau, gây ra chờ đợi vòng tròn.
C. Vì pha thu hẹp (shrinking phase) của nó giải phóng các khóa quá sớm.
D. Vì giao thức 2PL chỉ hoạt động với các khóa độc quyền (exclusive lock).
Câu 26. Một “giao dịch chỉ đọc” (read-only transaction) có thể mang lại lợi ích gì cho hệ thống quản lý giao dịch?
A. Nó không bao giờ cần phải chờ đợi bất kỳ một khóa nào từ hệ thống.
B. Hệ thống có thể xử lý nó với chi phí thấp hơn, tăng hiệu suất tổng thể.
C. Nó luôn được hệ thống gán dấu thời gian nhỏ nhất để được ưu tiên.
D. Nó tự động làm sạch các dữ liệu bẩn do các giao dịch khác để lại.
Câu 27. Khái niệm “bản ghi nhật ký ghi trước” (Write-Ahead Logging – WAL) là một quy tắc cơ bản trong phục hồi dữ liệu, nó phát biểu rằng:
A. Bản ghi nhật ký phải được ghi ra bộ nhớ bền vững trước khi thay đổi được ghi ra CSDL.
B. Cơ sở dữ liệu phải được ghi trước, sau đó mới đến lượt ghi nhật ký.
C. Tất cả các bản ghi nhật ký của một giao dịch phải được ghi ra cùng một lúc.
D. Chỉ các thao tác đọc dữ liệu mới cần được ghi vào nhật ký trước khi thực thi.
Câu 28. Mức cô lập READ COMMITTED ngăn chặn được hiện tượng “Đọc bẩn” nhưng vẫn có thể gặp phải hiện tượng nào sau đây?
A. Chỉ có thể gặp duy nhất hiện tượng Mất cập nhật (Lost Update).
B. Không thể gặp bất kỳ một hiện tượng không mong muốn nào khác.
C. Có thể gặp phải cả hiện tượng Đọc không lặp lại và Bóng ma.
D. Chỉ có thể gặp duy nhất hiện tượng Bóng ma (Phantom Read).
Câu 29. Khi hệ thống chọn một giao dịch làm “nạn nhân” để phá vỡ một chu trình bế tắc, tiêu chí lựa chọn thường dựa trên yếu tố nào?
A. Giao dịch nào đã chạy lâu nhất sẽ được hệ thống giữ lại để hoàn thành.
B. Giao dịch nào yêu cầu nhiều tài nguyên nhất sẽ bị hệ thống hủy bỏ.
C. Hệ thống sẽ lựa chọn một giao dịch một cách hoàn toàn ngẫu nhiên.
D. Giao dịch nào chạy ít thời gian nhất, giữ ít khóa nhất để giảm thiểu chi phí hủy bỏ.
Câu 30. Một lịch biểu được gọi là “khả tuần tự dạng xem” (view serializable) nhưng không “khả tuần tự xung đột” (conflict serializable) trong trường hợp nào?
A. Xảy ra khi lịch biểu có một chu trình trong đồ thị ưu tiên của nó.
B. Xảy ra khi nó chứa một “thao tác ghi mù” (blind write), cho phép một sự tương đương khác.
C. Xảy ra khi tất cả các giao dịch trong lịch biểu đều là chỉ đọc.
D. Không có trường hợp nào như vậy, vì hai khái niệm này là tương đương.