JavaScript is required

Anh/chị hãy chọn một cách sử dụng đúng cho khoá?

A.

Bất kỳ một giao dịch nào cần truy cập vào một mục dữ liệu trước hết phải khoá mục dữ liệu đó lại.

B.

Bất kỳ một giao dịch nào cần truy cập vào một mục dữ liệu trước hết phải yêu cầu khoá đọc.

C.

Bất kỳ một giao dịch nào cần truy cập vào một mục dữ liệu trước hết phải yêu cầu khoá ghi.

D.

Bất kỳ một giao dịch nào cần truy cập vào một mục dữ liệu trước hết phải giải phóng khoá hiện hành.

Trả lời:

Đáp án đúng: A


Khóa (lock) là một cơ chế quan trọng trong hệ quản trị cơ sở dữ liệu (DBMS) để đảm bảo tính nhất quán và toàn vẹn dữ liệu khi nhiều giao dịch (transaction) truy cập đồng thời vào cùng một mục dữ liệu. **Phân tích các lựa chọn:** A. **Đúng.** Bất kỳ giao dịch nào muốn đọc hoặc ghi một mục dữ liệu đều phải khóa mục dữ liệu đó trước. Việc này ngăn các giao dịch khác thay đổi mục dữ liệu trong khi giao dịch hiện tại đang thao tác, tránh xung đột và đảm bảo tính nhất quán. B. **Sai.** Giao dịch cần khóa đọc (shared lock) nếu chỉ muốn đọc dữ liệu. Nếu giao dịch muốn thay đổi (ghi) dữ liệu, nó cần khóa ghi (exclusive lock). C. **Sai.** Tương tự như B, giao dịch cần khóa ghi (exclusive lock) khi muốn thay đổi dữ liệu. Việc yêu cầu khóa ghi cho mọi truy cập là không hiệu quả và không cần thiết nếu chỉ đọc dữ liệu. D. **Sai.** Giải phóng khóa chỉ được thực hiện sau khi giao dịch đã hoàn thành các thao tác cần thiết trên mục dữ liệu và không cần truy cập vào nó nữa. Yêu cầu giải phóng khóa trước khi truy cập là vô nghĩa. Vậy, đáp án đúng là A.

Câu hỏi liên quan