1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012

12 38 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 506,21 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012 tìm hiểu giao tác; vấn đề đặt ra cho việc dùng giao tác; giao tác tường minh; giao tác – điểm lưu; hành vi đọc dữ liệu với giao tác; mức độ cô lập trong giao tác (isolation level); giao tác không tường minh; giao tác tự động...

Trang 1

H  QU N TR  C  S  D  LI U Ệ Ả Ị Ơ Ở Ữ Ệ

SQL SERVER 2012

Trang 2

(Transaction)

Giao tác được hi u nh  khái ni m ch  t p các l nh để ư ệ ỉ ậ ệ ược th c ự

hi n nh ng có s  g n k t v i nhau và đệ ư ự ắ ế ớ ược coi nh  là 1 đ n v  ư ơ ị

ho t đ ng, chúng ch  thành công n u nh  t t c  thành công và ạ ộ ỉ ế ư ấ ả

th t b i n u có 1 ph n t  th t b i.ấ ạ ế ầ ử ấ ạ

Tính ch t c a giao tác ấ ủ

• Tính nguyên t  (Atomicty): Thành công n u t t c  thành công.ử ế ấ ả

• Tính nh t quán (Consistency): V n đ m b o các ràng bu c.ấ ẫ ả ả ộ

• Tính cô l p (Isolation): Th  hi n m c đ  riêng t  c a t ng ậ ể ệ ứ ộ ư ủ ừ giao tác. (M t giao tác đang thay đ i có th  bên ngoài th y hay ộ ổ ể ấ không th y)ấ

• Tính b n v ng (Durability): Khi h  th ng có l i, nh ng thành ề ữ ệ ố ỗ ư công c a giao tác v n đủ ẫ ược ghi vào d  li u.  ữ ệ

Trang 3

(Transaction)

V n đ  đ t ra cho vi c dùng giao tác  ấ ề ặ ệ

o Khi nào s  d ng giao tác ? ử ụ

o S  d ng giao tác   m c đ  cô l p nào là phù h p ? ử ụ ở ứ ộ ậ ợ

o Ph m vi  nh h ạ ả ưở ng c a giao tác là đâu ? ủ

o Kh  năng các ngôn ng  l p trình k t n i v i h  qu n tr   ả ữ ậ ế ố ớ ệ ả ị

có s  d ng c  ch  giao tác nh  th  nào ? ử ụ ơ ế ư ế

Trang 4

Giao tác t ườ ng minh

(Explicit)

Giao tác

Begin tran [tên_giao_tác]

lệnh | khối_lệnh

{ Commit tran | Rollback tran } [tên_giao_tác]

T o đi m l uạ ể ư

save tran tên_điểm_lưu

H y nh ng gì sau đi m l u n u rollback ủ ữ ể ư ế

Trang 5

Giao tác – Đi m l u ể ư

(Save point)

begin tran t1

lệnh | khối_lệnh save tran s1

lệnh | khối_lệnh rollback tran s1 ch a ch m d t t1ư ấ ứ lệnh | khối_lệnh

commit tran t1

=> Rollback tran s1 ch  h y b  k t qu  t  sau l nh ỉ ủ ỏ ế ả ừ ệ save tran s1 đ n ch  ế ổ rollback tran s1 và sau đó là ti p t c ế ụ làm ti p (giao tác t1 v n còn).ế ẫ

Trang 6

Hành vi đ c d  li u v i giao tác ọ ữ ệ ớ

• Dirty read

Đ c d  li u mà giao tác khác ch a commit ọ ữ ệ ư

• Non repeatable read (Non Rep | Lost Update)

Giao tác đ c l n đ u th y d  li u là A, nh ng sau đó  ọ ầ ầ ấ ữ ệ ư

đ c l i thì th y là B (do giao tác khác thay đ i) ọ ạ ấ ổ

• Phantom read 

Khi giao tác 1 đ c d  li u, bên ngoài hay giao tác khác  ọ ữ ệ thêm dòng m i vào hay xóa đi, làm cho các dòng đang đ c  ớ ọ

tr  thành dòng  o (phantom) ở ả

Trang 7

M c đ  cô l p trong giao tác ứ ộ ậ

(Isolation level)

ISOLATION

LEVEL DIRTY READ REPEATE NON

D

PHANTO

M READ

Serializable

Trang 8

M c đ  cô l p trong giao tác ứ ộ ậ

(Isolation level)

Thi t l p m c đế ậ ứ ộ

SET TRANSACTION ISOLATION LEVEL

{ read uncommitted|

read committed |

repeatable read |

serializable }

BEGIN TRAN ……

Trang 9

Giao tác không t ườ ng minh

(Implicit)

B t đ u giao tác v i các l nh ắ ầ ớ ệ

ALTER TABLE, DROP, TRUNCATE TABLE, 

CREATE, OPEN, FETCH, REVOKE, GRANT

DELETE,  INSERT, SELECT, UPDATE

K t thúc b ng l nh  ế ằ ệ :  COMMIT | ROLLBACK TRAN

Khi k t thúc cũng là lúc b t đ u m t giao tác m i ế ắ ầ ộ ớ Thi t l p thông s  ch p nh n  ế ậ ố ấ ậ

  SET IMPLICIT_TRANSACTIONS ON|OFF

Trang 10

Giao tác t  đ ng ự ộ

C  ch  t  đ ng xác nh n đ ơ ế ự ộ ậ ượ c th c thi khi trong 

giao tác xu t hi n l i lúc ch y hay l i cú pháp ấ ệ ỗ ạ ỗ

• L i cú pháp: giao tác b  h y (rollback) ỗ ị ủ

• L i lúc ch y (khóa chính, sai d  li u,…): giao  ỗ ạ ữ ệ tác đ ượ c ch p nh n đ n th i đi m b  l i ấ ậ ế ờ ể ị ỗ

Trang 11

Giao tác l ng nhau

• Cho phép các giao tác l ng v i nhau ồ ớ

• L nh  ệ commit  ch  có tác d ng cho giao tác c p ‘con’  ỉ ụ ấ

g n nh t ầ ấ

• L nh  ệ rollback tran  có tác d ng h y t t c  và tr  v   ụ ủ ấ ả ở ề

đi m ban đ u c a giao tác c p ‘cha’ nh t ể ầ ủ ấ ấ

• Bi n   ế @@trancount   ch  xem vào th i đi m hi n t i  ỉ ờ ể ệ ạ

có bao nhiêu giao tác đang t n t i ồ ạ

Trang 12

Giao tác l ng nhau

Begin tran t1

………

begin tran t2

…………

print @@trancount ­­ @@trancount là 2

commit tran t2

………

print @@trancount ­­ @@trancount là 1

commit tran t1

Ngày đăng: 08/06/2021, 11:46

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w