Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - Lê Thị Minh Nguyện

7 5 0
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - Lê Thị Minh Nguyện

Đang tải... (xem toàn văn)

Thông tin tài liệu

• Một giao tác phải biến CSDL từ trạng thái nhất quán này sang trạng thái nhất quán khác không được phá vở trạng thái nhất quán.. Tính Cô lập ( I solation).[r]

(1)

Chương 4. Quản lý giao tác

GV: Lê Thị Minh Nguyện Email: nguyenltm@huflit.edu.vn

Nội dung 1 Giới thiệu

2 Định nghĩa giao tác

3 Tính chất ACID giao tác 4 Trạng thái giao tác

5 Khai báo giao tác SQL Server 6 Lịch biểu

Hệ quản trị Cơsở liệu

1 Giới thiệu

•Ví dụ

•Hệ thống giao dịch ngân hàng

•Hệ thống đặt vé bay

•DBMS mơi trường đa người dùng

•Nhiều thao tác truy xuất lên đơn vị liệu

•Nhiều thao tác thi hành đồng thời

Thời gian

Khách hàng 1 Khách hàng 2

Tìm thấy chỗ trống

Tìm thấy chỗ trống Đặt vé bay

2 khách hàng đặt chỗ trống ???

1 Giới thiệu (tt) •Khi DBMS gặp cố

•Các thao tác làm cho trạng thái CSDL khơng xác

Đọc số dư tài khoản A Kiểm tra (số dư > số tiền cần rút) Tăng số dư tài khoản B Giảm số dư tài khoản A

Tài khoản A Tài khoản B

(2)

2 Định nghĩa giao tác

Hệ quản trị Cơsở liệu

• Giao tác đơn vị xử lý nguyên tố gồm chuỗi hành động tương tác lên CSDL Khi thực giao tác phải thực hiện tất hành động khơng thực hiện hànhđộng hết.

CSDL quán Giao tác CSDL quán

2 Định nghĩa giao tác (tt)

Hệ quản trị Cơsở liệu

3 Tính chất ACID giao tác

Hệ quản trị Cơsở liệu

3.1 Tính Nguyêntố (Atomicity)

3.2 TínhNhất qn (Consistency) 3.3 Tính Cơlập (Isolation)

3.4 TínhBền vững (Durability)

3.1 Tính Nguyên tố (Atomicity)

Hệ quản trị Cơsở liệu

• Tính Ngun tố (Atomicity)

• Hoặc tồn hoạt động giao dịch phản ánh đắn CSDL khơng có hoạt động

(3)

3.1 Tính Nguyên tố (Atomicity) (tt)

Hệ quản trị Cơsở liệu

•A=100, B=200 (A+B=300)

•Tại thời điểm sau write(A,t)

• A=50, B=200 (A+B=250) - CSDL khơng qn

•Tại thời điểm sau write(B,t) • A=50, B=250 (A+B=300) - CSDL qn

• Nếu T khơng bắt đầu thực T đảm bảo phải hồn tất trạng thái khơng qn không xuất

T:Read(A,t); t:=t-50; Write(A,t); Read(B,t); t:=t+50; Write(B,t);

3.2 Tính Nhất quán (Consistency)

Hệ quản trị Cơsở liệu 10

• Tính Nhất qn (Consistency)

• Bất kỳ CSDL ràng buộc tòan vẹn phải thỏa Tại thời điểm mà RBTV thỏa gọi tính quán

• Một giao tác phải biến CSDL từ trạng thái quán sang trạng thái quán khác không phá trạng thái quán E1 T E2 (E1nhất qn E2 phải qn)

• Ví dụ: phái nam nữ, gõ đến phái Enter qua mà cho phép khơng cịntrạng thái qn.

3.2 Tính Nhất qn (Consistency)

• Consistency

• Tổng A+B khơng đổi T: Read(A,t); t:=t-50; Write(A,t); Read(B,t); t:=t+50; Write(B,t);

3.3 Tính Cơ lập (Isolation)

• Tính Cơ lập (Isolation)

• Một giao tác không quan tâm đến giao tác khác xử lý đồng thời với

(4)

3.3 Tính Cơ lập (Isolation)

Hệ quản trị Cơsở liệu 13

• Giả sử có giao tác T’ thực phép toán A+B chen vào thời gian thực T

• T’ kết thúc: A+B=50+200=250 • T kết thúc: A+B=50+250=300

• Hệ thống giao tác thực đồng thời có trạng thái tương đương với trạng thái hệ thống giao tác thực theo thứ tự

T:Read(A,t); t:=t-50; Write(A,t); Read(B,t); t:=t+50; Write(B,t);

T’

3.4 Tính Bền vững (Durability)

Hệ quản trị Cơsở liệu 14

• Tính Bền vững (Durability)

• Mọi thay đổi mà giao tác thực CSDL phải ghi nhận bền vững

• Khi T kết thúc thành cơng

• Dữ liệu khơng thể bị bất chấp có cố hệ thống xảy ra

T:Read(A,t); t:=t-50; Write(A,t); Read(B,t); t:=t+50; Write(B,t);

3.4 Tính Bền vững (Durability) (tt)

• Tính bền vững đảm bảo giao dịch được hoàn thành,tất cập nhật CSDL bền vững thậm chí có lỗi hệ thống sau giao dịch hoàn thànhthực Giả sử lỗi hệ thống dẫn đến mất mát liệu nhớ chính, liệu được ghi vào đĩa không bị mất.

Hệ quản trị Cơsở liệu 15

4 Trạng thái giao tác

(5)

5 Khai báo giao tác SQL Server

Hệ quản trị Cơsở liệu 17

• Giao tác SQL định nghĩa dựa câu lệnh xử lý giao tác sau :

• BEGIN TRANSACTION:Bắt đầu giao tác

• SAVE TRANSACTION:Đánh dấu vị trí giao tác (gọi điểm đánh

dấu)

• ROLLBACK TRANSACTION: Quay luitrở lại đầu giao tác điểm

đánh dấu trước giao tác

• COMMIT TRANSACTION:Đánh dấu điểm kết thúc giao tác Khi câu

lệnh thực thi có nghĩa giao tác thực thành công

• ROLLBACK [WORK]:Quay luitrở lại đầu giao tác

• COMMIT [WORK]:Đánh dấu kết thúc giao tác

5 Khai báo giao tác SQL Server (tt)

Hệ quản trị Cơsở liệu 18

•Cú Pháp:

BEGIN TRANSACTION SQL Statements

COMMIT | ROLLBACK TRANSACTION BEGIN TRANSACTION giaotac1

UPDATE monhoc SET sodvht=4 WHERE sodvht=3 UPDATE diemthi SET diemlan2=0 WHERE diemlan2 IS NULL

ROLLBACK TRANSACTION giaotac1

BEGIN TRANSACTION giaotac2

UPDATE monhoc SET sodvht=4 WHERE sodvht=3 UPDATE diemthi SET diemlan2=0 WHERE diemlan2 IS NULL

COMMIT TRANSACTION giaotac2

(6)

5 Khai báo giao tác SQL Server (tt)

Hệ quản trị Cơsở liệu 21

6 Lịch biểu 6.1 Giới thiệu 6.2 Khái niệm

6.3 Lịch thao tác (Schedule) 6.4 Lịch tuần tự

6.5 Lịch khả tuần tự

6.6 Kiểm tra tính khả lịch

Hệ quản trị Cơsở liệu 22

6.1 Giới thiệu

Hệ quản trị Cơsở liệu 23

•Thực tuần tự

•Tại thời điểm, giao tác bắt đầu giao tác trước hồn tất •Thực đồng thời

•Cho phép nhiều giao tác truy xuất liệu

•Gây nhiều phức tạp quán liệu

•Tuy nhiên

•Tận dụng tài nguyên thơng lượng (throughput)

•Trong giao tác thực đọc/ghi đĩa, giao tác khác xử lý tính tốn CPU

•Giảm thời gian chờ

•Các giao tác ngắn phải chờ đợi giao tác dài

•Chia sẻ chu kỳ CPU truy cập đĩa để làm giảm trì hỗn giao tác thực thi

6.2 Khái niệm

•Khi thực giao dịch đồng thời gây tình trạng khóa sống (live lock), khóa gài vấn đề bất khả tuần tự Để loại bỏ vấn đề này, có cơng cụ:

• Bộ xếp lịch (schedule)

• Nghi thức (protocol)

(7)

6.2 Khái niệm (tt)

•Bộ xếp lịch(schedule) thànhphần hệ thống CSDL, có vai trị làmtrọngtài phânxửcác ucầu đangcó xungđột.Người thiết kế hệ thống biếtcách loại bỏkhóasống xếp lịch

FIFO.Một xếp lịchcó thể xửlý khóa gài tínhbất khả

tuần tự bằngcách:

•Buộc1 giaodịch phải đợi,chẳng hạnchođếnkhi khóađang đượcucầu giảiphóng

•Buộc mộtgiaodịch ngừng lạivà táikhởi động

Hệ quản trị Cơsở liệu 25

6.2 Khái niệm (tt)

Hệ quản trị Cơsở liệu 26

Bộ xếp lịch

6.2 Khái niệm (tt)

Nghi thức (protocal):là quy định mà giao dịch

phải tuân theo Chẳng hạn, chiến lược tránh khoá gài bằng cách yêu cầu khoá chốt mục liệu theo thứ tự cố định nghi thức.

6.3 Lịch thao tác (Schedule)

•Một lịch thao tácSđược lập từngiao tácT1, T2, …, Tnđược xử lý đồng

thời thứ tự thực hành độngcủangiao tác này

•Thứ tự xuất thao tác lịch phải giống với thứ tự xuất giao tác

Ngày đăng: 30/03/2021, 01:43

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan