




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、銀行轉(zhuǎn)帳:事務T從A帳戶過戶50¥到B帳戶readread(A);A := A 50;writewrite(A);readread(B);B := B + 50;writewrite(B);readread(X):從數(shù)據(jù)庫傳送數(shù)據(jù)項X到事務的工作區(qū)中writewrite(X):從事務的工作區(qū)中將數(shù)據(jù)項X寫回數(shù)據(jù)庫n事務是由一系列操作序列構(gòu)成的程序執(zhí)行單元,這些操作要么都做,要么都不做,是一個不可分割的工作單位n事務以Begin transaction開始,以Commit transaction或 Rollback transaction結(jié)束Commit transaction表示提交,事務正常
2、結(jié)束Rollback transaction表示事務非正常結(jié)束,撤消事務已做的操作,回滾到事務開始時狀態(tài)n原子性原子性(Atomicity)事務中包含的所有操作要么全做,要么全不做原子性由恢復機制恢復機制實現(xiàn)n一致性一致性(Consistency)事務的隔離執(zhí)行必須保證數(shù)據(jù)庫的一致性事務開始前,數(shù)據(jù)庫處于一致性的狀態(tài);事務結(jié)束后,數(shù)據(jù)庫必須仍處于一致性狀態(tài)數(shù)據(jù)庫的一致性狀態(tài)由用戶用戶來負責如銀行轉(zhuǎn)帳,轉(zhuǎn)帳前后兩個帳戶金額之和應保持不變(意大利香腸術, Salami technique )n隔離性隔離性(Isolation)系統(tǒng)必須保證事務不受其它并發(fā)執(zhí)行事務的影響對任何一對事務T1,T2,在T
3、1看來,T2要么在T1開始之前已經(jīng)結(jié)束,要么在T1完成之后再開始執(zhí)行隔離性通過并發(fā)控制機制并發(fā)控制機制實現(xiàn)n持久性持久性(Durability)一個事務一旦提交之后,它對數(shù)據(jù)庫的影響必須是永久的系統(tǒng)發(fā)生故障不能改變事務的持久性持久性通過恢復機制恢復機制實現(xiàn)活動狀態(tài)活動狀態(tài)失敗狀態(tài)失敗狀態(tài)部分部分提交狀態(tài)提交狀態(tài)提交狀態(tài)提交狀態(tài)中止狀態(tài)中止狀態(tài)初始狀態(tài)初始狀態(tài)事務無法繼事務無法繼續(xù)正常執(zhí)行續(xù)正常執(zhí)行事務回滾,數(shù)據(jù)庫恢事務回滾,數(shù)據(jù)庫恢復到事務開始前狀態(tài)復到事務開始前狀態(tài)最后一條語最后一條語句被執(zhí)行后句被執(zhí)行后成功完成,永成功完成,永久寫入數(shù)據(jù)庫久寫入數(shù)據(jù)庫以BEGIN TRANSACTION開始
4、,以COMMIT或ROLLBACK結(jié)束事務自動開始,直到遇到COMMIT或ROLLBACK時結(jié)束每個數(shù)據(jù)操作語句作為一個事務update SC set GRADE = GRADE+15set implicit_transactions ON | OFF Begin tranUpdate SCSet grade =grade+5 Update SCSet grade =grade+20Commit tranSelect * from SCBegin tranUpdate SCSet grade =grade+5 Update SCSet grade =grade+20If error0rollb
5、acktranSelect * from SCCommit tran是一種多對多的關系,即一個事務中可以包含多個批,一個批中也可以包含多個事務set XACT_ABORT ON n包含了所有事務的操作指令n一個事務中指令的順序必須保持不變n在串行調(diào)度中,屬于同一事務的指令緊挨在一起n對于有n個事務的事務組,可以有n!個有效調(diào)度n在并行調(diào)度中,來自不同事務的指令可以交叉執(zhí)行n當并行調(diào)度等價于某個串行調(diào)度時,則稱它是正確的n并行事務會破壞數(shù)據(jù)庫的一致性n串行事務效率低n一個事務由不同的步驟組成,所涉及的系統(tǒng)資源也不同。這些步驟可以并發(fā)執(zhí)行,以提高系統(tǒng)的吞吐量吞吐量n系統(tǒng)中存在著周期不等的各種事務,
6、串行會導致難于預測的時延。如果各個事務所涉及的是數(shù)據(jù)庫的不同部分,采用并發(fā)會減少平均響應時間平均響應時間T1read(A);A := A 50;write(A);read(B);B := B + 50;write(B);T2 read(A);temp := A0.1A := A temp;write(A); read(B);B := B + temp;write(B);從A過戶50¥到B從A過戶存款的10%到B開始狀態(tài):A=1000¥B=2000¥A+B=3000¥ read(A); A := A 50; write(A); read(B); B := B + 50; write(B); re
7、ad(A); temp := A0.1 A := A temp; write(A); read(B); B := B + temp; write(B);T1T2A=950¥B=2050¥結(jié)束狀態(tài):A=855¥B=2145¥A+B=3000¥串串行行調(diào)調(diào)度度1 1 read(A); A := A 50; write(A); read(B); B := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); read(B); B := B + temp; write(B);T1T2A=900¥B=2100¥結(jié)束狀態(tài):A=850¥
8、B=2150¥A+B=3000¥串串行行調(diào)調(diào)度度2 2 read(A); A := A 50; write(A); read(B); B := B + temp; write(B);T1T2A=950¥B=2000¥結(jié)束狀態(tài):A=855¥B=2145¥A+B=3000¥ read(B); B := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); A=855¥B=2000¥A=855¥B=2050¥并并行行調(diào)調(diào)度度3 read(A); A := A 50; write(A); read(B); B := B + tem
9、p; write(B);T1T2A=1000¥B=2000¥結(jié)束狀態(tài):A=900¥B=2150¥A+B=3050¥ read(B); B := B + 50; write(B); read(A); temp := A0.1 A := A temp; write(A); A=900¥B=2000¥A=900¥B=2050¥并并行行調(diào)調(diào)度度4A=950¥B=2000¥n事務的恢復事務的恢復:一個事務失敗了,應該能夠撤消該事務對數(shù)據(jù)庫的影響。如果有其它事務讀取了失敗事務寫入的數(shù)據(jù),則該事務也應該撤消read(A);write(A);T1T2read(B);rollback;read(A);commi
10、t不可恢復的調(diào)度不可恢復的調(diào)度可恢復調(diào)度可恢復調(diào)度對于每對事務對于每對事務T1T1與與T2T2,如如果果T2T2讀取了讀取了T1T1所寫的數(shù)據(jù),所寫的數(shù)據(jù),則則T1T1必須先于必須先于T2T2提交提交級聯(lián)調(diào)度級聯(lián)調(diào)度由于一個事務故障而由于一個事務故障而導致一系列事務回滾導致一系列事務回滾read(A);read(B);write(A);T1T2read(A)write(A);T3read(A)rollback;無級聯(lián)調(diào)度無級聯(lián)調(diào)度對于每對事務對于每對事務T1T1與與T2T2,如果如果T2T2讀取了讀取了T1T1所寫所寫的數(shù)據(jù),則的數(shù)據(jù),則T1T1必須在必須在T2T2讀取之前提交讀取之前提交T2
11、T1TimeRead X (10)Read X (10)Compute X -= 1(9Compute X -= 1(9)Write XWrite X兩個事務T1和T2讀入同一數(shù)據(jù)并修改,T1提交的結(jié)果破壞了T2提交的結(jié)果,導致T2的修改丟失T2T1TimeX=10Read X (25)Read X (10)ComputeX+=15(25)X=25Write XX=10Rollback使用了從未提交到數(shù)據(jù)庫中的數(shù)據(jù)事務T1修改某一數(shù)據(jù),并將其寫回磁盤,事務T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤消,這時T1已修改過的數(shù)據(jù)恢復原值,T2讀到的數(shù)據(jù)與數(shù)據(jù)庫中數(shù)據(jù)不一致,則T2讀到的數(shù)據(jù)就是臟數(shù)據(jù)T
12、2T1TimeRead X (10)Read X (10)Compute X+=15(25)X=25Write XCommitRead X (25)X=10事務T2讀取某一數(shù)據(jù)后,事務T1對其做了修改,當T2再次讀取該數(shù)據(jù)時,得到與前次不同的值r1(list) r2(list) w2(list) r2(count) w2(count) commit(t2) r1(count)T2T1TimeSelect count (*) where rank 32 rows returnedSelect count (*) where rank 33 rows returned事務T2按一定條件讀取了某些數(shù)
13、據(jù)后,事務T1插入了一些滿足這些條件的數(shù)據(jù),當T2再次按相同條件讀取數(shù)據(jù)時,發(fā)現(xiàn)多了一些記錄selectsum(Balance)fromaccountAwhereA.Name = MaryselectD.TotalBalancefromdepositorDwhereD.Name = Maryinsert into accounts values (Mary,100)update depositorsetTotalBalance =TotalBalance + 100 where Name = Mary nserializable:一個調(diào)度的執(zhí)行必須等價于一個串行調(diào)度的結(jié)果nrepeatable
14、 read:只允許讀取已提交的記錄,并要求一個事務對同一記錄的兩次讀取之間,其它事務不能對該記錄進行更新nread committed:只允許讀取已提交的記錄,但不要求可重復讀nread uncommitted:允許讀取未提交的記錄Read uncommitted讀臟數(shù)據(jù)不能重復讀幻象Read committedRepeatable readSerializable-不能重復讀幻象幻象SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDBEGIN TRAN SELECT SNAME FROM S WHERE SNAME = 王紅- 只有一個學生名為王
15、紅BEGIN TRAN UPDATE S SET SNAME = 王紅SELECT SNAME FROM S WHERE SNAME = 王紅- 所有學生姓名均為王紅ROLLBACK TRANSELECT SNAME FROM S WHERE SNAME = 王紅-只有一個學生名為王紅SET TRANSACTION ISOLATION LEVEL READ COMMITTEDBEGIN TRAN BEGIN TRAN UPDATE S SET SNAME = 王紅SELECT SNAME FROM S WHERE SNAME = 王紅-阻塞,“正在執(zhí)行批查詢”COMMIT TRAN-所有學生姓
16、名均為王紅SET TRANSACTION ISOLATION LEVEL READ COMMITTEDBEGIN TRAN SELECT SNAME FROM S WHERE SNAME = 王紅- 只有一個學生名為王紅BEGIN TRAN UPDATE S SET SNAME = 王紅COMMIT TRANSELECT SNAME FROM S WHERE SNAME = 王紅-所有學生姓名均為王紅SET TRANSACTION ISOLATION LEVEL REPEATABLE READBEGIN TRAN SELECT SNAME FROM S WHERE SNAME = 王%- 只有
17、一個學生名為王紅BEGIN TRAN UPDATE S SET SNAME = 王紅-阻塞SELECT SNAME FROM S WHERE SNAME = 王紅-只有一個學生名為王紅SET TRANSACTION ISOLATION LEVEL REPEATABLE READBEGIN TRAN SELECT SNAME FROM S WHERE SNAME = 王%- 只有一個學生,名為王紅INSERT INTO S VALUES(s08, 王明, 23, 1)SELECT SNAME FROM S WHERE SNAME = 王%-有兩個學生,名為王紅和王明SET TRANSACTION
18、 ISOLATION LEVEL SERIALIZABLEBEGIN TRAN SELECT SNAME FROM S WHERE SNAME = 王%- 只有一個學生,名為王紅INSERT INTO S VALUES(s08, 王明, 23, 1)-阻塞SELECT SNAME FROM S WHERE SNAME = 王%-只有一個學生,名為王紅考慮關系Employee(ID,salary), 表示職工的工資號和工資數(shù)額,開始Employee關系中有兩個元組(A,20)和(B,30)?,F(xiàn)有如下兩個事務T1、T2,T1: begin transaction;update Employee s
19、et salary = 2*salary where ID=A;update Employee set salary = salary+10 where ID=A;commit;T2: begin transaction;select sum(salary) as sal1 from Employee;select sum(salary) as sal2 from Employee;commit;給出T2返回的sal1與sal2所有可能的值的情況,如果T2運行的隔離性級別為serializableread committedread uncommitted2212112112221121121
20、12221122221112212211122211211,ttttttttttttttttttttttttT1(只讀)T2(更新X)T3(更新Y)T4(更新X, Y)T5(只讀)T6(更新Y)讀不會阻塞寫寫不會阻塞讀寫發(fā)生在提交時沖突時先提交者贏一致性要求:A+B = 0當前:AB5r1(x) r1(y) r2(x) r2(y) w1(y) w2(x)T1、T2分別將x、y減去5寫偏斜:兩個事務寫不同的數(shù)據(jù)項初始值:x=3, y=5T1: x := yT2: y := xcreate database demouse democreate table isolation_1 (id1 int
21、,des varchar(100)insert into isolation_1 values(1, asdf)SI:快照隔離,任何讀取操作得到事務開始那一刻最近已經(jīng)提交過的數(shù)據(jù)版本,屬于事務級快照隔離alter database demoset ALLOW_SNAPSHOT_ISOLATION on(只允許發(fā)出上述alter語句的連接存在于該數(shù)據(jù)庫,如果此時還有其他用戶使用該數(shù)據(jù)庫,則alter未必被阻塞,但已存在的活動事務會阻塞它。此時新的更新事務可以執(zhí)行,但快照隔離級別的事務則不可以)連接連接1連接連接2begin tranupdate isolation_1set id = UPDAT
22、EDwhere id1=1begin transelect * from isolation_1(事務起點)commit tran可重復讀select * from isolation_1commit tran連接連接1連接連接2SET TRANSACTION ISOLATION LEVEL SNAPSHOTbegin transelect id1 from isolation_1begin tranupdate isolation_1set id1 = id1+10update isolation_1set id1 = id1+20commit tran回滾RCSI:已提交讀快照隔離,任何讀
23、取操作得到語句開始那一刻最近已經(jīng)提交過的數(shù)據(jù)版本,屬于語句級快照隔離alter database demo set READ_COMMITTED_SNAPSHOT on(只允許發(fā)出上述alter語句的連接存在于該數(shù)據(jù)庫,如果此時還有其他用戶使用該數(shù)據(jù)庫,則alter被阻塞)連接連接1連接連接2begin tranupdate isolation_1set des = UPDATEDwhere id1=1begin transelect * from isolation_1commit tran不可重復讀select * from isolation_1commit tran連接連接1連接連接2
24、begin transelect id1 from isolation_1begin tranupdate isolation_1set id1 = id1+10update isolation_1set id1 = id1+20(阻塞)commit tran考慮一個調(diào)度S中的兩條連續(xù)指令(僅限于read與 write操作)Ii與Ij,分別屬于事務Ti與TjIi = read(Q), Ij = read(Q);Ii = read(Q), Ij = write(Q);Ii = write(Q), Ij = read(Q);Ii = write(Q), Ij = write(Q); 在 情況下,I
25、i與Ij的次序無關緊要。其余情況下,Ii與Ij的次序不同,其執(zhí)行結(jié)果也不同,數(shù)據(jù)庫最終狀態(tài)也不同當兩條指令是不同事務在相同數(shù)據(jù)項上的操作,并且其中至少有一個是write指令時,則稱這兩條指令是沖突的如在、情況下,Ii與Ij 是沖突的非沖突指令交換次序不會影響調(diào)度的最終結(jié)果如果調(diào)度S可以經(jīng)過一系列非沖突指令交換轉(zhuǎn)換成調(diào)度S,則稱調(diào)度S與S是沖突等價的read(A);write(A);read(B);write(B);T1T2read(B); write(B);read(A);write(A);read(A);write(A);read(B);write(B);T1T2write(B);read(
26、A);write(A);read(B);read(A);write(A);read(B);write(B);write(B);read(A);write(A);read(B);123read(A);write(A);read(B);write(B);read(A);write(A);read(B);write(B);當一個調(diào)度S與一個串行調(diào)度沖突等價時,則稱該調(diào)度是沖突可串行化的如并行調(diào)度3是沖突可串行化的read(A);T1T2write(A);write(A);非沖突串行化的例子:一個調(diào)度S的優(yōu)先圖是這樣構(gòu)造的:它是一個有向圖G =(V,E),V是頂點集,E是邊集。頂點集由所有參與調(diào)度的事
27、務組成,邊集由滿足下述條件之一的邊Ti Tj組成:在Tj執(zhí)行read(Q)之前,Ti執(zhí)行write(Q)在Tj執(zhí)行write(Q)之前,Ti執(zhí)行read(Q)在Tj執(zhí)行write(Q)之前,Ti執(zhí)行write(Q)T1T2T1T2read(A);write(B);T1T2write(A);read(B); write(B);read(A);write(A);read(B);T1T2read(A);write(A);read(B);write(B);read(B); write(B);read(A);write(A);n如果優(yōu)先圖中存在邊TiTj ,則在任何等價于S的串行調(diào)度S中,Ti都必須出現(xiàn)
28、在Tj之前n如果調(diào)度S的優(yōu)先圖中有環(huán),則S是非沖突可串行化的。如果圖中無環(huán),則S是沖突可串行化的T1T2T1T2并行調(diào)度并行調(diào)度3 3是沖是沖突可串行化的突可串行化的并行調(diào)度并行調(diào)度4 4是非是非沖突可串行化的沖突可串行化的n串行順序可由拓撲排序得到,求出與優(yōu)先圖的偏序相一致的線序T1T3T2T4T1T2T3T4T1T3T2T4read(A);A := A - 50write(A);T1T2沖突指令沖突指令T1T2read(B);B := B - 10write(B);read(B);B := B + 50write(B);read(A);A := A + 10write(A);read(A)
29、;A := A - 50write(A);read(B);B := B + 50write(B);read(B);B := B - 10write(B);read(A);A := A + 10write(A);A=950¥B=2000¥A=950¥B=1990¥A=950¥B=2040¥A=960¥B=2040¥A=960¥B=2040¥A=950¥B=2050¥存在結(jié)果相同,但非沖突等價的調(diào)度考慮關于某個事務集的兩個調(diào)度S,S,若調(diào)度S,S滿足以下條件,則稱它們是視圖等價的:對于每個數(shù)據(jù)項Q,若事務Ti在調(diào)度S中讀取了Q的初始值,那么Ti在調(diào)度S中也必須讀取Q的初始值對于每個數(shù)據(jù)項Q,若事務
30、Ti在調(diào)度S中執(zhí)行了read(Q),并且讀取的值是由Tj產(chǎn)生的,那么Ti在調(diào)度S中讀取的Q值也必須是由Tj產(chǎn)生的對于每個數(shù)據(jù)項Q,若在調(diào)度S中有事務執(zhí)行了最后的write(Q),則在調(diào)度S中該事務也必須執(zhí)行最后的write(Q)注:條件、保證兩個調(diào)度中的每個事務都讀取相同的值,從而進行相同的計算條件保證兩個調(diào)度得到最終相同的系統(tǒng)狀態(tài) read(A);write(A); read(B);write(B);read(A);write(A); read(B);write(B);T1T2read(B);write(B);read(A);write(A); T1T2由由T1T1產(chǎn)生的產(chǎn)生的A A值值 r
31、ead(A);write(A);read(B);write(B);由由T1T1產(chǎn)生的產(chǎn)生的A A值值視圖等價n如果某個調(diào)度視圖等價于一個串行調(diào)度,則稱該調(diào)度是視圖可串行化的n沖突可串行化調(diào)度一定是視圖可串行化的存在視圖可串行化但非沖突可串行化的調(diào)度read(Q);T1T2write(Q);write(Q);write(Q);T3盲目寫操作盲目寫操作視圖等價read(Q);T1T2write(Q);write(Q);write(Q);T3T1T2T3無用的寫操作無用的寫操作非沖突可串行化非沖突可串行化設調(diào)度S包含了事務T1, T2, , Tn,設Tb, Tf是兩個虛事務,其中Tb為S中所有wri
32、te(Q)操作, Tf為S中所有read(Q)操作。在調(diào)度S的開頭插入Tb ,在調(diào)度S的末尾插入Tf,得到一個新的調(diào)度S 0刪除所有關聯(lián)無用事務的邊。如果在優(yōu)先圖中不存在從Ti到Tf的通路,則Ti是無用事務對于每個數(shù)據(jù)項Q,如果Tj讀取Ti寫入的Q值,Tk執(zhí)行write (Q)操作且TkTb ,則: 0如果Ti = Tb且TjTf,則在帶標記的優(yōu)先圖中插入邊Tj Tk 0如果TiTb且Tj = Tf,則在帶標記的優(yōu)先圖中插入邊Tk Ti p p如果TiTb且TjTf,則在帶標記的優(yōu)先圖中插入邊Tk Ti與Tj Tk 。其中p是一個唯一的,在前面邊的標記中未曾用過的大于0的整數(shù)read(A);T
33、1T2write(A);write(A);T1TfTbT20000read(Q);T1T2write(Q);write(Q);write(Q);T3T1T2T3Tb0Tf0000read(Q);T1T2write(Q);write(Q);write(Q);T3T1T2T3Tb0Tf0000read(Q);11T1T2T3Tb0Tf00001T1T2T3Tb0Tf00001每個優(yōu)先圖包含標號大于1的邊對中的一條判定準則:只要有一個優(yōu)先圖無環(huán),則調(diào)度是視圖可串行化的時間T1T2T3T41read(A)2write(B)3write(A)4read(B)5read(B)6read(A)7write(
34、C)8write(A)給出該調(diào)度的優(yōu)先圖,該調(diào)度是沖突可串行化的嗎?若是,給出該調(diào)度一個的等價的串行調(diào)度 No man is an island,Entire of itself.Each is a piece of the continent,A part of the main.If a clod be washed away by the sea,Motherland is the less.As well as if a promontory were.As well as if a manner of thine own Or of thine friends were.Each m
35、ans death diminishes me,For I am involved in mankind.Therefore, send not to knowFor whom the bell tolls,It tolls for theen一層結(jié)構(gòu)BEGIN TRANCOMMITn確定旅行路線n批量更新如銀行結(jié)算利息,可以把更新每個帳號作為一個事務,也可以把更新所有帳號作為一個事務n當子事務提交時,它的結(jié)果只能被它的父事務所訪問。只有當一個子事務提交了,并且它的一直到根的所有祖先也都提交了,該子事務才最終提交n如果任何一個嵌套層次的子事務回滾了,它的所有的子事務也都要回滾,不管它們當前是否
36、已經(jīng)提交。因此,如果根結(jié)點回滾,整個嵌套事務也就回滾了n當子事務提交后,它的修改對其父事務是可見的,而對其兄弟是不可見的;父事務的任何對象對其子事務都是可訪問的create table TestNestTrans(Col char(3)create proccedure TransProc CharCol char(3)asbegin transaction InProcinsert into TestNestTrans values (CharCol)commit transaction InProcbegin transaction OutOfProcexec TransProc aaar
37、ollback transaction OutOfProcexec TransProc bbbselect * from TestTrans- 最終TestNestTrans表中只有元組bbbselect trancount - trancount = 0begin tran A select trancount - trancount = 1begin tran B select trancount - trancount = 2 rollback tran B - rollback失敗select trancount - trancount = 2rollback tran Aselect
38、 trancount - trancount =0select trancount - trancount = 0begin tran A select trancount - trancount = 1begin tran B select trancount - trancount = 2 commit tran B select trancount - trancount = 1commit tran Aselect trancount - trancount =0begin_transaction()S1;sp1 := create_savepoint();Sn;spn := create_savepoint();
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國百貨行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評估報告
- 2025至2030中國生物貂行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國玉米淀粉行業(yè)發(fā)展研究與產(chǎn)業(yè)戰(zhàn)略規(guī)劃分析評估報告
- 影樓團隊培訓課件
- 技術賦能教育實現(xiàn)個性化教學的突破
- 財務報銷流程培訓
- 教育數(shù)據(jù)挖掘的潛力學生在多元評價體系中的應用
- 年度培訓計劃編寫課件
- 技術創(chuàng)新助力教育混和教學模式新發(fā)展
- 智慧城市服務中智能公共服務設施的可持續(xù)發(fā)展融資策略
- 麥格理上市基金指數(shù)
- 第一章對環(huán)境的察覺-(浙教版)
- 市政安全員題庫
- 金屬與石材幕墻工程技術規(guī)范-JGJ133-2013含條文說
- JJG 8-1991水準標尺
- GB/T 711-2017優(yōu)質(zhì)碳素結(jié)構(gòu)鋼熱軋鋼板和鋼帶
- GB/T 4857.17-2017包裝運輸包裝件基本試驗第17部分:編制性能試驗大綱的通用規(guī)則
- GB/T 22326-2008糯玉米
- 信息通信網(wǎng)絡運行管理員考試題含答案
- 保密知識培訓課件
- 如何提取關鍵詞
評論
0/150
提交評論