Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
2 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HỒ CHÍ MINH KHOA: CƠNG NGHỆ THƠNG TIN -o0o - BÁO CÁO KẾT MÔN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI: CÁC VẤN ĐỀ TRONG XỬ LÝ TRUY XUẤT ĐỒNG THỜI Đề tài 4.1 Giảng viên hướng dẫn: Nhóm: 13 Đinh Thị Mận Thành viên: Nguyễn Tường Duy - 2001207427 Đỗ Đức Sơn – 2001200035 Nguyễn Trương Nhật Hoàng – 2001170059 Nguyễn Ngọc Phương – 2001202208 Huỳnh Thanh Thiện - 2001181333 Thành phố Hồ Chí Minh, tháng 12 năm 2022 MỤC LỤC I Giới thiệu II Khái niệm tính chất giao tác Khái niệm .4 Khai báo giao tác T-SQL Tính chất giao tác (ACID) 3.1 Tính ngun tố (tính bảo tồn) (Atomicity) .5 3.2 Tính quán (Consistency) 3.3 Tính độc lập (Isolation) 3.4 Tính bền vững (Durability) .7 Các thao tác giao tác .8 Các trạng thái giao tác Transaction Log III Các vấn đề xử lý truy xuất đồng thời .9 Mất liệu cập nhật (Updated lost) 10 Đọc phải liệu rác (Dirty read) 11 Không thể đọc lại (Unrepeated read) 12 Bóng ma liệu (Phantom problem) .13 MSSV Họ tên Công việc Hoàn thành 2001207427 Nguyễn Tường Duy 100% 2001200035 Đỗ Đức Sơn Dirty read , Demo, kiểm tra Update lost, Giao tác, word, 2001170059 Nguyễn Trương Nhật Hoàng 2001202208 2001181333 Nguyễn Ngọc Phương Huỳnh Thanh Thiện kiểm tra Giao tác, Update lost, powerpoint, kiểm tra Phantom problem, kiểm tra Unrepeated read, kiểm tra 100% 100% 100% 100% I Giới thiệu Hai yêu cầu ứng dụng khai thác CSDL thực tế: - Cho phép nhiều người dùng đồng thời khai thác CSDL phải giải tranh chấp - Sự cố kỹ thuật luôn xảy phải giải vấn đề quán liệu Một số tình xử lý đồng thời - “Nhiều người rút tiền từ tài khoản” -> Lỗi: Có thể rút nhiều số tiền thực có Rút 70 Rút 80 Rút 90 -> Phải giải tranh chấp để đảm bảo quán liệu - “Thêm học sinh mới” -> Lỗi: Có thể xảy trường hợp học sinh thêm sĩ số không cập nhật II Khái niệm tính chất giao tác Khái niệm Giao tác (Transaction) gì? Là tập hợp thao tác thực thi xuống database với khối thống công việc (unit of work); chúng thực thi thành cơng hồn tồn không thực lệnh (all or nothing) Khai báo giao tác T-SQL BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION Bắt đầu giao tác Kết thúc giao tác thành công Kết thúc giao tác không thành cơng CSDL đưa tình trạng trước thực giao tác Tính chất giao tác (ACID) 3.1 Tính ngun tố (tính bảo tồn) (Atomicity) “Hoặc tất khơng hết” Một giao tác có nhiều hành động tất hành động giao tác hồn thành khơng có hành động hồn thành Ví dụ: Việc chuyển tiền gồm hành động trừ tiền cộng tiền Giao tác chuyển tiền từ tài khoản A sang tài khoản B, việc cộng tiền vào tài khoản B không thực việc trừ tiền tài khoản A chưa hoàn thành Recommandé pour toi Suite du document ci-dessous B1-AV2 Speaking Review Print - Sao chép business administration 100% (2) Ôn tập Speaking AV3 - anh văn business administration 100% (2) 3.2 Tính quán (Consistency) “Dữ liệu từ thời điểm start transaction với lúc kết thúc phải quán” - Thuộc tính Consistency yêu cầu tính quán liệu cho database Khi có giao tác hoàn thành, tất liệu phải bảo toàn mối liên kết tiến trình thao tác thành công hay thất bại - Dữ liệu sở liệu phải đặt trạng thái hợp lệ thời điểm nào, trước sau thực hành động giao tác Điều có nghĩa hành động tiến trình gặp lỗi rollback lại, tiến trình khơng thực Ví dụ: Một hành động chuyển tiền từ tài khoản A sang tài khoản B gồm trừ tiền tài khoản A cộng tiền vào tài khoản B Khi trừ tiền từ tài khoản A nhưng cộng tiền vào tài khoản B thất bại giao tác thất bại, toàn giao tác rollback lại trạng thái ban đầu 3.3 Tính độc lập (Isolation) “Nếu có nhiều transaction lúc phải đảm bảo transaction xảy độc lập, không tác động lẫn liệu” - Là thuộc tính nói tính độc lập giao tác thực thi đồng thời hệ thống Nếu lúc, có nhiều tiến trình diễn cần chế đưa để bảo đảm tiến trình hoạt động song song mà khơng ảnh hưởng đến Ví dụ: Trong trường hợp khách hàng chuyển tiền vào ngân hàng nhân viên kế toán rút tiền từ ngân hàng diễn lúc Lúc này, sở liệu thực đồng thời hai hành động cộng thêm vào số dư khách hàng, đồng thời trừ số tiền kế toán rút Sẽ có chế để hai hành động diễn thành công song song mà không ảnh hưởng đến việc xử lý database 3.4 Tính bền vững (Durability) “Dữ liệu sau thực transaction khơng thay đổi gặp vấn đề liên quan đến database” - Thuộc tính đưa để đảm bảo Transaction diễn thành cơng tác dụng tạo với sở liệu phải bền vững Dù hệ thống có xảy lỗi liệu ln khơi phục lại ngun trạng Ví dụ: Đối với tiến trình giao dịch tiền qua ngân hàng Khi Transaction hoàn tất, liệu ghi lại dạng đĩa cứng, giao dịch ghi chép lại Nếu có cố xảy dễ dàng backup lại data,thường dùng chế ghi nhận transaction log Lệnh Transaction: Trong đó: …: để có lỗi xảy rollback transaction Các thao tác giao tác Read (X, t): Đọc đơn vị liệu X vào t Write (X, t): Ghi t vào đơn vị liệu X Các trạng thái giao tác Transaction Log - Nhật ký giao tác (Transaction log) File riêng biệt (hoặc lưu vùng ổ đĩa riêng) database server Nó lưu trữ dấu vết thực thao tác - Bằng cách lưu trữ dấu vết thực tệp nhật ký (file log), database server dễ dàng khôi phục lại liệu gặp cố - Transaction log đảm bảo tính hồn chỉnh tính bền vững - SQL Server viết tất thay đổi CSDL xuống transaction log, transaction bắt đầu chưa chạy xong, phục hồi lại tất thay đổi từ file log III Các vấn đề xử lý truy xuất đồng thời