Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Nguyễn Trường Sơn
lượt xem 4
download
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 cung cấp cho người học những kiến thức như: Khái niệm giao tác; 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. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Nguyễn Trường Sơn
- LOGO HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Chương 2: GIAO TÁC VÀ LỊCH GIAO TÁC GVLT: Nguyễn Trường Sơn 1
- Nội dung trình bày § 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ự 2
- Giới thiệu § Hai yêu cầu cơ bản của ứng dụng khai thác CSDL trong thực tế: – Cho phép nhiều người dùng đồng thời khai thác CSDL nhưng phải giải quyết được các tranh chấp. – Sự cố kỹ thuật có thể luôn luôn xảy ra nhưng phải giải quyết được vấn đề về nhất quán dữ liệu. § Một số ví dụ về ứng dụng có sử dụng CSDL : – Hệ thống giao dịch ở ngân hàng – Hệ thống đặt vé máy bay – Hệ thống quản lý học sinh – … 3
- Giới thiệu – Một số tình huống GHẾ (Mã ghế, Mã CB, Trạng thái) CHUYẾN BAY(Mã CB, Ngày giờ, Số ghế còn) § Hệ thống đặt vé máy bay: – “Khi hành khách mua vé” – “Khi hai hành khách cùng đặt một ghế trống” – … TÀI KHOẢN(Mã TK, Số dư) GIAO DỊCH(Mã GD, Loại, Số tiền) § Hệ thống ngân hàng: – “Khi chuyển tiền từ tài khoản A sang tài khoản B” – “Khi rút tiền của một tài khoản” – “Nhiều người cùng rút tiền trên một tài khoản” – … § Hệ thống quản lý học sinh: Lớp học(Mã lớp, Tên, Sĩ số) – Thêm một học sinh mới Học sinh (Mã HS, Họ tên, Mã lớp) – Chuyển lớp 4 – …
- Giới thiệu – Một số tình huống § “Hai (nhiều) hành khách cùng đặt một ghế trống” – Lỗi: Có thể có nhiều hành khách đều đặt được dù chỉ còn 1 ghế 1. Tìm thấy một ghế trống 2. Đặt ghế GHẾ (Mã ghế, Mã CB, Trạng thái) Mã ghế Mã CB Trạng thái 1001 100 No 1002 100 No 1. Tìm thấy một ghế trống 1003 100 Yes 2. Đặt ghế … … No à Phải giải quyết được tranh chấp để đảm 1050 bảo được n100 hất quán dữ liệu. No 5
- Giới thiệu – Một số tình huống § “Chuyển tiền từ tài khoản A sang tài khoản B” – Lỗi: Có thể đã rút tiền từ A nhưng chưa cập nhật số dư của B TÀI KHOẢN(Mã TK, Số dư) Mã TK Số dư A A 50 1. update TAIKHOAN set SoDu=SoDu-‐50 B 100 where MATK=A C 60 Sự cố … … 2. update TAIKHOAN set SoDu=SoDu+50 where MATK=B N 90 à Phải đảm bảo được nhất quán dữ liệu khi có sự cố. 6
- Giới thiệu – Một số tình huống § “Nhiều người cùng rút tiền từ một tài khoản” – Lỗi: Có thể rút nhiều hơn số tiền thực có TÀI KHOẢN(Mã TK, Số dư) Rút 70 Mã TK Số dư Rút 80 A 100 Rút 90 1. Đọc số dư của tài khoản A vào X 2. Cập nhật số dư mới của tài khoản A bằng X – Số tiền à Phải giải quyết được tranh chấp để đảm bảo được nhất quán dữ liệu. 7
- Giới thiệu – Một số tình huống § “Thêm một học sinh mới” – Lỗi: Có thể xảy ra trường hợp học sinh đã được thêm nhưng sĩ số không được cập nhật. Lớp học(Mã lớp, Tên, Sĩ số) Mã lớp Tên Sĩ số 1 10A 3 1. Thêm vào một học sinh của lớp Học sinh (Mã HS, Họ tên, Mã lớp) Sự cố Mã 2 HS Họ 10B 0 lớp tên Mã 2. Cập nhật sĩ số lớp tăng lên 1 1 An 1 2 Thảo 1 à Phải đảm bảo được nhất quán dữ liệu khi có sự cố. 3 Bình 1 8
- Giới thiệu § Nhận xét: – Thường xuyên xảy ra vấn đề nhất quán dữ liệu nếu một xử lý gặp sự cố hoặc khi các xử lý được gọi truy xuất đồng thời. § Cần 1 khái niệm biểu diễn một đơn vị xử lý với các tính chất: – Nguyên tố – Cô lập – Nhất quán Giao tác – Bền vững Là một khái niệm nền tảng của điều khiển truy xuất đồng thời và khôi phục khi có sự cố. 9
- Nội dung trình bày § 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ự 10
- Giao tác là gì ? § Giao tác (Transaction) là một đơn vị xử lý nguyên tố gồm một chuỗi các hành động đọc / ghi trên các đối tượng CSDL – Nguyên tố: Không thể phân chia được nữa. Các hành động trong một giao tác hoặc là thực hiện được tất cả hoặc là không thực hiện được bất cứ hành động nào. -‐-‐ statement 1 -‐-‐ statement 2 T -‐-‐ statement 3 -‐-‐ -‐-‐ statement n § Trong kiến trúc hệ quản trị CSDL: – Bộ phận Điều khiển đồng thời đóng vai trò quản lý giao tác. 11
- Tính chất ACID của giao tác § Tính nguyên tố (Atomicity) – Hoặc là toàn bộ hoạt động được phản ánh đúng đắn trong CSDL, hoặc không có hoạt động nào cả. § Tính nhất quán (Consistency) – Khi một giao tác kết thúc (thành công hay thất bại), CSDL phải ở trạng thái nhất quán (Đảm bảo mọi RBTV). Một giao tác đưa CSDL từ trạng thái nhất quán này sang trạng thái nhất quán khác. § Cô lập (Isolation) – Một giao tác khi thực hiện sẽ không bị ảnh hưởng bởi các giao tác khác thực hiện đồng thời với nó. § Bền vững (Durability) – Mọi thay đổi trên CSDL được ghi nhận bền vững vào thiết bị lưu trữ dù có sự cố có thể xảy ra. 12
- Ví dụ về tính chất ACID Chuyển khoản tiền từ tài khoản A sang tài khoản B Mã TK Số dư Giao tác Chuyển khoản 1. update TAIKHOAN set SoDu=SoDu-‐50 A 50 where MATK=A B 100 Sự cố C 60 2. update TAIKHOAN set SoDu=SoDu+50 where MATK=B … … Cuối giao tác N 90 Atomicity: Hoặc cả 2 bước trên đều thực Consitency : Với giao tác chuyển hiện hoặc không bước nào được thực hiện. tiền, tổng số dư của A và B luôn Nếu có sự cố bước 2 thì HQT CSDL có cơ luôn không đổi. chế khôi phục lại dữ liệu như lúc ban đầu. 13
- Ví dụ về tính chất ACID Lớp học(Mã lớp, Tên, Sĩ số) Mã lớp Tên Sĩ số Thêm học sinh mới vào một lớp 1 10A 3 Giao tác Thêm học sinh mới Học sinh (Mã HS, Họ tên, Mã lớp) 1. Thêm một học sinh vào bảng học sinh Mã 2 HS Họ 10B tên 0 Mã lớp 2. Cập nhật sĩ số của lớp tăng lên 1 Sự cố Cuối giao tác 1 An 1 2 Thảo 1 Atomicity: Hoặc cả 2 bước trên đều thực 3 Bình 1 hiện hoặc không bước nào được thực hiện. Nếu có sự cố bước 2 thì HQT CSDL có cơ Consistency: Sĩ số của lớp phải chế khôi phục lại dữ liệu như lúc ban đầu. luôn bằng số học sinh thực sự và không quá 3. 14
- Ví dụ về tính chất ACID Rút .ền (TK1, 80) Gửi .ền (TK1, 50) Tài khoản (Mã TK, Số dư ) T1 Thời gian T2 Mã TK Số dư Đọc số dư: t 1 100 Đọc số dư: t 2 500 Cập nhật số dư (=t-‐80) 3 200 Cập nhật số dư (=t+50) Isolation: Tính chất cô lập đảm bảo mặc dù các giao tác có thể đan xen nhau nhưng kết quả của chúng tương tự với một kết quả tuần tự nào đó à Các giao tác không bị ảnh hưởng bởi các giao tác khác khi thực thi. 15
- Đơn vị dữ liệu § Đối tượng CSDL mà giao tác thực hiện các xử lý đọc /ghi còn được gọi là đơn vị dữ liệu. § Một đơn vị dữ liệu (element) có thể là các thành phần : – Quan hệ (Relations) – Khối dữ liệu trên đĩa (Blocks) – Bộ (Tuples) § Một CSDL bao gồm nhiều đơn vị dữ liệu. 16
- Các thao tác của giao tác Input(X) X Read(X,t) Write(X,t) X t Output(X) Buffer Database Read (A, t) : Đọc đơn vị dữ liệu A vào t Write (A, t) : Ghi t vào đơn vị dữ liệu A 17 [5] Chapter 17, Database systems: the complete book
- Ví dụ về biểu diễn giao tác § Giả sử có 2 đơn vị dữ liệu A và B với ràng buộc A = B (nếu có một trạng thái nào đó mà A ≠B thì sẽ mất tính nhất quán) § Giao tác T thực hiện 2 bước: – A = A * 2 – B = B * 2 T Read(A, t); § Biểu diễn T: t =t*2; Write(A, t) Read(B, t); t =t*2; Write(B, t) § Hoặc: T: Read(A, t); t =t*2; Write(A, t); Read(B, t); t =t*2; Write(B, t) 18
- Giao tác: Ví dụ (tt) Hành động t Mem A Mem B Disk A Disk B Input (A) 8 8 8 Read (A, t) 8 8 8 8 t := t * 2 16 8 8 8 Write (A, t) 16 16 8 8 Input (B) 16 16 8 8 8 Read (B, t) 8 16 8 8 8 t := t * 2 16 16 8 8 8 Write (B, t) 16 16 16 8 8 Output (A) 16 16 16 16 8 Output (B) 16 16 16 16 16 19
- Các trạng thái của giao tác Sau khi lệnh thi hành Sau khi mọi hành động cuối cùng thực hiện hoàn tất thành công PARTIALLY COMMITTED COMMITTED ACTIVE Ngay khi bắt đầu thực hiện thao tác FAILED ABORTED đọc/ghi Sau khi giao tác được quay lui Sau khi nhận ra không thể thực và CSDL được phục hồi về hiện các hành động được nữa trạng thái trước trạng thái bắt đầu giao tác 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 1 - Ngô Thùy Linh
31 p | 182 | 25
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle: Chương 5 - Ngô Thùy Linh
34 p | 95 | 18
-
Bài giảng Hệ quản trị cơ sở dữ liệu Access - ĐH Phạm Văn Đồng
159 p | 112 | 17
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Tổng quan hệ quản trị CSDL SQL Server - TS. Lại Hiền Phương
50 p | 112 | 14
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 4 - ĐH Công nghiệp Thực phẩm
92 p | 145 | 11
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - ĐH Công nghiệp Thực phẩm
31 p | 99 | 10
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Giới thiệu - Phạm Thọ Hoàn
14 p | 157 | 9
-
Bài giảng Hệ quản trị cơ sở dữ liệu Oracle - Trường ĐH Đồng Tháp
119 p | 35 | 8
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Thị Uyên Nhi
33 p | 84 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 1.1: Tổng quan về Hệ quản trị cơ sở dữ liệu
5 p | 16 | 6
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Nguyễn Trường Sơn
29 p | 45 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 2 - Phạm Nguyên Thảo
39 p | 77 | 5
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 1 - Lê Thị Minh Nguyện
14 p | 72 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 3)
61 p | 53 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Các tác vụ quản trị hệ thống - TS. Lại Hiền Phương (Phần 1)
32 p | 52 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Nguyễn Thị Mỹ Dung
33 p | 58 | 4
-
Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo
44 p | 51 | 3
-
Bài giảng Hệ quản trị cơ sở dữ liệu MSSQL 2005: Chương 7 - Hồ Thị Anh Đào
24 p | 61 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn