1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Bài giảng Hệ quản trị cơ sở dữ liệu: Chương 6 - Phạm Nguyên Thảo - Trường Đại Học Quốc Tế Hồng Bàng

10 9 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 858,81 KB

Nội dung

• Các bước xử lý nêu trên nếu đã làm thì phải làm cho hết, ngược lại thì không làm bước nào cả  chúng tạo thành một transaction, nói cách khác là một đơn vị công việc nguyên tố... Kh[r]

(1)

Trường Đại học Khoa học Tự nhiên Khoa Công nghệ Thông tin

Bộ môn Hệ thống Thông tin

(2)

Giao tác (transaction)

Ví dụ : chuyển khoản 100$ từ tài khoản A sang tài khoản B (50$) Các bước thực gồm :

– Trừ 100$ khỏi tài khoản A

– Nếu số dư A >= 100$ cộng 50$ vào tài khoản B

Giả sử vừa trừ tiền khỏi tài khoản A cố kỹ thuật xảy ra, bước không thực

– A 100$ B không nhân tiền (!?)

(3)

3

Khái niệm

Giao tác (transaction) tập hợp có thứ tự

thao tác Tập hợp xem đơn vị công việc

i.e tất thao tác giao tác phải thực thành

công, không thao tác thực

– có thao tác khơng hồn thành tồn giao tác khơng hồn thành

Giao tác chuyển CSDL từ tình trạng quán

(4)

Khái niệm (tt)

Một số thuật ngữ liên quan đến giao tác

– Begin [transaction/tran] : bắt đầu transaction

– Commit [transaction/tran] : hoàn tất transaction – Rollback [transaction/tran] : quay lui, hủy bỏ toàn

(5)

5

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

Tính ngun tố (Atomic) : tất thao tác giao tác phải

được thực thành công, không thao tác thực

Tính qn (Consistency) : Chuyển CSDL từ tình trạng

(6)

Tính chất giao tác (tt)

Tính độc lập (Isolation) : xử lý giao tác phải độc lập

với tác động (thấy or thay đổi liệu) giao tác khác thực đồng thời

Tính bền vững (Durability) : Sau giao tác commit thành

công, tất thay đổi CSDL mà giao tác thực phải ghi nhận chắn (vào ổ cứng)

(7)

12

Ghi : Đảm bảo tính Automic

Để đảm bảo tính chất A giao tác

Người sử dụng phải tường minh điều khiển

rollback giao tác

Cần kiểm tra lỗi sau thực thao tác

giao tác để xử lý rollback kịp thời

(8)

Cài đặt thêm sinh viên

Dùng Stored:

Create proc… Begin

/*Goi lệnh insert thêm vào SinhVien*/

/* Đọc kiểm tra SiSo lớp */

/* Nếu SiSo >= Max , báo lỗi */

rollback transaction

/*Cập nhật tăng sỉ số*/

/* Nếu có lỗi thực thao tác :*/

rollback transaction

(9)

14

Ví dụ - kiểm lỗi @@error

Create proc sp_ThemSV @MaSV int, @MaLop int As

begin transaction

declare @SiSo int select @SiSo = SiSo

from LOP

where MaLop = @MaLop if(@SiSo>=Max)

begin

rollback transaction return

(10)

Ví dụ (tt)

Insert into SINH_VIEN(MaSV,MaLop) values(@MaSV,@MaLop)

if(@@error<>0) begin

rollback transaction return

Ngày đăng: 01/04/2021, 17:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN