Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012
Số trang: 12
Loại file: pptx
Dung lượng: 69.67 KB
Lượt xem: 9
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
"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...
Nội dung trích xuất từ tài liệu:
Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012GIAOTÁCTRONGHỆQUẢNTRỊCƠSỞDỮLIỆUSQLSERVER2012Giaotác(Transaction)Giaotácđượchiểunhưkháiniệmchỉtậpcáclệnhđượcthựchiệnnhưngcósựgắnkếtvớinhauvàđượccoinhưlà1đơnvịhoạtđộng,chúngchỉthànhcôngnếunhưtấtcảthànhcôngvàthấtbạinếucó1phầntửthấtbại.Tínhchấtcủagiaotác• Tínhnguyêntử(Atomicty):Thànhcôngnếutấtcảthànhcông.• Tínhnhấtquán(Consistency):Vẫnđảmbảocácràngbuộc.• Tínhcôlập(Isolation):Thểhiệnmứcđộriêngtưcủatừng giaotác.(Mộtgiaotácđangthayđổicóthểbênngoàithấyhay khôngthấy)• Tínhbềnvững(Durability):Khihệthốngcólỗi,nhưngthànhGiaotác(Transaction)Vấnđềđặtrachoviệcdùnggiaotáco Khinàosửdụnggiaotác?o Sửdụnggiaotácởmứcđộcôlậpnàolàphùhợp?o Phạmviảnhhưởngcủagiaotáclàđâu?o Khảnăngcácngônngữlậptrìnhkếtnốivớihệquảntrị cósửdụngcơchếgiaotácnhưthếnào?Giaotáctườngminh(Explicit)Giaotá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ểmlưu save tran tên_điểm_lưuHủynhữnggìsauđiểmlưunếurollbackGiaotác–Điểmlưu(Savepoint)begin tran t1 lệnh | khối_lệnh save tran s1 lệnh | khối_lệnh rollback tran s1 -- chưachấmdứtt1 lệnh | khối_lệnhcommit tran t1=>Rollback tran s1chỉhủybỏkếtquảtừsaulệnhsavetran s1đếnchổrollback tran s1 vàsauđólàtiếptụcHànhviđọcdữliệuvớigiaotác• Dirtyread Đọcdữliệumàgiaotáckhácchưacommit.• Nonrepeatableread(NonRep|LostUpdate) GiaotácđọclầnđầuthấydữliệulàA,nhưngsauđóđọclạithìthấylàB(dogiaotáckhácthayđổi)• Phantomread Khigiaotác1đọcdữliệu,bênngoàihaygiaotáckhácthêmdòngmớivàohayxóađi,làmchocácdòngđangđọctrởthànhdòngảo(phantom).Mứcđộcôlậptronggiaotác(Isolationlevel) ISOLATION DIRTY NON PHANTO LEVEL READ REPEATE M READ DRead uncommitted √ √ √Read committed √ √Repeatable read √SerializableMứcđộcôlậptronggiaotác(Isolationlevel)Thiếtlậpmứcđộ SET TRANSACTION ISOLATION LEVEL { read uncommitted| read committed | repeatable read | serializable } BEGIN TRAN ……Giaotáckhôngtườngminh(Implicit)BắtđầugiaotácvớicáclệnhALTERTABLE,DROP,TRUNCATETABLE,CREATE,OPEN,FETCH,REVOKE,GRANTDELETE,INSERT,SELECT,UPDATEKếtthúcbằnglệnh:COMMIT|ROLLBACKTRAN Khikếtthúccũnglàlúcbắtđầumộtgiaotácmới.Thiếtlậpthôngsốchấpnhận SETIMPLICIT_TRANSACTIONSON|OFFGiaotáctựđộngCơchếtựđộngxácnhậnđượcthựcthikhitronggiaotácxuấthiệnlỗilúcchạyhaylỗicúpháp. • Lỗicúpháp:giaotácbịhủy(rollback) • Lỗilúcchạy(khóachính,saidữliệu,…):giao tácđượcchấpnhậnđếnthờiđiểmbịlỗi.Giaotáclồngnhau• Chophépcácgiaotáclồngvớinhau.• Lệnhcommitchỉcótácdụngchogiaotáccấp‘con’ gầnnhất.• Lệnhrollbacktrancótácdụnghủytấtcảvàtrởvề điểmbanđầucủagiaotáccấp‘cha’nhất.• Biến@@trancountchỉxemvàothờiđiểmhiệntại cóbaonhiêugiaotácđangtồntại.GiaotáclồngnhauBegin tran t1 ……… begin tran t2 ………… print @@trancount @@trancountlà2 commit tran t2 ……… print @@trancount @@trancountlà1commit tran t1 ...
Nội dung trích xuất từ tài liệu:
Bài giảng Giao tác trong hệ quản trị cơ sở dữ liệu SQL server 2012GIAOTÁCTRONGHỆQUẢNTRỊCƠSỞDỮLIỆUSQLSERVER2012Giaotác(Transaction)Giaotácđượchiểunhưkháiniệmchỉtậpcáclệnhđượcthựchiệnnhưngcósựgắnkếtvớinhauvàđượccoinhưlà1đơnvịhoạtđộng,chúngchỉthànhcôngnếunhưtấtcảthànhcôngvàthấtbạinếucó1phầntửthấtbại.Tínhchấtcủagiaotác• Tínhnguyêntử(Atomicty):Thànhcôngnếutấtcảthànhcông.• Tínhnhấtquán(Consistency):Vẫnđảmbảocácràngbuộc.• Tínhcôlập(Isolation):Thểhiệnmứcđộriêngtưcủatừng giaotác.(Mộtgiaotácđangthayđổicóthểbênngoàithấyhay khôngthấy)• Tínhbềnvững(Durability):Khihệthốngcólỗi,nhưngthànhGiaotác(Transaction)Vấnđềđặtrachoviệcdùnggiaotáco Khinàosửdụnggiaotác?o Sửdụnggiaotácởmứcđộcôlậpnàolàphùhợp?o Phạmviảnhhưởngcủagiaotáclàđâu?o Khảnăngcácngônngữlậptrìnhkếtnốivớihệquảntrị cósửdụngcơchếgiaotácnhưthếnào?Giaotáctườngminh(Explicit)Giaotá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ểmlưu save tran tên_điểm_lưuHủynhữnggìsauđiểmlưunếurollbackGiaotác–Điểmlưu(Savepoint)begin tran t1 lệnh | khối_lệnh save tran s1 lệnh | khối_lệnh rollback tran s1 -- chưachấmdứtt1 lệnh | khối_lệnhcommit tran t1=>Rollback tran s1chỉhủybỏkếtquảtừsaulệnhsavetran s1đếnchổrollback tran s1 vàsauđólàtiếptụcHànhviđọcdữliệuvớigiaotác• Dirtyread Đọcdữliệumàgiaotáckhácchưacommit.• Nonrepeatableread(NonRep|LostUpdate) GiaotácđọclầnđầuthấydữliệulàA,nhưngsauđóđọclạithìthấylàB(dogiaotáckhácthayđổi)• Phantomread Khigiaotác1đọcdữliệu,bênngoàihaygiaotáckhácthêmdòngmớivàohayxóađi,làmchocácdòngđangđọctrởthànhdòngảo(phantom).Mứcđộcôlậptronggiaotác(Isolationlevel) ISOLATION DIRTY NON PHANTO LEVEL READ REPEATE M READ DRead uncommitted √ √ √Read committed √ √Repeatable read √SerializableMứcđộcôlậptronggiaotác(Isolationlevel)Thiếtlậpmứcđộ SET TRANSACTION ISOLATION LEVEL { read uncommitted| read committed | repeatable read | serializable } BEGIN TRAN ……Giaotáckhôngtườngminh(Implicit)BắtđầugiaotácvớicáclệnhALTERTABLE,DROP,TRUNCATETABLE,CREATE,OPEN,FETCH,REVOKE,GRANTDELETE,INSERT,SELECT,UPDATEKếtthúcbằnglệnh:COMMIT|ROLLBACKTRAN Khikếtthúccũnglàlúcbắtđầumộtgiaotácmới.Thiếtlậpthôngsốchấpnhận SETIMPLICIT_TRANSACTIONSON|OFFGiaotáctựđộngCơchếtựđộngxácnhậnđượcthựcthikhitronggiaotácxuấthiệnlỗilúcchạyhaylỗicúpháp. • Lỗicúpháp:giaotácbịhủy(rollback) • Lỗilúcchạy(khóachính,saidữliệu,…):giao tácđượcchấpnhậnđếnthờiđiểmbịlỗi.Giaotáclồngnhau• Chophépcácgiaotáclồngvớinhau.• Lệnhcommitchỉcótácdụngchogiaotáccấp‘con’ gầnnhất.• Lệnhrollbacktrancótácdụnghủytấtcảvàtrởvề điểmbanđầucủagiaotáccấp‘cha’nhất.• Biến@@trancountchỉxemvàothờiđiểmhiệntại cóbaonhiêugiaotácđangtồntại.GiaotáclồngnhauBegin tran t1 ……… begin tran t2 ………… print @@trancount @@trancountlà2 commit tran t2 ……… print @@trancount @@trancountlà1commit tran t1 ...
Tìm kiếm theo từ khóa liên quan:
Giao tác trong hệ quản trị cơ sở dữ liệu Hệ quản trị cơ sở dữ liệu Cơ sở dữ liệu SQL server 2012 Cơ sở dữ liệu Giao tác tự động Hành vi đọc dữ liệu với giao tácGợi ý tài liệu liên quan:
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 292 0 0 -
13 trang 292 0 0
-
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 285 0 0 -
Giáo án Tin học lớp 12 (Trọn bộ cả năm)
180 trang 268 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 255 1 0 -
Thực hiện truy vấn không gian với WebGIS
8 trang 248 0 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 244 0 0 -
8 trang 186 0 0