Bài giảng Cơ sở dữ liệu - Chương 4: Quản lý giao tác
Nội dung
1. Giới thiệu
2. Định nghĩa giao tác
3. Tính chất ACID của giao tác
4. Trạng thái của giao tác
5. Khai báo giao tác trong SQL Server
6. Lịch biểu
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Cơ sở dữ liệu - Chương 4: Quản lý giao tác", để 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 Cơ sở dữ liệu - Chương 4: Quản lý giao tác
8/25/2017 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 của giao tác 4. Trạng thái của giao tác 5. Khai báo giao tác trong SQL Server 6. Lịch biểu Hệ quản trị Cơ sở dữ liệu 2 1. Giới thiệu Hệ quản trị Cơ sở dữ liệu 3 • Ví dụ • Hệ thống giao dịch ngân hàng • Hệ thống đặt vé bay • DBMS là môi trường đa người dùng • Nhiều thao tác truy xuất lên cùng một đơn vị dữ 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 1 chỗ trống Tìm thấy 1 chỗ trống Đặt vé bay Đặt vé bay 2 khách hàng đặt cùng 1 chỗ trống ??? Cơ chế tuần tự 1. Giới thiệu (tt) Hệ quản trị Cơ sở dữ liệu 4 • Khi DBMS gặp sự cố • Các thao tác có thể làm cho trạng thái CSDL không chính xác Đọc số dư của tài khoản A Kiểm tra (số dư > số tiền cần rút) Tăng số dư của tài khoản B Giảm số dư của tài khoản A Tài khoản A Tài khoản B Sự cố Ngân hàng chịu lỗ 1 khoảng tiền ??? Nguyên tố 8/25/2017 2 2. Định nghĩa giao tác Hệ quản trị Cơ sở dữ liệu 5 • Giao tác là 1 đơn vị xử lý nguyên tố gồm 1 chuỗi các hành động tương tác lên CSDL. Khi thực hiện một giao tác hoặc phải thực hiện tất cả các hành động của nó hoặc thì không thực hiện hành động nào hết. CSDL nhất quán 1 CSDL nhất quán 2Giao tác 2. Định nghĩa giao tác (tt) Hệ quản trị Cơ sở dữ liệu 6 3. Tính chất ACID của giao tác Hệ quản trị Cơ sở dữ liệu 7 3.1. Tính Nguyên tố (Atomicity) 3.2. Tính Nhất quán (Consistency) 3.3. Tính Cô lập (Isolation) 3.4. Tính Bền vững (Durability) 3.1. Tính Nguyên tố (Atomicity) Hệ quản trị Cơ sở dữ liệu 8 • Tính Nguyên tố (Atomicity) • Hoặc là toàn bộ hoạt động của giao dịch được phản ánh đúng đắn trong CSDL hoặc không có hoạt động nào cả. • Nói cách khác, tác dụng của các câu lệnh trong một giao tác phải như là một câu lệnh đơn. Không chia nhỏ ra được. 8/25/2017 3 3.1. Tính Nguyên tố (Atomicity) (tt) Hệ quản trị Cơ sở dữ liệu 9 • A=100, B=200 (A+B=300) • Tại thời điểm sau khi write(A,t) • A=50, B=200 (A+B=250) - CSDL không nhất quán • Tại thời điểm sau khi write(B,t) • A=50, B=250 (A+B=300) - CSDL nhất quán • Nếu T không bao giờ bắt đầu thực hiện hoặc T được đảm bảo phải hoàn tất thì trạng thái không nhất quán sẽ không xuất hiện 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ở dữ liệu 10 • Tính Nhất quán (Consistency) • Bất kỳ CSDL nào thì mọi ràng buộc tòan vẹn phải thỏa. Tại bất kỳ thời điểm mà mọi RBTV được thỏa gọi là tính nhất quán. • 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. E1 T E2 (E1nhất quán thì E2 phải nhất quán). • Ví dụ: phái là nam hoặc nữ, nhưng gõ đến phái Enter đi qua mà cho phép thì không còn trạng thái nhất quán. 3.2. Tính Nhất quán (Consistency) Hệ quản trị Cơ sở dữ liệu 11 • Consistency • Tổng A+B là không đổi • Nếu CSDL nhất quán trước khi T được thực hiện thì sau khi T hoàn tất CSDL vẫn còn nhất quán 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) Hệ quản trị Cơ sở dữ liệu 12 • Tính Cô lập (Isolation) • Một giao tác không quan tâm đến các giao tác khác xử lý đồng thời với nó • Khi có n giao tác xử lý đồng thời phải làm sao bảo đảm là tôi có tính độc lập của riêng tôi. 8/25/2017 4 3.3. Tính Cô lập (Isolation) Hệ quản trị Cơ sở dữ liệu 13 • Giả sử có 1 giao tác T’ thực hiện phép toán A+B và chen vào giữa thời gian thực hiện của T • T’ kết thúc: A+B=50+200=250 • T kết thúc: A+B=50+250=300 • Hệ thống của các giao tác thực hiện đồng thời có trạng thái tương đương với trạng thái hệ thống của các giao tác thực hiện tuần tự theo 1 thứ tự nào đó. 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ở dữ liệu 14 • Tính Bền vững (Durability) • Mọi thay đổi mà giao tác thực hiện trên CSDL phải được ghi nhận bền vững • Khi T kết thúc thành công • Dữ liệu sẽ không thể nào bị mất bất chấp có sự 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 rằng một khi giao dịch được hoàn thành, tất cả các cập nhật trên CSDL là bền vững thậm chí nếu có lỗi hệ thống sau khi giao dịch hoàn thành thực hiện. Giả sử một lỗi hệ thống có thể dẫn đến mất mát dữ liệu trong bộ nhớ chính, nhưng dữ liệu được ghi vào đĩa không bao giờ bị mất. Hệ quản trị Cơ sở dữ liệu 15 4. Trạng thái của giao tác Hệ quản trị Cơ sở dữ liệu 16 8/25/2017 5 5. Khai báo giao tác trong SQL Server Hệ quản trị Cơ sở dữ liệu 17 • Giao tác SQL được định nghĩa dựa trên các câu lệnh xử lý giao tác sau : • BEGIN TRANSACTION: Bắt đầu một giao tác • SAVE TRANSACTION: Đánh dấu một vị trí trong giao tác (gọi là điểm đánh dấu). • ROLLBACK TRANSACTION: Quay lui trở lại đầu
File đính kèm:
- bai_giang_co_so_du_lieu_chuong_4_quan_ly_giao_tac.pdf