Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn

Giới thiệu

§  Giao tác

–  Khái niệm

–  Tính

  ACID

  của giao tác

–  Các thao tác của giao tác

–  Các trạng thái của giao tác

§  Lịch thao tác

–  Giới thiệu

–  Khái niệm

–  Lịch tuần tự

–  Lịch khả tuần tự

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 1

Trang 1

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 2

Trang 2

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 3

Trang 3

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 4

Trang 4

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 5

Trang 5

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 6

Trang 6

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 7

Trang 7

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 8

Trang 8

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 9

Trang 9

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 77 trang xuanhieu 6220
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn

Bài giảng Hệ quản trị cơ sở dữ liệu - Chương 2: Giao tác và lịch giao tác - Nguyễn Trường Sơn
  Read(A)	
  Write(A)	
  
Write(B)	
  Read(B)	
  Read(B)	
  Write(B)	
  
Write(A)	
  Read(A)	
  
1	
  
2	
  
3	
  
4	
  
5	
  
6	
  
7	
  
8	
  
41	
  
Kiểm tra Conflict Serializability 
§  Cho	
  lịch	
  S9:	
  –  S9	
  có	
  con¦lict	
  serializability	
  hay	
  không	
  ?	
  
§  Ý	
  tưởng:	
  –  Các	
  hành	
  động	
  xung	
  đột	
  trong	
  lịch	
  S	
  được	
  thực	
  hiện	
  theo	
  thứ	
  tự	
  nào	
  thì	
  các	
  giao	
  tác	
  thực	
  hiện	
  chúng	
  trong	
  S’	
  (kết	
  quả	
  sau	
  hoán	
  vị)	
  cũng	
  theo	
  thứ	
  tự	
  đó.	
  
T2	
  T1	
  
Read(A)	
  
Read(A)	
  
Write(A)	
  Read(B)	
  
Write(B)	
   Write(A)	
  
Read(B)	
  Write(B)	
  
S9’	
  S9	
  
T2	
  T1	
  Read(A)	
  
Write(A)	
  
Write(B)	
  Read(B)	
  
Read(B)	
  
Write(B)	
  
Write(A)	
  Read(A)	
  
42	
  
Kiểm tra Conflict Serializability 
§  Cho	
  lịch	
  S	
  có	
  2	
  giao	
  tác	
  T1	
  và	
  T2:	
  	
  –  T1	
  thực	
  hiện	
  hành	
  động	
  A1	
  –  T2	
  thực	
  hiện	
  hành	
  động	
  A2	
  –  Ta	
  nói	
  T1	
  thực	
  hiện	
  trước	
  hành	
  động	
  T2	
  trong	
  S,	
  ký	
  hiệu	
  T1	
  <S	
  	
  T2,	
  khi:	
  •  A1	
  được	
  thực	
  hiện	
  trước	
  A2	
  trong	
  S	
  	
  –  A1	
  không	
  nhất	
  thiết	
  phải	
  liên	
  tiếp	
  A2	
  	
  •  A1	
  và	
  A2	
  là	
  2	
  hành	
  động	
  xung	
  đột	
  (A1	
  và	
  A2	
  cùng	
  thao	
  tác	
  lên	
  1	
  đơn	
  vị	
  dữ	
  liệu	
  và	
  có	
  ít	
  nhất	
  1	
  hành	
  động	
  là	
  ghi	
  trong	
  A1	
  và	
  A2)	
  
43	
  
Kiểm tra Conflict Serializability 
Phương	
  pháp	
  Precedence	
  Graph:	
  
§  Cho	
  lịch	
  S	
  bao	
  gồm	
  các	
  thao	
  tác	
  T1,	
  T2,	
  ,	
  Tn	
  	
  
§  Đồ	
  thị	
  trình	
  tự	
  của	
  S	
  (Precedence	
  graph)	
  của	
  S	
  ký	
  hiệu	
  là	
  P(S)	
  có:	
  –  Đỉnh	
  là	
  các	
  giao	
  tác	
  Ti	
  –  Cung	
  đi	
  từ	
  Ti	
  đến	
  Tj	
  nếu	
  Ti	
  <S	
  	
  Tj	
  	
  
§  S	
  Con¦lict	
  Serializable	
  khi	
  và	
  chỉ	
  khi	
  P(S)	
  không	
  có	
  chu	
  trình	
  	
  
§  Thứ	
  tự	
  hình	
  học	
  các	
  đỉnh	
  là	
  thứ	
  tự	
  của	
  các	
  giao	
  tác	
  trong	
  lịch	
  tuần	
  tự	
  tương	
  đương	
  với	
  S.	
  
§  Với	
  2	
  lịch	
  S	
  và	
  S’	
  được	
  lập	
  từ	
  cùng	
  các	
  giao	
  tác,	
  S	
  và	
  S’	
  con¦lict	
  equivalent	
  khi	
  và	
  chỉ	
  khi	
  P(S)=P(S’)	
  	
  
44	
  
Kiểm tra Conflict Serializability 
§  Ví	
  dụ	
  1:	
  S10	
  có	
  Con¦lict	
  Serializability	
  hay	
  không	
  ?	
  
T2	
  T1	
   Read(A)	
  Read(B)	
   Write(A)	
  Write(B)	
  
T3	
  
Read(A)	
  Write(A)	
  Read(B)	
  Write(B)	
  
2 3 
1 2 
1 2 3 
¯  P(S10 )	
  không	
  có	
  chu	
  trình	
  
¯  S10	
   conlict-­‐serializable	
   theo	
   thứ	
  
tự	
  T1,	
  T2,	
  T3	
  
S10 
45	
  
Kiểm tra Conflict Serializability 
§  Ví	
  dụ	
  1:	
  S10	
  có	
  Con¦lict	
  Serializability	
  hay	
  không	
  ?	
  
T2	
  T1	
   Read(A)	
  Read(B)	
   Write(A)	
  Write(B)	
  
T3	
  
Read(A)	
  Write(A)	
  Read(B)	
  Write(B)	
  
T2	
  T1	
  
Read(A)	
  Read(B)	
   Write(A)	
  Write(B)	
  
T3	
  
Read(A)	
  Write(A)	
  
Read(B)	
  Write(B)	
  
S10 S 
46	
  
Kiểm tra Conflict Serializability 
§  Ví	
  dụ	
  2:	
  S11	
  có	
  Con¦lict	
  Serializability	
  hay	
  không	
  ?	
  
T2	
  T1	
   Read(A)	
  Read(B)	
   Write(A)	
  
Write(B)	
  
S11	
  
T3	
  
Read(A)	
  Write(A)	
  
Read(B)	
  
Write(B)	
  
¯  P(S11)	
  có	
  chu	
  trình	
  
¯  S11	
  không	
  conlict-­‐serializable	
  
2 3 
2 1 
1 2 
1 2 3 
S11:	
  r2(A)	
  r1(B)	
  w2(A)	
  r2(B)	
  r3(A)	
  w1(B)	
  w3(A)	
  w2(B)	
  	
  
47	
  
Bài tập Conflict-Serializability 
§  Cho các lịch S sau: 
1.  S: w1(A)	
  r2(A)	
  r3(A)	
  w4	
  (A)	
  2.  S:	
  w3(A)	
  w2(C)	
  r1(A)	
  w1(B)	
  r1(C)	
  w2(A)	
  r4(A)	
  w4(D) 
3.  S:	
  r1(A)	
  w2(A)	
  w1(A)	
  w3(A)	
  
4.  S:	
  r2(B)	
  w2(A)	
  r1(A)	
  r3(A)	
  w1(B)	
  w2(B)	
  w3(B)	
  5.  S:	
  w1(X)	
  w2(Y)	
  w2(X)	
  w1(X)	
  w3(X)	
  	
  6.  S:	
  r2(A)	
  r1(B)	
  w2(A)	
  r3(A)	
  w1(B)	
  r2(B)	
  w2(B)	
  
7.  S: r2(A) r1(B) w2(A) r2(B) r3(A) w1(B) w3(A) w2(B) 
§  Vẽ	
  P(S)	
  
§  S	
  có	
  con¦lict-­‐serializable	
  không?	
  Nếu	
  có	
  thì	
  S	
  tương	
  đương	
  với	
  lịch	
  tuần	
  tự	
  nào	
  ?	
  
48	
  
Bài tập 1 
§  Cho	
  lịch	
  S:	

§  Vẽ	
  P(S)	
  
§  S	
  có	
  con¦lict-­‐serializable	
  không?	
  
T2	
  T1	
  
Read(A)	
  
Write(A)	
  
S	
  
T4	
  
Read(A)	
  
Write(A)	
   T3	
  
S:	
  w1(A)	
  r2(A)	
  r3(A)	
  w4	
  (A)	
  
49	
  
Bài tập 2 
§  Cho	
  lịch	
  S:	

§  Vẽ	
  P(S)	
  
§  S	
  có	
  con¦lict-­‐serializable	
  không?	
  
S:	
  w3(A)	
  w2(C)	
  r1(A)	
  w1(B)	
  r1(C)	
  w2(A)	
  r4(A)	
  w4(D)	
  
T2	
  T1	
  
Read(A)	
  Read(C)	
   Write(A)	
  
Write(C)	
  S	
  
T4	
  
Read(A)	
  
Write(A)	
  
Write(D)	
  
Write(B)	
  
T3	
  
50	
  
Bài tập 3 
§  Cho	
  lịch	
  S:	
  
§  Vẽ	
  P(S)	
  
§  S	
  có	
  con¦lict-­‐serializable	
  không?	
  
T2	
  T1	
  
Write(A)	
  
S	
  
Write(A)	
  
T3	
  Read(A)	
  
Write(A)	
  
S:	
  r1(A)	
  w2(A)	
  w1(A)	
  w3(A)	
  
51	
  
Bài tập 4 
§  Cho lịch S: 
§  Vẽ P(S) 
§  S có conflict-serializable không ?	
  
S:	
  r2(B)	
  w2(A)	
  r1(A)	
  r3(A)	
  w1(B)	
  w2(B)	
  w3(B)	
  
52	
  
Bài tập 5 
§  Cho lịch S: 
§  Vẽ đồ thị P(S) 
§  S có conflict serializable hay không ? 
S:	
  w1(X)	
  w2(Y)	
  w2(X)	
  w1(X)	
  w3(X)	
  
S 
53	
  
View-Serializability 
§  Xét	
  lịch	
  S	
  
T2 T1 
Write(A) 
S 
Write(A) 
T3 
Read(A) 
Write(A) 
1 2 
3 
¯  P(S) có chu trình 
¯  S không conflict-serializable 
¯  S khả tuần tự hay không ? 
54	
  
View-Serializability (tt) 
§  So	
  sánh	
  lịch	
  S	
  và	
  1	
  lịch	
  tuần	
  tự	
  S’	
  
–  Giả sử trước khi lịch S thực hiện, có giao tác Tb thực hiện việc ghi A và sau 
khi S thực hiện có giao tác Tf thực hiện việc đọc A. 
–  Nhận xét lịch S và S’: 
•  Đều	
  có	
  T1	
  thực	
  hiện	
  read(A) từ giao tác Tb à Kết quả đọc luôn giống nhau 	
  
•  Đều có T3 thực hiện việc ghi cuối cùng lên A. T2, T3 không có lệnh đọc A à Dù 
S hay S’ được thực hiện thì kết quả đọc A của Tf luôn giống nhau 
à Kết	
  quả	
  của	
  S	
  và	
  S’	
  giống	
  nhau	
  à 	
  S	
  vẫn	
  khả tuần tự 	
  
T2	
  T1	
   Write(A)	
  S	
   Write(A)	
  
T3	
  Read(A)	
  
Write(A)	
  
Không	
  con…lict-­‐serializable	
  
T2	
  T1	
  
Write(A)	
  
S’	
   Write(A)	
  
T3	
  Read(A)	
  
Write(A)	
  
Serial	
   55	
  
View-Serializability (tt) 
§  Khả tuần tự View (View-serializability): 
–  Một lịch S được gọi là khả tuần tự view nếu tồn tại một lịch tuần tự S’ được 
tạo từ các giao tác của S sao cho S và S’ đọc và ghi những giá trị giống nhau. 
–  Lịch S được gọi là khả tuần tự view khi và chỉ khi nó tương đương view 
(view-equivalent) với một lịch tuần tự S’ 
56	
  
View-Serializability (tt) 
§  Ví dụ: Cho lịch S và S’ như sau: S :	
  r2(B)	
  w2(A)	
  r1(A)	
  r3(A)	
  w1(B)	
  w2(B)	
  w3(B)	
  S’:	
  r2(B)	
  w2(A)	
  w2(B)	
  r1(A)	
  w1(B)	
  r3(A)	
  w3(B)	
  	
  
T2 T1 
Read(B) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(B) 
Write(B) 
Write(B) 
T2 T1 
Read(B) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(B) 
Write(B) 
Write(B) 
S khả tuần tự view 57	
  
View-Serializability (tt) 
§  View-­‐equivalent:	
  S	
  và	
  S’	
  là	
  những	
  lịch	
  view-­‐equivalent	
  nếu	
  thỏa	
  các	
  điều	
  kiện	
  sau:	
  –  Nếu	
  trong	
  S	
  có	
  Ti	
  đọc	
  giá	
  trị	
  ban	
  đầu	
  của	
  A	
  thì	
  nó	
  cũng	
  đọc	
  giá	
  trị	
  ban	
  đầu	
  của	
  A	
  trong	
  S’.	
  –  Nếu	
  Ti	
  đọc	
  giá	
  trị	
  của	
  A	
  được	
  ghi	
  bởi	
  Tj	
  trong	
  S	
  thì	
  Ti	
  cũng	
  phải	
  đọc	
  giá	
  trị	
  của	
  A	
  được	
  ghi	
  bởi	
  Tj	
  trong	
  S’.	
  –  Với	
  mỗi	
  dvdl	
  A,	
  giao	
  tác	
  thực	
  hiện	
  lệnh	
  ghi	
  cuối	
  cùng	
  lên	
  A	
  (nếu	
  có)	
  trong	
  S	
  thì	
  giao	
  tác	
  đó	
  cũng	
  phải	
  thực	
  hiện	
  lệnh	
  ghi	
  cuối	
  cùng	
  lên	
  A	
  trong	
  S’.	
  
§  Một	
  lịch	
  giao	
  tác	
  S	
  là	
  view-­‐serializable:	
  –  Nếu	
  S	
  là	
  view-­‐equivalent	
  với	
  một	
  Lịch giao tác	
  tuần	
  tự	
  S’	
  nào	
  đó	
  
§  Nếu	
  S	
  là	
  con¦lict-­‐serializable	
  à 	
  S	
  view-­‐serializable.	
  
ß 58	
  Chứng minh (*) 
View	
  Serializability	
  (/)	
  
Lịch	
  thao	
  tác	
  
View-­‐Serializable	
  
Con…lict-­‐	
  
Serializable	
  
59	
  
Kiểm tra View Serializability 
§  Cho	
  1	
  Lịch giao tác	
  S	
  
§  Thêm	
  1	
  giao	
  tác	
  cuối	
  Tf	
  vào	
  trong	
  S	
  sao	
  cho	
  Tf	
  thực	
  hiện	
  việc	
  đọc	
  
hết	
  tất	
  cả	
  đơn	
  vị	
  dữ	
  liệu	
  ở	
  trong	
  S	
  –  S	
  =	
  	
  w1(A)w2(A)	
  	
  rf(A)	
  
§  Thêm	
  1	
  giao	
  tác	
  đầu	
  tiên	
  Tb	
  vào	
  trong	
  S	
  sao	
  cho	
  Tb	
  thực	
  hiện	
  việc	
  ghi	
  các	
  giá	
  trị	
  ban	
  đầu	
  cho	
  tất	
  cả	
  đơn	
  vị	
  dữ	
  liệu	
  –  S	
  =	
  wb(A)	
  w1(A)w2(A)	
  
60	
  
Kiểm tra View-Serializability (tt) 
§  Vẽ	
  đồ	
  thị	
  phức	
  (PolyGraph)	
  cho	
  S,	
  ký	
  hiệu	
  G(S)	
  với	
  	
  –  Đỉnh	
  là	
  các	
  giao	
  tác	
  Ti	
  (bao	
  gồm	
  cả	
  Tb	
  và	
  Tf)	
  –  Cung:	
  •  (1)	
  Nếu	
  giá	
  trị	
  mà	
  ri(X)	
  đọc	
  được	
  là	
  do	
  Tj	
  ghi	
  (ri(X)	
  có	
  gốc	
  là	
  Tj)	
  thì	
  vẽ	
  cung	
  đi	
  từ	
  Tj	
  đến	
  Ti	
  	
  	
  
•  (2)	
  Với	
  mỗi	
  wj(X)	
  	
  ri(X),	
  xét	
  wk(X)	
  khác	
  Tb	
  sao	
  cho	
  Tk	
  không	
  chèn	
  vào	
  giữa	
  
Tj	
  và	
  Ti	
  	
  	
  
i j 
X 
61	
  
Kiểm tra View-Serializability (tt) 
•  (2a)	
  Nếu	
  Tj	
  ≠	
  Tb	
  và	
  Ti	
  ≠	
  Tf	
  thì	
  vẽ	
  cung	
  Tk	
  →	
  Tj	
  	
  và	
  	
  Ti	
  →	
  Tk	
  	
  
Tj	
   Ti	
  
Write(X)	
  
Read(X)	
  
Tk	
  
Write(X)	
  
Tj	
   Ti	
  
Write(X)	
  
Read(X)	
  
Tk	
  
Write(X)	
  
i j k 
X 
X 
i j k 
X 
X 
X X 
Tk	
  có	
  thể	
  nằm	
  trước	
  Tj	
  hoặc	
  sau	
  Ti	
  	
  	
  
62	
  
Kiểm tra View-Serializability (tt) 
•  (2b)	
  Nếu	
  Tj	
  =	
  Tb	
  thì	
  vẽ	
  cung	
  Ti	
  →	
  Tk	
  •  (2c)	
  Nếu	
  Ti	
  =	
  Tf	
  thì	
  vẽ	
  cung	
  Tk	
  →	
  Tj	
  	
  	
  	
  
Tj = Tb Ti 
Write(X) 
Read(X) 
Tk 
Write(X) 
Tj Ti = Tf 
Write(X) 
Read(X) 
Tk 
Write(X) 
i j k 
X X 
i j k 
X X 
63	
  
Ví dụ 
T2 T1 
Write(A) 
S 
Write(A) 
T3 
Read(A) 
Write(A) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Tb Tf 
1 2 3 b f 
Write(A) 
Read(A) 
A A 
64	
  
Ví dụ 
T2 T1 
Write(A) 
S 
Write(A) 
T3 
Read(A) 
Write(A) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Tb Tf 
1 2 3 b f 
Write(A) 
Read(A) 
A A A 
A 
65	
  
Ví dụ (tt) 
T2 T1 
Write(A) 
S 
Write(A) 
T3 
Read(A) 
Write(A) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Tb Tf 
1 2 3 b f 
Write(A) 
Read(A) 
A A A 
A 
A 
A 
¯  G(S) không có chu trình 
¯  S view-serializable theo thứ 
tự Tb, T1, T2, T3, Tf 
66	
  
Ví dụ (tt) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Tb Tf 
Read(A) 
1 2 3 b f 
T2 T1 
Write(A) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Read(A) 
A A A 
67	
  
Ví dụ (tt) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Tb Tf 
Read(A) 
1 2 3 b f 
T2 T1 
Write(A) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Read(A) 
A A A A 
A 
68	
  
Ví dụ (tt) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Tb Tf 
Read(A) 
1 2 3 b f 
T2 T1 
Write(A) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Read(A) 
A A A A 
A 
A 
A 
Chọn 1 trong 2 cung sao cho không có chu trình 
69	
  
Ví dụ (tt) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Tb Tf 
Read(A) 
1 2 3 b f 
T2 T1 
Write(A) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Read(A) 
A A A A 
A 
A 
A A 
A 
¯  G(S)	
  có	
  chu	
  trình	
  
70	
  
Ví dụ (tt) 
T2 T1 
Write(A) 
S’ 
Write(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Tb Tf 
Read(A) 
1 2 3 b f 
T2 T1 
Write(A) 
S 
Read(A) 
T3 
Read(A) 
Write(A) 
Write(A) 
Read(A) 
A A A A 
A 
A A 
A 
¯  G(S)	
   không	
   có	
   chu	
   trình	
   sau	
   khỉ	
  
bỏ	
  cung	
  	
  
¯  S	
  view-­‐serializable	
   71	
  
Bài tập View-Serializability 
§  Cho	
  lịch	
  S:	
  1.  S:	
  r2(B)	
  w2(A)	
  r1(A)	
  r3(A)	
  w1(B)	
  w2(B)	
  w3(B)	
  2.  S:	
  w1(A)	
  r3(A)	
  r2(A)	
  w2(A)	
  r1(A)	
  w3(A)	
  3.  S:	
  r2(A)	
  r1(A)	
  w1(C)	
  r3(C)	
  w1(B)	
  r4(B)	
  w3(A)	
  r4(C)	
  w2(D)	
  r2(B)	
  w4(A)	
  w4(B)	
   4.  S:	
  w1(A)	
  r2(A)	
  w2(A)	
  r1(A)	
  5.  S:	
  r1(A)	
  r3(D)	
  w1(B)	
  r2(B)	
  w3(B)	
  r4(B)	
  w2(C)	
  r5(C)	
  w4(E)	
  r5(E)	
  	
  w5(B)	
  6.  S:	
  w1(A)	
  r2(A)	
  w3(A)	
  r4(A)	
  w5(A)	
  r6(A)	
  7.  S:	
  r1(X)	
  r2(X)	
  w1(X)	
  w2(X)	
  
§  Yêu	
  cầu:	
  –  Vẽ	
  G(S)	
  –  S	
  có	
  view-­‐serializable	
  hay	
  không	
  ?	
   72	
  
TÓM TẮT CHƯƠNG 2 
§  Một	
  số	
  tình	
  huống	
  về	
  tranh	
  chấp	
  
§  Khái	
  niệm	
  giao	
  tác	
  
§  Tính	
  chất	
  ACID	
  của	
  giao	
  tác	
  
§  Lịch	
  thao	
  tác:	
  –  Lịch	
  tuần	
  tự	
  –  Lịch	
  đồng	
  thời	
  –  Lịch	
  Khả	
  tuần	
  tự	
  –  Lịch	
  khả	
  tuần	
  tự	
  xung	
  đột	
  (Con¦lict	
  Serializability)	
  –  Kiểm	
  tra	
  khả	
  tuần	
  tự	
  xung	
  đột	
  bằng	
  đồ	
  thị	
  trình	
  tự	
  (Prcedence	
  graph)	
  	
  –  Lịch	
  khả	
  tuần	
  tự	
  view	
  (View	
  Serializability)	
  –  Kiểm	
  tra	
  khả	
  tuần	
  tự	
  view	
  bằng	
  đồ	
  thị	
  phức	
  (Poly	
  graph)	
  
73	
  
Bài tập 
T2 T1 
Write(A) 
S 
Read(A) 
T3 
Read(B) 
Write(B) 
Read(A) 
Write(B) 
Write(B) 
¯  Vẽ G(S) 
¯  S có view-serializable? 
74	
  
Bài tập (tt) 
¯  Vẽ G(S) 
¯  S có view-serializable? 
T2 T1 
Read(A) 
S 
Write(C) 
T3 
Read(A) 
Write(B) 
Read(C) 
Write(D) 
Write(A) 
T4 
Read(B) 
Read(C) 
Read(B) 
Write(A) 
Write(B) 
75	
  
TÀI LIỆU THAM KHẢO 
§  [1]	
  Database	
  Management	
  Systems,	
  3rd	
  Edition,	
  Raghu	
  Ramakrishnan	
  and	
  Johannes	
  Gehrke	
  
§  [2]	
  Fundamentals	
  of	
  Database	
  Systems,	
  4th	
  Edition,	
  Elmasri	
  Navathe	
  	
  
§  [3]	
  Database	
  System	
  Concepts,	
  4th	
  Edition,	
  Silberschatz−Korth−Sudarshan	
  
§  [4]	
  Database	
  Systems	
  Implementation,	
  Hector	
  Garcia-­‐Molina,	
  D.	
  Ullman,	
  Jennifer	
  D.	
  Widom	
  
§  [5]	
  Database	
  systems:	
  the	
  complete	
  book,	
  Hector	
  Garcia-­‐
Molina,	
  Jeffrey	
  D.	
  Ullman,	
  Jennifer	
  Widom,	
  Pearson	
  Prentice	
  
Hall,	
  2009	
  
76	
  
TÀI LIỆU THAM KHẢO 
§  ­‐old.pdf	
  
§  ­‐english/Ch17_CC-­‐95.pdf	
  
§  ­‐mscs/how-­‐to-­‐check-­‐for-­‐view-­‐serializable-­‐and-­‐con¦lict-­‐serializable/	
  
§  ­‐6up.pdf	
  	
  
§  	
  	
  
77	
  

File đính kèm:

  • pdfbai_giang_he_quan_tri_co_so_du_lieu_chuong_2_giao_tac_va_lic.pdf