版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1 1北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復第第1010章章 事務管理與恢復事務管理與恢復第五項修練u 第一項修練:自我超越u 第二項修練:改善心智模式u 第三項修練:建立共同愿景u 第四項修練:團隊學習u 第五項修練:系統思考 作者:美國商業(yè)周刊推崇為當今最有影響力的管理大師之一2022-2-52022-2-52 2北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理
2、與恢復目目 錄錄事務 10.1并發(fā)控制 10.2恢復與備份 10.32022-2-52022-2-53 3北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復問題背景問題背景 n 現實應用中,現實應用中,數據庫的操作與操作之間往往具有一定的語義數據庫的操作與操作之間往往具有一定的語義和關聯性和關聯性。數據庫應用希望。數據庫應用希望將這些有關聯的操作當作一個邏將這些有關聯的操作當作一個邏輯工作單元輯工作單元看待,看待,要么都執(zhí)行,要么都不執(zhí)行要么都執(zhí)行,要么都不執(zhí)行。 n 例例10.1
3、飛機訂票系統有兩個表飛機訂票系統有兩個表Sale和和Flight,分別記錄各售,分別記錄各售票點的票點的售票數售票數及全部航班的及全部航班的剩余票數剩余票數: Sale(agentNo, flightNo, date, saledNumber) Flight(flightNo, date, remainNumber)n 現有現有A0010售票點欲出售售票點欲出售F005航班航班2008年年8月月8日機票日機票2張。張。2022-2-52022-2-54 4北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管
4、理與恢復事務管理與恢復問題背景問題背景n 可編制如下程序:可編制如下程序: 查詢查詢F005航班航班2008年年8月月8日剩余票數日剩余票數A; (1) if (A2) 拒絕操作,并通知票源不足;拒絕操作,并通知票源不足; else 更新更新A0010售票點的售票數;售票點的售票數; 更新更新F005航班的剩余票數;航班的剩余票數;如何用SQL語句分別實現語句(1)和語句(2)?n 語句語句(1)可用可用SQL語句表示為:語句表示為:SELECT remainNumber FROM Flight WHERE flightNo=F005 AND date=2008-08-08(2)2022-2-
5、52022-2-55 5北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復問題背景問題背景n 語句語句(2)是在當是在當F005航班航班2008年年8月月8日的剩余票數大于請求日的剩余票數大于請求票數時更新票數時更新Sale和和Flight表。該更新包括兩個表。該更新包括兩個update操作:操作: UPDATE Sale SET saledNumber=saledNumber+2 WHERE agentNo=A0010 AND flightNo=F005 AND date=2008
6、-08-08 UPDATE Flight SET remainNumber=remainNumber2 WHERE flightNo=F005 AND date=2008-08-08如果第一個UPDATE語句執(zhí)行成功,而第二個UPDATE語句執(zhí)行失敗,會發(fā)生什么問題呢?2022-2-52022-2-56 6北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復問題背景問題背景n 假設假設F005航班共有航班共有200個座位,個座位,2008年年8月月8日機票已售日機票已售198張張(其中
7、被其中被A0010售出售出20張張),余票,余票2張。張。n 當第當第1個個UPDATE語句執(zhí)行成功時,即語句執(zhí)行成功時,即A0010已售票數更新已售票數更新為為22。當系統發(fā)生故障重新提供服務時,如果又有售票點請。當系統發(fā)生故障重新提供服務時,如果又有售票點請求出售求出售F005航班航班2008年年8月月8日機票日機票2張,由于張,由于F005的剩余票的剩余票數未更新數未更新(仍為仍為2),因此滿足其要求又出售了,因此滿足其要求又出售了2張。張。n 結果多賣了結果多賣了2張票!張票!出現上述問題的原因是什么? 出現故障后,系統重新提供服務時數據庫狀態(tài)與現實世界狀態(tài)出現了不一致。對于機票系統來
8、說,一航班的剩余票數加上已售出票數應等于該航班全部座位數。而重新提供服務時,F005的已售票數與剩余票數之和為202(不等于200!),導致多買了2張。 2022-2-52022-2-57 7北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復問題背景問題背景n 為解決上述問題,數據庫管理系統引入了為解決上述問題,數據庫管理系統引入了事務事務概念,它概念,它將這些有內在聯系的操作當作一個邏輯單元看待將這些有內在聯系的操作當作一個邏輯單元看待,并采,并采取相應策略取相應策略保證一個邏輯單
9、元內的全部操作保證一個邏輯單元內的全部操作要么都執(zhí)行要么都執(zhí)行成功,要么都不執(zhí)行成功,要么都不執(zhí)行。n 對數據庫用戶而言,只需對數據庫用戶而言,只需將具有完整邏輯意義的一組操將具有完整邏輯意義的一組操作正確地作正確地定義在一個事務之內定義在一個事務之內即可。即可。2022-2-52022-2-58 8北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務概念事務概念 n 對于對于用戶用戶而言,而言,事務事務是是具有完整邏輯意義的數據庫操作序列具有完整邏輯意義的數據庫操作序列的集合。的
10、集合。n 對于對于數據庫管理系統數據庫管理系統而言,而言,事務事務則是則是一個一個讀寫操作序列讀寫操作序列。這。這些操作是一個不可分割的邏輯工作單元,些操作是一個不可分割的邏輯工作單元,要么都做要么都做,要么都要么都不做不做。n 事務事務是數據庫管理系統中是數據庫管理系統中競爭資源、并發(fā)控制和恢復的基本競爭資源、并發(fā)控制和恢復的基本單元單元。 它是由數據庫操作語言它是由數據庫操作語言(如如SQL)或高級編程語言(如或高級編程語言(如Java、C、C+)提供的)提供的事務開始語句事務開始語句、事務結束語句事務結束語句以及以及由它們包含的全部由它們包含的全部數據庫操作語句數據庫操作語句組成。組成。
11、2022-2-52022-2-59 9北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務結束語句事務結束語句n 事務結束的兩種類型:事務結束的兩種類型:l事務提交事務提交(commit):將成功完成事務的:將成功完成事務的執(zhí)行結果執(zhí)行結果(即更新即更新)永久化永久化,并釋放事務占有的全部資源。,并釋放事務占有的全部資源。l事務回滾事務回滾(rollback):中止當前事務、:中止當前事務、撤銷其對數據庫所撤銷其對數據庫所做的更新做的更新,并釋放事務占有的全部資源。,并釋放事務占有
12、的全部資源。2022-2-52022-2-51010北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復SQL Server事務模式事務模式n SQL Server數據庫提供了三種類型的事務模式:數據庫提供了三種類型的事務模式:l顯式事務顯式事務是指用戶是指用戶使用使用Transact-SQL事務語句所定義事務語句所定義的事務的事務,其事務語句包括:,其事務語句包括:事務開始事務開始:BEGIN TRANSACTION事務提交事務提交:COMMIT TRANSACTION,COMMIT
13、 WORK事務回滾事務回滾:ROLLBACK TRANSACTION,ROLLBACK WORKl隱式事務隱式事務是指事務提交或回滾后,系統自動開始新的是指事務提交或回滾后,系統自動開始新的事務。事務。該類事務不需要采用該類事務不需要采用BEGIN TRANSACTION語句標識事務的開始。語句標識事務的開始。l自動定義事務自動定義事務:當一個語句成功執(zhí)行后,它被自動提當一個語句成功執(zhí)行后,它被自動提交,而當執(zhí)行過程中出錯時,則被自動回滾交,而當執(zhí)行過程中出錯時,則被自動回滾。2022-2-52022-2-51111北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設
14、計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復SQL Server事務定義舉例事務定義舉例n 例例10.2 利用利用SQL Server提供的顯式事務模式定義提供的顯式事務模式定義例例10.1中的數據庫更新事務。中的數據庫更新事務。 BEGIN TRANSACTION UPDATE Sale SET saledNumber=saledNumber+2 WHERE agentNo=A0010 AND flightNo=F005 AND date=2008-08-08 UPDATE Flight SET remainNumber=remainNumber- -
15、2 WHERE flightNo=F005 AND date=2008-08-08 COMMIT TRANSACTION2022-2-52022-2-51212北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務特性事務特性 n 為了保證事務為了保證事務并發(fā)執(zhí)行并發(fā)執(zhí)行或或發(fā)生故障發(fā)生故障時數據庫的時數據庫的一致性一致性(完整性完整性),事務應具有以下特性:),事務應具有以下特性:l原子性原子性(atomicity)。事務的。事務的所有操作所有操作要么要么全部都被執(zhí)行,全部都被執(zhí)行
16、,要么都不被執(zhí)行。要么都不被執(zhí)行。l一致性一致性(consistency)。一個單獨執(zhí)行的事務一個單獨執(zhí)行的事務應保證其執(zhí)行應保證其執(zhí)行結果的一致性,即總是結果的一致性,即總是將數據庫從一個一致性狀態(tài)轉化到將數據庫從一個一致性狀態(tài)轉化到另一個一致性狀態(tài)另一個一致性狀態(tài)。l隔離性隔離性(isolation)。當。當多個事務并發(fā)執(zhí)行多個事務并發(fā)執(zhí)行時,一個事務的時,一個事務的執(zhí)行不能影響另一個事務,即執(zhí)行不能影響另一個事務,即并發(fā)執(zhí)行的各個事務不能互并發(fā)執(zhí)行的各個事務不能互相干擾相干擾。l持久性持久性(durability)。一個。一個事務成功提交事務成功提交后,后,它對數據庫的它對數據庫的改變必
17、須是永久的改變必須是永久的,即使隨后系統出現故障也不會受到影,即使隨后系統出現故障也不會受到影響。響。2022-2-52022-2-51313北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復DBMS保證事務特性措施保證事務特性措施n 原子性原子性也稱為也稱為故障原子性故障原子性或或(故障故障)可靠性可靠性l 由由DBMS通過通過撤銷未完成事務對數據庫的影響撤銷未完成事務對數據庫的影響來實現。來實現。n 一致性一致性是指是指單個事務的一致性單個事務的一致性,也稱為,也稱為并發(fā)原子性并
18、發(fā)原子性或或正確性正確性l 由編寫該事務代碼的由編寫該事務代碼的應用程序員應用程序員負責,但有時也可利用負責,但有時也可利用DBMS提供的提供的數據庫完整性約束數據庫完整性約束(如觸發(fā)器如觸發(fā)器)的自動檢查功能來保證的自動檢查功能來保證。n 隔離性隔離性也稱為也稱為執(zhí)行原子性執(zhí)行原子性或或可串行化可串行化,可以看作是多個事務,可以看作是多個事務并發(fā)執(zhí)行時的一致性或正確性要求并發(fā)執(zhí)行時的一致性或正確性要求l 由由DBMS的的并發(fā)控制模塊并發(fā)控制模塊保證。保證。n 持久性持久性也稱為也稱為恢復原子性恢復原子性或或恢復可靠性恢復可靠性l 它是利用已記錄在它是利用已記錄在穩(wěn)固存儲介質穩(wěn)固存儲介質(如如
19、磁盤陣列磁盤陣列)中的恢復信息中的恢復信息(如日志、如日志、備份等備份等)來實現丟失數據來實現丟失數據(如因中斷而丟失的存放在主存中但還未保存如因中斷而丟失的存放在主存中但還未保存到磁盤數據庫中去的數據等到磁盤數據庫中去的數據等)的恢復。的恢復。l 它是由它是由DBMS的的恢復管理模塊恢復管理模塊保證。保證。2022-2-52022-2-51414北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行事務并發(fā)執(zhí)行n 數據庫管理系統數據庫管理系統允許多個事務并發(fā)執(zhí)行:允許多個事
20、務并發(fā)執(zhí)行:l優(yōu)點優(yōu)點增加系統吞吐量增加系統吞吐量(throughput)。吞吐量吞吐量是指是指單位時間系統完成事務單位時間系統完成事務的數量的數量。當一事務需等待磁盤。當一事務需等待磁盤I/O時,時,CPU可去處理其它正在等待可去處理其它正在等待CPU的事務。這樣,可減少的事務。這樣,可減少CPU和磁盤空閑時間,增加給定時間和磁盤空閑時間,增加給定時間內完成事務的數量。內完成事務的數量。減少平均響應時間減少平均響應時間(average response time)。事務響應時間事務響應時間是指是指事事務從提交給系統到最后完成所需要的時間務從提交給系統到最后完成所需要的時間。事務的執(zhí)行時間有長
21、。事務的執(zhí)行時間有長有短,如果按事務到達的順序依次執(zhí)行,則短事務就可能會由于有短,如果按事務到達的順序依次執(zhí)行,則短事務就可能會由于等待長事務導致完成時間的延長。如果允許并發(fā)執(zhí)行,等待長事務導致完成時間的延長。如果允許并發(fā)執(zhí)行,短事務可短事務可以較早地完成以較早地完成。因此,并發(fā)執(zhí)行可減少事務的平均響應時間。因此,并發(fā)執(zhí)行可減少事務的平均響應時間。l缺點缺點若不對事務的并發(fā)執(zhí)行加以控制,則可能若不對事務的并發(fā)執(zhí)行加以控制,則可能破壞數據庫的一致性破壞數據庫的一致性。2022-2-52022-2-51515北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理
22、與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行可能出現的問題事務并發(fā)執(zhí)行可能出現的問題n 讀臟數據讀臟數據。如果事務如果事務T2讀取事務讀取事務T1修改但未提交修改但未提交的的數據后,事務數據后,事務T1由于某種原因由于某種原因中止而撤銷中止而撤銷,這時事,這時事務務T2就讀取了不一致的數據。數據庫中就讀取了不一致的數據。數據庫中將這種讀未將這種讀未提交且被撤銷的數據為讀提交且被撤銷的數據為讀“臟數據臟數據”。n 丟失更新丟失更新。兩個或多個事務都讀取了同一數據值并。兩個或多個事務都讀取了同一數據值并修改,修改,最后提交事務最后提交事務的執(zhí)行結果覆蓋了的執(zhí)
23、行結果覆蓋了前面提交事前面提交事務務的執(zhí)行結果,從而導致前面事務的更新被丟失的執(zhí)行結果,從而導致前面事務的更新被丟失。 2022-2-52022-2-51616北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行可能出現的問題事務并發(fā)執(zhí)行可能出現的問題n 不可重復讀不可重復讀。是指事務。是指事務Ti兩次從數據庫中讀取的結果不兩次從數據庫中讀取的結果不同,可分為三種情況:同,可分為三種情況:l事務事務Ti讀取一數據后,讀取一數據后,事務事務Tj對該數據進行了更改對該數據進行了
24、更改。當事。當事務務Ti再次讀該數據時,則再次讀該數據時,則會讀到與前一次不同的值會讀到與前一次不同的值。l事務事務Ti按某條件讀取數據庫中某些記錄后,按某條件讀取數據庫中某些記錄后,事務事務Tj刪除了刪除了其中部分記錄其中部分記錄。當事務。當事務Ti再次按相同條件讀取時,再次按相同條件讀取時,發(fā)現記發(fā)現記錄數變少了錄數變少了。(幻影現象(幻影現象1)l事務事務Ti按某條件讀取數據庫中某些記錄后,按某條件讀取數據庫中某些記錄后,事務事務Tj插入了插入了新的記錄新的記錄。當事務。當事務Ti再次按相同條件讀取時,再次按相同條件讀取時,發(fā)現記錄數發(fā)現記錄數變多了變多了。(幻影現象(幻影現象2)202
25、2-2-52022-2-51717北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行問題舉例事務并發(fā)執(zhí)行問題舉例n 例例10.3 設設A航班的剩余票數為航班的剩余票數為10張,有兩個事務張,有兩個事務T1和和T2同時請求出售該航班機票同時請求出售該航班機票2張和張和3張。它們各自的執(zhí)行序張。它們各自的執(zhí)行序列如圖列如圖10-1所示所示(這里只考慮對航班剩余票數的更新這里只考慮對航班剩余票數的更新)。 T1R(A)A=A-2W(A) T2R(A)A=A-3W(A)圖10-1
26、 更新事務T1和T22022-2-52022-2-51818北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行問題舉例事務并發(fā)執(zhí)行問題舉例n 如果是如果是串行執(zhí)行串行執(zhí)行,則不管是,則不管是T1先執(zhí)行再執(zhí)行先執(zhí)行再執(zhí)行T2(圖圖10-2(a),還是還是T2先執(zhí)行再執(zhí)行先執(zhí)行再執(zhí)行T1(圖圖10-2(b),都可得到正確的執(zhí)行結,都可得到正確的執(zhí)行結果,即剩余票數都為果,即剩余票數都為5。 T1R(A)A=A-2W(A) T2R(A)A= A-3W(A) T1R(A)A=A-
27、2W(A)T2R(A)A=A-3W(A)A1088 5A10775(a)(b)圖10-2 T1和T2串行執(zhí)行2022-2-52022-2-51919北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行問題舉例事務并發(fā)執(zhí)行問題舉例n 讀臟數據讀臟數據:在圖在圖10-3中,事務中,事務T1在在T2讀取其讀取其更新值更新值(8)后后回回滾滾,而,而T2仍然使用讀到仍然使用讀到T1修改后的值進行運算,得到的修改后的值進行運算,得到的結結果是果是5。但實際上。但實際上T1未執(zhí)行成功,
28、系統只出售了未執(zhí)行成功,系統只出售了3張票,張票,余余票數應為票數應為7。 T1R(A)A=A-2W(A)rollback T2R(A)A=A-3W(A)A10885圖10-3 T2讀臟數據2022-2-52022-2-52020北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行問題舉例事務并發(fā)執(zhí)行問題舉例n 不可重復讀不可重復讀:如圖:如圖10-4所示,所示,T3第一次讀時第一次讀時余票數為余票數為10張張,第二次讀時為第二次讀時為8張張,兩次讀結果不一致。,兩次讀結果
29、不一致。 T3R(A)R(A)A101088 T1R(A)A=A-2W(A)圖10-4 T3不可重復讀2022-2-52022-2-52121北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行問題舉例事務并發(fā)執(zhí)行問題舉例n 丟失更新丟失更新:在圖:在圖10-5中,中,T1和和T2都讀到都讀到余票數為余票數為10,由于,由于T1后于后于T2提交,導致提交,導致T2的更新操作沒有發(fā)生作用,被的更新操作沒有發(fā)生作用,被T1的的更新更新值值(8)覆蓋覆蓋。 T1R(A)A=A-2
30、W(A) T2R(A)A=A-3W(A)A1010788圖10-5 T2更新丟失 是不是所有并發(fā)執(zhí)行事務都會出現這些問題呢? 2022-2-52022-2-52222北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務并發(fā)執(zhí)行得到正確的結果事務并發(fā)執(zhí)行得到正確的結果n 例例10.4 設設A和和B航班的剩航班的剩余票數分別為余票數分別為10和和15,事,事務務T4與與T5并發(fā)執(zhí)行。事務并發(fā)執(zhí)行。事務T4請求出售請求出售A航班機票航班機票2張張和和B航班機票航班機票2張,事務張,事務T
31、5請求出售請求出售A航班機票航班機票3張和張和B航班機票航班機票3張。它們的執(zhí)張。它們的執(zhí)行序列如圖行序列如圖10-6所示。所示。圖10-6 T4和T5并發(fā)執(zhí)行T4R(A)A=A-2W(A)R(B)B=B-2W(B)T5R(A)A=A-3W(A)R(B)B=B-3W(B)B15131310A10885n 可以驗證圖可以驗證圖10-6中中并發(fā)執(zhí)行并發(fā)執(zhí)行的結的結果與果與T4、T5按先后順序按先后順序串行執(zhí)行串行執(zhí)行的結果是一樣的,也是正確的。的結果是一樣的,也是正確的。啟示:如果一組并發(fā)執(zhí)行事務的執(zhí)行結果與它們串行執(zhí)行得到的結果是相同的,那么就可以認為該并發(fā)執(zhí)行的結果是正確的。2022-2-52
32、022-2-52323北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復事務調度定義事務調度定義n 事務并發(fā)執(zhí)行順序是隨機的,事務并發(fā)執(zhí)行順序是隨機的,將由多個事務操作組將由多個事務操作組成的隨機執(zhí)行序列成的隨機執(zhí)行序列稱為一個稱為一個調度調度。n 對由一組事務操作組成的調度序列而言,應滿足下對由一組事務操作組成的調度序列而言,應滿足下列條件:列條件:l 該調度應包括該組事務的該調度應包括該組事務的全部操作全部操作;l 屬于屬于同一個事務的操作同一個事務的操作應保持應保持在原事務中的
33、執(zhí)行順序在原事務中的執(zhí)行順序。2022-2-52022-2-52424北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復串行調度串行調度n 定義定義10.1(10.1(串行調度串行調度) ) 在調度在調度S中,如果中,如果屬于同一屬于同一事務的操作都是相鄰的事務的操作都是相鄰的,則稱,則稱S是是串行調度串行調度。n 對由對由n個事務組成的一組事務而言,共有個事務組成的一組事務而言,共有n!種有效種有效串行調度。串行調度。n 事務事務串行執(zhí)行串行執(zhí)行可保證數據庫的可保證數據庫的一致性一
34、致性,如果能判斷如果能判斷一個一個并發(fā)調度并發(fā)調度的執(zhí)行結果等價于一個的執(zhí)行結果等價于一個串行調度串行調度的結的結果,就稱該并發(fā)調度可保證數據庫的一致性。果,就稱該并發(fā)調度可保證數據庫的一致性。2022-2-52022-2-52525北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復沖突操作與沖突等價沖突操作與沖突等價n 假設調度假設調度S包含兩個事務包含兩個事務Ti與與Tj,若兩個相鄰操作,若兩個相鄰操作Oi Ti,Oj Tj訪問訪問不同的數據對象不同的數據對象,則,則交換交換Oi
35、與與Oj不會影響調度中不會影響調度中任何操作的結果任何操作的結果。若。若Oi與與Oj訪問訪問相同的數據對象相同的數據對象,并且有,并且有一個為一個為寫操作寫操作時時,則,則不能改變它們被調度執(zhí)行的順序不能改變它們被調度執(zhí)行的順序。 n 定義定義10.210.2 在一調度在一調度S中,如果中,如果Oi與與Oj是不同事務在是不同事務在相同數相同數據對象據對象上的操作上的操作,并且其中,并且其中至少有一個是至少有一個是寫操作寫操作,則稱,則稱Oi與與Oj是是沖突操作沖突操作;否則稱為;否則稱為非沖突操作非沖突操作。n 定義定義10.310.3 如果一如果一調度調度S可以經過交換一系列可以經過交換一系
36、列非沖突操作非沖突操作執(zhí)行的順序而得到一個新的調度執(zhí)行的順序而得到一個新的調度S,則稱,則稱S與與S是是沖突等價沖突等價的的(conflict equivalent)。2022-2-52022-2-52626北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復沖突可串行化沖突可串行化 n 定義定義10.410.4 如果一如果一調度調度S與一與一串行串行調度調度是沖突等價的是沖突等價的,則稱,則稱S是是沖突沖突可串行化可串行化的的(conflict serializable).n 在圖在
37、圖10-6的調度中,通過交互非的調度中,通過交互非沖突操作可得到圖沖突操作可得到圖10-7所示的串所示的串行調度行調度,故圖,故圖10-6的調度的調度是沖突可串行化的。是沖突可串行化的。T4R(A)A=A-2W(AR(B)B=B-2W(B) T5R(A)A=A-3W(A)R(B)B=B-3W(B)圖10-7 交換圖10-6的非沖突操作后得到的串行調度 2022-2-52022-2-52727北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復沖突可串行化沖突可串行化n 沖突可串行化沖突
38、可串行化僅僅是僅僅是正正確調度的充分條件,并確調度的充分條件,并不是必要條件不是必要條件,即,即沖突沖突可串行化調度執(zhí)行結果可串行化調度執(zhí)行結果一定是正確的,而正確一定是正確的,而正確的調度不一定都是沖突的調度不一定都是沖突可串行化的可串行化的。T4R(A)A=A-2W(A)R(B)B=B-2W(B)T6R(B)B=B-3W(B)R(A)A=A-3W(A)B15121210A10885圖10-8 不滿足沖突可串行化的正確調度2022-2-52022-2-52828北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章
39、 事務管理與恢復事務管理與恢復優(yōu)先圖優(yōu)先圖 n 設設S是一個調度。由是一個調度。由S構造一個有向圖,稱為構造一個有向圖,稱為優(yōu)先圖優(yōu)先圖,記為記為G=(V, E),其中,其中V是頂點集,是頂點集,E是邊集。是邊集。頂點集由頂點集由所有參與調度的事務組成所有參與調度的事務組成,邊集由滿足下列邊集由滿足下列3個條件個條件之一的邊之一的邊TiTj組成組成:lTi執(zhí)行了執(zhí)行了Wi(Q)后后Tj執(zhí)行執(zhí)行Rj(Q);lTi執(zhí)行了執(zhí)行了Ri(Q)后后Tj執(zhí)行執(zhí)行Wj(Q);lTi執(zhí)行了執(zhí)行了Wi(Q)后后Tj執(zhí)行執(zhí)行Wj(Q)。T1T2T2T1(a)(b)圖10-9 圖10-2的優(yōu)先圖2022-2-5202
40、2-2-52929北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復優(yōu)先圖優(yōu)先圖lT= t1: R1(X) W1(X) C1; t2: R2(X) R2(Y) W2(X) C2; t3: R3(Y) W3(Y) C3 HTR1(X) R2(X) W1(X) R2(Y) C1 W2(X) R3(Y) C2 W3(Y) C3SG(HT): HTR1(X) W1(X) R2(X) R2(Y) C1 W2(X) R3(Y) C2 W3(Y) C3 SG(HT): t1 t2 t3 t1 t2
41、 t32022-2-52022-2-53030北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復基于優(yōu)先圖的沖突可串行化判別基于優(yōu)先圖的沖突可串行化判別n 基于優(yōu)先圖的沖突可串行化判別準則:基于優(yōu)先圖的沖突可串行化判別準則:如果優(yōu)先圖中無如果優(yōu)先圖中無環(huán),則環(huán),則S是沖突可串行化的;如果優(yōu)先圖中有環(huán),則是沖突可串行化的;如果優(yōu)先圖中有環(huán),則S是是非沖突可串行化的。非沖突可串行化的。 n 測試沖突可串行化的算法:測試沖突可串行化的算法:l構建構建S的優(yōu)先圖;的優(yōu)先圖;l采用采用環(huán)路測試
42、算法環(huán)路測試算法(如基于深度優(yōu)先搜索的環(huán)檢測算法)(如基于深度優(yōu)先搜索的環(huán)檢測算法)檢測檢測S中中是否有環(huán)是否有環(huán);l若若S包含環(huán),則包含環(huán),則S是是非沖突可串行化的非沖突可串行化的,否則調度,否則調度S是是沖突沖突可串行化的可串行化的。2022-2-52022-2-53131北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復n 例例10.5 設并發(fā)調度事務集為:設并發(fā)調度事務集為: T=t1: R1(X) W1(X) C1, t2: R2(X) R2(Y) W2(X) C2, t3
43、: R3(Y) W3(Y) C3兩個并發(fā)調度分別為:兩個并發(fā)調度分別為: HTR1(X) R2(X) W1(X) R2(Y) C1 W2(X) R3(Y) C2 W3(Y) C3 HTR2(X) R3(Y) R2(Y) W2(X) C2 R1(X) W3(Y) C3 W1(X) C1試判斷這兩個調度是否是沖突可串行化調度?試判斷這兩個調度是否是沖突可串行化調度?因此,因此,調度調度HT不是沖突可串行化的不是沖突可串行化的;而;而調度調度HT是沖突可串是沖突可串行化的行化的,它沖突等價于串行調度它沖突等價于串行調度或或。 t1t2t3t2t3t1(a) 調度HT的優(yōu)先圖(b) 調度HT的優(yōu)先圖基
44、于優(yōu)先圖的沖突可串行化判別基于優(yōu)先圖的沖突可串行化判別2022-2-52022-2-53232北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復n 例如例如: lHT=R1(X) W1(X) R2(Y) W2(Y) C2 R1(Y) W1(Y) C1 R3(X) W3(Y) C3 lSG(HT): l因此,因此,調度調度HT是沖突可串行化的是沖突可串行化的,它沖突等價于串行調度它沖突等價于串行調度Ls=(t2, t1, t3) HsT=R2(Y) W2(Y) C2 | R1(X) W
45、1(X) R1(Y) W1(Y) C1 | R3(X) W3(Y) C3 t2 t1 t3 t2 t1 t3基于優(yōu)先圖的沖突可串行化判別基于優(yōu)先圖的沖突可串行化判別2022-2-52022-2-53333北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復發(fā)現一個等價的串行調度發(fā)現一個等價的串行調度n 例如例如: lHT= R1(X) W1(X) R2(Y) W2(Y) C2 R1(Y) W1(Y) C1 R3(X) W3(Y) C3lHT= R2(Y) W2(Y) C2 R1(X)
46、W1(X) R1(Y) W1(Y) C1 R3(X) W3(Y) C3 t2 t1 t3 lHT= R1(X) W1(X) R2(Y) W2(Y) C2 R1(Y) W1(Y) C1 R3(X) W3(Y) C3lHT= R1(X) W1(X) R2(Y) W2(Y) C2 R1(Y) W1(Y) C1 R3(X) W3(Y) C3?2022-2-52022-2-53434北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復目目 錄錄事務 10.1并發(fā)控制 10.2恢復與備份 10.3
47、2022-2-52022-2-53535北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復并發(fā)控制概述并發(fā)控制概述n 并發(fā)控制機制大體上可分為并發(fā)控制機制大體上可分為悲觀的悲觀的和和樂觀的樂觀的兩種。兩種。n 悲觀的并發(fā)控制方法悲觀的并發(fā)控制方法認為數據庫的一致性經常會受認為數據庫的一致性經常會受到破壞,因此到破壞,因此在事務訪問數據對象前須采取一定措在事務訪問數據對象前須采取一定措施加以控制施加以控制,只有得到訪問許可時,才能訪問數據,只有得到訪問許可時,才能訪問數據對象,如對象,
48、如基于封鎖的并發(fā)控制方法基于封鎖的并發(fā)控制方法。n 樂觀的并發(fā)控制方法樂觀的并發(fā)控制方法則認為數據庫的一致性通常不則認為數據庫的一致性通常不會遭到破壞,故事務執(zhí)行時可直接訪問數據對象,會遭到破壞,故事務執(zhí)行時可直接訪問數據對象,只在事務結束時才驗證數據庫的一致性是否會遭到只在事務結束時才驗證數據庫的一致性是否會遭到破壞破壞,如,如基于有效性驗證方法基于有效性驗證方法。n 本章介紹本章介紹基于封鎖的并發(fā)控制方法基于封鎖的并發(fā)控制方法。2022-2-52022-2-53636北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 1
49、0 章章 事務管理與恢復事務管理與恢復基于封鎖方法的基本思想基于封鎖方法的基本思想n 基本思想基本思想:當事務當事務T需訪問數據對象需訪問數據對象Q時,先申請對時,先申請對Q的的鎖。鎖。如批準獲得,則事務如批準獲得,則事務T繼續(xù)執(zhí)行,繼續(xù)執(zhí)行,且此后不允許其且此后不允許其他任何事務修改他任何事務修改Q,直到事務,直到事務T釋放釋放Q上的鎖為止。上的鎖為止。n 基本鎖類型:基本鎖類型:l共享鎖共享鎖(shared lock, 記為記為S):如果事務):如果事務T獲得了數據對獲得了數據對象象Q的共享鎖,則事務的共享鎖,則事務T可讀可讀Q但不能寫但不能寫Q。l排它鎖排它鎖(eXclusive loc
50、k, 記為記為X):如果事務):如果事務T獲得了數據獲得了數據對象對象Q上的排它鎖,則事務上的排它鎖,則事務T既可讀既可讀Q又可寫又可寫Q。2022-2-52022-2-53737北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復鎖相容性鎖相容性n “鎖相容鎖相容”是指如果是指如果Ti已持有數據對象已持有數據對象Q的某類型鎖后,事務的某類型鎖后,事務Tj也申請對也申請對Q的封鎖。如果的封鎖。如果允許事務允許事務Tj獲得對獲得對Q的鎖的鎖,則稱事,則稱事務務Tj申請鎖類型與事務申請鎖類
51、型與事務Ti的持有的持有鎖類型相容鎖類型相容;否則稱為不相容;否則稱為不相容。n 基本鎖類型的封鎖相容性原則:基本鎖類型的封鎖相容性原則:l共享鎖與共享鎖共享鎖與共享鎖相容相容l排它鎖與共享鎖排它鎖與共享鎖、排它鎖與排它鎖排它鎖與排它鎖是不相容的。是不相容的。X+SXS TiTj圖10-12 基本鎖類型的相容性矩陣“”表示相容“”表示不相容2022-2-52022-2-53838北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復單個事務封鎖舉例單個事務封鎖舉例n 申請和釋放鎖操作:申
52、請和釋放鎖操作:lSL(Q)申請申請數據對象數據對象Q上的上的共享鎖共享鎖;lXL(Q)申請申請數據對象數據對象Q上的上的排它鎖排它鎖;lUL(Q)釋放釋放數據對象數據對象Q上的鎖。上的鎖。n 例例10.6 假設事務在訪問完數據對象后假設事務在訪問完數據對象后立即釋放鎖立即釋放鎖,則,則添加了封鎖操作的事務添加了封鎖操作的事務T4操作序列如圖操作序列如圖10-12所示。由所示。由于事務于事務T4要對要對A、B進行讀寫操作,因此訪問進行讀寫操作,因此訪問A和和B之前之前都使用都使用XL操作申請排它鎖。這樣操作申請排它鎖。這樣事務事務T4在釋放在釋放A(或或B)的封鎖之前,其他事務不能訪問的封鎖之
53、前,其他事務不能訪問A(或或B)。 2022-2-52022-2-53939北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復 T4XL(A)R(A)A=A-2W(A)UL(A)XL(B)R(B)B=B-2W(B)UL(B)COMMIT圖10-13 增加了封鎖的事務T4操作序列 封鎖能否保證并發(fā)執(zhí)行事務的沖突可串行化?其他事務在此期間不允許訪問數據對象A其他事務在此期間不允許訪問數據對象B2022-2-52022-2-54040北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算
54、機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復 并發(fā)事務封鎖舉例并發(fā)事務封鎖舉例n 例例10.7 考慮并發(fā)事務考慮并發(fā)事務T1、T2和和T3,它們申請鎖和釋,它們申請鎖和釋放鎖的規(guī)則是:放鎖的規(guī)則是:l訪問數據對象前根據操作類型申請鎖;訪問數據對象前根據操作類型申請鎖;l訪問完后訪問完后立即釋放鎖立即釋放鎖;l當一個事務釋放鎖后,由等待時間較長的事務優(yōu)先獲當一個事務釋放鎖后,由等待時間較長的事務優(yōu)先獲得鎖。得鎖。它們的一個可能的并發(fā)執(zhí)行過程如圖它們的一個可能的并發(fā)執(zhí)行過程如圖10-13所示。所示。2022-2-52022-2-5414
55、1北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復 T1XL(A)等待等待等待R(A)A=A-2W(A)UL(A)ROLLBACKT2XL(A)等待等待等待等待等待等待等待R(A)A=A-3W(A)UL(A)COMMITT3SL(A)R(A)UL(A)SL(A)等待等待等待等待等待等待等待等待R(A)UL(A)COMMIT步驟123456789101112131415161718圖10-14 T1、T2和T3上鎖操作序列該調度存在什么問題?2022-2-52022-2-54242北
56、京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復并發(fā)事務封鎖舉例并發(fā)事務封鎖舉例n 該調度該調度避免了丟失更避免了丟失更新新,即,即不會有多個寫不會有多個寫事務讀取同一數據對事務讀取同一數據對象的相同值象的相同值,因為一,因為一個數據對象任何時候個數據對象任何時候只能有一個排它鎖。只能有一個排它鎖。 T1XL(A)等待等待等待R(A)A=A-2W(A)UL(A)ROLLBACKT2XL(A)等待等待等待等待等待等待等待R(A)A=A-3W(A)UL(A)COMMITT3SL(A)R(
57、A)UL(A)SL(A)等待等待等待等待等待等待等待等待R(A)UL(A)COMMIT步驟123456789101112131415161718圖10-14 T1、T2和T3上鎖操作序列2022-2-52022-2-54343北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復并發(fā)事務封鎖舉例并發(fā)事務封鎖舉例n 但仍然存在以下問題:但仍然存在以下問題:l 讀臟數據讀臟數據。如。如T2在步在步驟驟11讀了讀了T1修改后的修改后的數據,而數據,而T1在步驟在步驟12需需ROLLBACK。
58、T1XL(A)等待等待等待R(A)A=A-2W(A)UL(A)ROLLBACKT2XL(A)等待等待等待等待等待等待等待R(A)A=A-3W(A)UL(A)COMMITT3SL(A)R(A)UL(A)SL(A)等待等待等待等待等待等待等待等待R(A)UL(A)COMMIT步驟123456789101112131415161718圖10-14 T1、T2和T3上鎖操作序列2022-2-52022-2-54444北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復并發(fā)事務封鎖舉例并發(fā)事務封
59、鎖舉例n 但仍然存在以下問題:但仍然存在以下問題:l 不可重復讀不可重復讀。如。如T3兩兩次讀到次讀到A的值不同。的值不同。 T1XL(A)等待等待等待R(A)A=A-2W(A)UL(A)ROLLBACKT2XL(A)等待等待等待等待等待等待等待R(A)A=A-3W(A)UL(A)COMMITT3SL(A)R(A)UL(A)SL(A)等待等待等待等待等待等待等待等待R(A)UL(A)COMMIT步驟123456789101112131415161718圖10-14 T1、T2和T3上鎖操作序列2022-2-52022-2-54545北京理工大學珠海學院北京理工大學珠海學院 計算機學院計算機學院
60、 數據庫原理與設計數據庫原理與設計 張申勇張申勇第第 10 10 章章 事務管理與恢復事務管理與恢復并發(fā)事務封鎖舉例并發(fā)事務封鎖舉例n 但仍然存在以下問題:但仍然存在以下問題:l 不可串行化不可串行化。無論如。無論如何交換非沖突操作,何交換非沖突操作,上述調度都不能等價上述調度都不能等價于于T1、T2和和T3的任何的任何一個串行調度。一個串行調度。出現上述問題的原因是事務過早釋放了其持有的鎖! T1XL(A)等待等待等待R(A)A=A-2W(A)UL(A)ROLLBACKT2XL(A)等待等待等待等待等待等待等待R(A)A=A-3W(A)UL(A)COMMITT3SL(A)R(A)UL(A)S
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商平臺銷售工作總結
- 二零二五年度金融機構信貸資產托管經營協議書3篇
- 二零二五年度城市綜合體商鋪租賃合同書
- 某某省某某市規(guī)模化生物天然氣示范項目一期工程PPP項目實施方案
- 水果蔬菜銷售業(yè)績總結
- 二零二五年度農村學校教育信息化工程采購合同3篇
- 2025版深圳二手房買賣合同交易標的物權屬爭議解決合同3篇
- 2025版綠色生態(tài)住宅小區(qū)物業(yè)服務與綠色生活推廣合同3篇
- 2025版豪華私人轎車采購及售后服務全面合同3篇
- 二零二五年度山地旅游道路建設及景觀合同3篇
- 2025年礦山開采承包合同實施細則4篇
- 《架空輸電線路導線舞動風偏故障告警系統技術導則》
- 2024年計算機二級WPS考試題庫
- 廣東省廣州黃埔區(qū)2023-2024學年八年級上學期期末數學試卷(含答案)
- 法理學課件馬工程
- 2024年廣東省公務員錄用考試《行測》真題及解析
- 高中英語必背3500單詞表(完整版)
- 2024年版《輸變電工程標準工藝應用圖冊》
- 2024年高考數學試卷(北京)(空白卷)
- 護理服務在產科中的應用課件
- 2024年小升初語文入學分班測試卷四(統編版)
評論
0/150
提交評論