1 câu hỏi về hệ quản trị csdl

mấy bạn cho mình hỏi kĩ thuật sử dụng khóa đơn giản trên đơn vị dữ liệu có phân cấp ( dạng cây) mình hiểu như thế này có đúng ko:
nếu 1 giao tác mà chiếm được khóa tại note cha thì nguyên cây bắt đầu từ note cha đó sẽ bị khóa , và chỉ có giao tác đang giữ note cha mới có quyền xin thêm khóa hoặc mở khóa cho các note con

vd:
cho cây phân cấp:

cho các giao tác:
T1 : read(A), read(E), write(C)
T2 : read(C), read(D), write(G)

phân tích:
T2 : lock(C) > read(C), lock(D) >read(D), lock(G) > read(G), unlock(C,D,G)

mình phân tích vậy có đúng không vì mình thấy C không phải note cha của D thì làm sao xin khóa cho D được nhỉ @@

Tree-based locking?

Không vì bạn chỉ được tự chọn node đầu tiên thôi :).

T1: lock(A), read(A), lock(B, E), read(E), lock(C), write(C)
T2: lock(C), read(C), lock(A, B, D), read(D), lock(E, G), write(G)

2 Likes

hay quá cảm ơn anh …:innocent:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?