Bài 3 Transaction và Lock
Số trang: 17
Loại file: ppt
Dung lượng: 116.50 KB
Lượt xem: 20
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:
.NhắclạiNhắclạikiếnthứclậptrìnhvớiTSQL: Kháiniệmvềbólệnh(Batch)vàtiếntrìnhxử lýBatch, Biến
Nội dung trích xuất từ tài liệu:
Bài 3 Transaction và Lock Bài3TransactionvàLock NhắclạiNhắclạikiếnthứclậptrìnhvớiTSQL: Kháiniệmvềbólệnh(Batch)vàtiếntrìnhxử lýBatch Biến CáchàmcơbảncủaSQLServer Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 2 trong 17 Mụctiêu Nắmđượckháiniệmgiaodịch(transaction) Nắm được các khái niệm về thuộc tính, phân loại, tínhriêngbiệtvàmứcđộriêngbiệtcủagiaodịch Sửdụngcáckháiniệmvềtransactionđểthựcthigiao dịchSQLTransactionvàtậplệnh(batch) Nắm được các khái niệm khóa (lock) và khóa chết (deadlock) Giải quyết các deadlock bằng cách đặt mức độ ưu tiênchocáctransaction Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 3 trong 17 Giớithiệu Giaodịch(Transaction)làmộtđơnvịcông việc Một transaction hoặc là sẽ thực hiện thành công hoàn toàn hoặc là sẽ không thay đổi mộtchútdữliệunào Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 4 trong 17CácthuộctínhTransaction Tínhhoànchỉnh(Atomicity) Tínhnhấtquán(Consistency) Tínhriêngbiệt(Isolation) Tínbềnvững(Durability) Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 5 trong 17 PhânloạiTransaction Giaodịchtườngminh(Explicittransaction) Giaodịchngầmđịnh(Implicittransaction) Giaodịchxácnhận(Committransaction) Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 6 trong 17 TransactionIsolationvà IsolationLevels ReadUncommitted ReadCommitted Repeatableread Serializable Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 7 trong 17 SửdụngTransactionLog Nhậtkýgiaodịch(Transactionlog)làmộtFileriêngbiệt(hoặclưu ởvùng đĩariêng) ởtrongdatabaseservernólưutrữdấuvếtthực hiệncủacácthaotác Bằng cách lưu trữ dấu vết thực hiện trong têp nhật ký (log), databaseserverdễdàngkhôiphụclạidữliệukhigặpsựcố Transactionlogđảmbảotínhhoànchỉnhvàtínhbềnvững SQLServerviếttấtcảcácthay đổitrênCSDLxuốngtransaction log, vì vậy nếu transaction đã bắt đầu nhưng chưa chạy xong, chúngtavẫncóthểphụchồilạitấtcảcácthayđổitừfilelog Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 8 trong 17 TransactionvớiTSQL BEGINTRANSACTION COMMITTRANSACTION ROLLBACKTRANSACTION SAVETRANSACTION Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 9 trong 17 Locks Khóa(Lock)đượcsinhrađểgiớihạnquyềntruynhập trênmôitrườngđangườidùng MicrosoftSQLServer2000sửdụnglock để đảmbảo tínhtoànvẹncủatransactionvàtínhthốngnhấtcủa database Nếu lock không được sử dụng, dữ liệu bên trong CSDL có thể bị sai về logíc, và các query chạy trên đósẽđưaracáckếtquảkhôngmongđợi Bảnchấtcủalocklàviệcmộtngườimuốntruynhập riêngvàomộtbảng,vìvậyserversẽlockbảng đólại choriêngngườiđó Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 10 trong 17PhânloạicácLockstrongSQL Server PessimisticLock OptimisticLock SharedLocks ExclusiveLocks UpdateLocks Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 11 trong 17 Deadlock Một deadlock xảy ra khi có 2 người dùng (hoặc 2 phiên làm việc) đã đặtkhóatrên2 đốitượngriêng,vàmỗiusermuốn đặt khóa trên đối tượng của user kia. Mỗi user đều phài đợi người kiagiảiphóngkhóacủahọrađểmìnhcóthểđặtkhóa. SQLServertự độngnhậnradeadlockvàgiảiquyếtbằngcách chọnmộtứngdụngvàbắtnóphảigiảiphóngkhóa,trongkhiđó vẫnchoứngdụngcònlạichạytiếp. Cáchtốtnhất đểtránhdeadlocklàtránhnó.Mộtcách đểtránh nólàkhôngchạycáctransactionđồngthời. Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 12 trong 17 GiảiquyếtDeadlock SETDEADLOCK_PRIORITY SETLOCK_TIMEOUT Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 13 trong 17 Tómtắt Quátrìnhtruynhậpvàthay đổinộidungCSDL đượcgọilàgiao dịch(transaction) Một transaction có thể thao tác cả đọc lẫn ghi. Khi transaction được thực hiện bởi nhiều user có thể sẽ chạy đồng thời và truy nhậplẫncácđốitượngcủaCSDL. CácthuộctínhcủaTransactionlà: Atomicity Consistency Isolation Durability CácthuộctínhtrêncònđượcgọilàthuộctínhACID Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 14 trong 17 Tómtắt(tiếp)… Cáctransactioncóthểphânloạinhưsau: Explicittransaction Implicittransaction Committransaction Chuẩn ANSI SQL quy định 4 mức độ chạy riêng biệt c ...
Nội dung trích xuất từ tài liệu:
Bài 3 Transaction và Lock Bài3TransactionvàLock NhắclạiNhắclạikiếnthứclậptrìnhvớiTSQL: Kháiniệmvềbólệnh(Batch)vàtiếntrìnhxử lýBatch Biến CáchàmcơbảncủaSQLServer Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 2 trong 17 Mụctiêu Nắmđượckháiniệmgiaodịch(transaction) Nắm được các khái niệm về thuộc tính, phân loại, tínhriêngbiệtvàmứcđộriêngbiệtcủagiaodịch Sửdụngcáckháiniệmvềtransactionđểthựcthigiao dịchSQLTransactionvàtậplệnh(batch) Nắm được các khái niệm khóa (lock) và khóa chết (deadlock) Giải quyết các deadlock bằng cách đặt mức độ ưu tiênchocáctransaction Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 3 trong 17 Giớithiệu Giaodịch(Transaction)làmộtđơnvịcông việc Một transaction hoặc là sẽ thực hiện thành công hoàn toàn hoặc là sẽ không thay đổi mộtchútdữliệunào Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 4 trong 17CácthuộctínhTransaction Tínhhoànchỉnh(Atomicity) Tínhnhấtquán(Consistency) Tínhriêngbiệt(Isolation) Tínbềnvững(Durability) Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 5 trong 17 PhânloạiTransaction Giaodịchtườngminh(Explicittransaction) Giaodịchngầmđịnh(Implicittransaction) Giaodịchxácnhận(Committransaction) Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 6 trong 17 TransactionIsolationvà IsolationLevels ReadUncommitted ReadCommitted Repeatableread Serializable Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 7 trong 17 SửdụngTransactionLog Nhậtkýgiaodịch(Transactionlog)làmộtFileriêngbiệt(hoặclưu ởvùng đĩariêng) ởtrongdatabaseservernólưutrữdấuvếtthực hiệncủacácthaotác Bằng cách lưu trữ dấu vết thực hiện trong têp nhật ký (log), databaseserverdễdàngkhôiphụclạidữliệukhigặpsựcố Transactionlogđảmbảotínhhoànchỉnhvàtínhbềnvững SQLServerviếttấtcảcácthay đổitrênCSDLxuốngtransaction log, vì vậy nếu transaction đã bắt đầu nhưng chưa chạy xong, chúngtavẫncóthểphụchồilạitấtcảcácthayđổitừfilelog Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 8 trong 17 TransactionvớiTSQL BEGINTRANSACTION COMMITTRANSACTION ROLLBACKTRANSACTION SAVETRANSACTION Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 9 trong 17 Locks Khóa(Lock)đượcsinhrađểgiớihạnquyềntruynhập trênmôitrườngđangườidùng MicrosoftSQLServer2000sửdụnglock để đảmbảo tínhtoànvẹncủatransactionvàtínhthốngnhấtcủa database Nếu lock không được sử dụng, dữ liệu bên trong CSDL có thể bị sai về logíc, và các query chạy trên đósẽđưaracáckếtquảkhôngmongđợi Bảnchấtcủalocklàviệcmộtngườimuốntruynhập riêngvàomộtbảng,vìvậyserversẽlockbảng đólại choriêngngườiđó Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 10 trong 17PhânloạicácLockstrongSQL Server PessimisticLock OptimisticLock SharedLocks ExclusiveLocks UpdateLocks Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 11 trong 17 Deadlock Một deadlock xảy ra khi có 2 người dùng (hoặc 2 phiên làm việc) đã đặtkhóatrên2 đốitượngriêng,vàmỗiusermuốn đặt khóa trên đối tượng của user kia. Mỗi user đều phài đợi người kiagiảiphóngkhóacủahọrađểmìnhcóthểđặtkhóa. SQLServertự độngnhậnradeadlockvàgiảiquyếtbằngcách chọnmộtứngdụngvàbắtnóphảigiảiphóngkhóa,trongkhiđó vẫnchoứngdụngcònlạichạytiếp. Cáchtốtnhất đểtránhdeadlocklàtránhnó.Mộtcách đểtránh nólàkhôngchạycáctransactionđồngthời. Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 12 trong 17 GiảiquyếtDeadlock SETDEADLOCK_PRIORITY SETLOCK_TIMEOUT Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 13 trong 17 Tómtắt Quátrìnhtruynhậpvàthay đổinộidungCSDL đượcgọilàgiao dịch(transaction) Một transaction có thể thao tác cả đọc lẫn ghi. Khi transaction được thực hiện bởi nhiều user có thể sẽ chạy đồng thời và truy nhậplẫncácđốitượngcủaCSDL. CácthuộctínhcủaTransactionlà: Atomicity Consistency Isolation Durability CácthuộctínhtrêncònđượcgọilàthuộctínhACID Thiết kế CSDL và thực thi với SQL Server / Bài 3 / 14 trong 17 Tómtắt(tiếp)… Cáctransactioncóthểphânloạinhưsau: Explicittransaction Implicittransaction Committransaction Chuẩn ANSI SQL quy định 4 mức độ chạy riêng biệt c ...
Tìm kiếm theo từ khóa liên quan:
phương thức xử lý lưu trữ dữ liệu MySQL thiết kế dữ liệu quản trị dữ liệuTài liệu có liên quan:
-
Đáp án đề thi học kỳ 2 môn cơ sở dữ liệu
3 trang 339 1 0 -
PHÂN TÍCH THIẾT KẾ HỆ THỐNG XÂY DỰNG HỆ THỐNG ĐẶT VÉ TÀU ONLINE
43 trang 307 2 0 -
8 trang 298 0 0
-
6 trang 211 0 0
-
Hướng dẫn tạo file ghost và bung ghost
12 trang 161 0 0 -
Thiết kế hệ thống thông tin - Tổng quan hệ thống thông tin
86 trang 120 0 0 -
Tiểu Luận Chương Trình Quản Lí Học Phí Trường THPT
18 trang 103 0 0 -
Hướng dẫn sử dụng Mapinfo Professional-Phần cơ bản
57 trang 100 0 0 -
Đồ án hệ thống cung cấp điện -EPU
47 trang 94 0 0 -
150 trang 79 0 0