




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
6.1事務的概念6.2數據庫恢復技術6.3數據庫并發控制6.4數據庫安全性6.5數據庫完整性第6章數據庫保護16.1事務的概念事務:是一個不可分割的操作序列,該操作序列要么全做,要么全不做。事務和程序事務的開始與結束隱式控制顯式控制強調:事務和程序是兩個概念。一個程序中可以包含多個事務。隱式控制:由DBMS按缺省規定自動劃分。顯式控制:
BEGINTRANSACTION
[事務開始]COMMIT
[事務提交,重新改寫數據庫]ROLLBACK
[事務提交,發生錯誤撤消]2BEGINTRANSACTIONINSERTINTOS(S#,Sname,Sage,Sdept)VALUES(‘10002’,’李娜’,18,‘計算機’)COMMIT例如:
BEGINTRANSACTIONDELETEFROMSWHERES#=‘10002’;DELETEFROMSCWHERES#=‘10002’;ROLLBACK36.1事務的概念事務的ACID特性AtomicityConsistencyIsolationDurability41、原子性(Atomicity):事務是不可分割的工作單位2、一致性(Consistency)事務提交后,數據庫從一個一致性狀態變到另一個一致性狀態。3、隔離性(Isolation)在事務完成之前,它對數據庫產生的結果不能被其它事務引用。4、持續性(Durability)一旦事務執行成功(提交),其對數據庫產生的效果永久有效。事務的性質(ACID)56.1事務的概念事務管理功能保證事務的ACID特性事務ACID特性可能遭到破壞的原因:多個事務并行運行時,多個事務中的操作交叉執行;事務正在執行時,被強迫終止。數據庫的恢復和并發控制66.2數據庫恢復硬件故障、軟件故障、操作失誤、惡意破壞等,導致事務運行的非正常中斷,甚至破壞數據庫,造成數據丟失數據庫恢復:把數據庫從錯誤狀態恢復到某一個已知的正確狀態76.2數據庫恢復
一、數據庫的故障種類事務內部故障系統故障介質故障計算機病毒8一、數據庫的故障種類事務內部故障銀行轉帳業務:從帳號甲將一筆金額轉入帳號乙BEGINTRANSACTION 讀取帳號甲的余額BALANCE; BALANCE=BALANCE–AMOUNT; 寫回BALANCE; if(BALANCE<0)then{ROLLBACK;} else{ 讀取帳號乙的余額BALANCE1; BALANCE1=BALANCE1+AMOUNT; 寫回BALANCE1;
COMMIT;}9一、數據庫的故障種類事務內部故障非預期的事務內部故障:運算溢出、違約處理辦法:強行回滾ROLLBACK該事務,即事務撤銷(UNDO操作)10一、數據庫的故障種類系統故障系統停機,需要重啟。如CPU故障、OS故障、DBMS代碼錯誤、系統斷電影響正在運行的事務,但不會破壞數據庫處理辦法:(1)UNDO所有未完成的事務;(2)REDO所有已提交的事務11一、數據庫的故障種類介質故障硬故障:磁盤損壞、磁頭碰撞、瞬間強磁場干擾等出現概率小、破壞性非常大計算機病毒破壞系統、修改數據12一、數據庫的故障種類各類故障的影響數據庫本身被破壞數據庫沒有被破壞,但數據可能不正確如何恢復呢?冗余13兩個關鍵問題:
1如何建立冗余數據2如何利用冗余數據實施數據庫恢復6.2數據庫恢復
二、數據庫恢復技術冗余14二、數據庫恢復技術如何建立冗余數據數據轉儲登錄日志文件數據轉儲DBA定期地將整個數據庫復制到其它外存上保存的過程后備副本/后援副本(BACKUP)15數據轉儲靜態轉儲:在系統空閑的時候進行,轉儲期間不允許對數據庫進行操作。優點:簡單、保證副本和數據庫數據的一致性;缺點需等待。動態轉儲:轉儲期間允許對數據庫進行操作優點:效率高;缺點是不能保證副本和數據庫數據的一致性,必須記錄轉儲期間各事務對數據庫的修改活動(日志文件)16兩種轉儲方式:海量轉儲:每次轉儲數據庫中的全部數據增量轉儲:每次轉儲上一次轉儲后更新過的數據
兩種轉儲狀態動態轉儲靜態轉儲兩種轉儲方式海量轉儲動態海量轉儲靜態海量轉儲增量轉儲動態增量轉儲靜態增量轉儲17二、數據庫恢復技術登錄日志文件用來記錄事務對數據庫的更新操作的文件兩種格式的日志文件:(1)以記錄為單位的日志文件(2)以數據塊為單位的日志文件例如:以記錄為單位的日志文件 各個事務的開始標記 各個事務的結束標記 各個事務的所有更新操作日志記錄:事務標識操作類型操作對象更新前的舊值更新后的新值18二、數據庫恢復技術日志文件的作用:進行事務故障恢復和系統故障恢復,并協助后備副本進行介質故障恢復。事務故障和系統故障恢復必須用日志文件;在動態轉儲方式中必須建立日志文件,并結合后備副本和日志文件對數據庫進行有效的恢復;靜態轉儲時也可建立日志文件19二、數據庫恢復技術登記日志文件的原則先來先登記原則:嚴格按照并發事務執行的時間順序登記;先寫日志文件原則:必須先寫日志文件,后寫數據庫。20數據庫鏡像:自動將數據庫中的全部數據或關鍵數據復制到另外一張盤上。應用1應用2應用3應用4update復制readreadread應用1應用2應用3應用4update恢復readread(a)(b)read鏡像鏡像缺點:降低系統效率21四、數據庫恢復策略1.事務故障的恢復2.系統故障的恢復3.介質故障的恢復對于不同的故障類型要采用不同的恢復策略22多用戶數據庫系統事務執行方式串行執行:ACID無破壞,效率低并發執行:ACID可能破壞,效率高交叉并發:InterleavedConcurrency同時并發:SimultaneousConcurrency6.3并發控制23一、并發操作引起的問題丟失修改不可重復讀讀“臟”數據封鎖協議6.3并發控制24例:銀行中,C賬戶上原有存款500元,現有兩位顧客同時給此賬戶存款,分別運行下面兩個事務:T1:READ(C),C=C+100,WRITE(C);T2:READ(C),C=C+200,WRITE(C);運行過程可能如下:(1)先執行事務T1,然后執行事務T2(2)先執行事務T2,然后執行事務T1(3)事務T1和事務T2并發執行25讀出C,C=500讀出C,C=500C=C+100,C=600把C寫到數據庫C=C+200,C=700把C寫到數據庫C:600C:700C:500T1的運行T2的運行26事務T1事務T2讀出C,C=500C=C+100C=600讀出C,C=500C=C+200C=700丟失修改27事務T1事務T2
讀出A=50讀出B=100求和=150
讀出B=100B=B*2WRITE(B)
讀出A=50讀出B=200求和=250(驗算不對)不可重復讀28三種不可重復讀讀不一致T1讀A,T2修改A,T1讀A刪除幻影T1讀取元組集合A,T2刪除部分元組,T1讀取元組集合A插入幻影T1讀取元組集合A,T2插入一些元組,T1讀取元組集合A不可重復讀29事務T1事務T2
讀出C=100C=C*2WRITE(C)
讀出C=200
ROLLBACKC恢復為100讀“臟”數據T1修改A,T2讀A,T1撤銷修改30導致問題的原因丟失修改、不可重復讀、讀“臟”數據原因:并發操作破壞了事務的隔離性是否可以找到并發操作的合理調度方式,從而避免三類問題?311、事務的表示方法:Ri(X)表示事務Ti的讀X操作;Wi(X)表示事務Ti的寫X操作。例:事務T1(Read(B);A=B+1;write(A))事務T2(Read(A);B=A+1;write(B)) 可以表示成:
T1:R1(B)W1(A)T2:R2(A)W2(B)二、調度可串行性32R1(X)R1(Y)W1(Y)符號→表示先于(<),即R1(X)先于W1(Y)執行,R1(Y)先于W1(Y)執行,而R1(X)和R1(Y)的先后次序無關緊要。332、沖突操作定義:如果兩個操作來自不同的事務,它們對同一數據單位進行操作,并且其中至少有一個是寫操作,則稱這兩個操作是相互沖突的或沖突操作。例:事務T0:W0(X)W0(Y)W0(Z)事務T1:R1(X)R1(Z)W1(X)則在這兩個事務中有沖突操作:R1(X)與W0(X)
W1(X)與W0(X)
R1(Z)與W0(Z)調度:對于沖突操作不能同時執行,哪個先執行,哪個后執行。343、調度:事務執行的次序。設τ={T1,T2,…Tn}是一事務集,τ的一個調度S是一擬序集(∑,<s)其中:1)
∑說明S執行的操作正是T1,T2,…Tn的操作。2)<s說明調度S遵守每個事務的操作的內部執行次序3)每對沖突操作的執行次序由S決定。R1(X)R1(Z)W1(X)S1=W0(X)W0(Y)W0(Z)S1=({W0(X),W0(Y)
,W0(Z),R1(X),R1(Z)
,W1(X)},{W0(X)<R1(X),W0(Z)<R1(Z),R1(X)<W1(X),R1(Z)<W1(X)})S1=({W0(X),W0(Y)
,W0(Z),R1(X),R1(Z)
,W1(X)},{W0(X)<R1(X),W0(Z)<R1(Z),R1(X)<R1(Z),R1(X)<W1(X),R1(Z)<W1(X)})S1=({W0(X),W0(Y)
,W0(Z),R1(X),R1(Z)
,W1(X)},{W0(X)<R1(X),W0(Z)<R1(Z),R1(Z)<R1(X),R1(X)<W1(X),R1(Z)<W1(X)})354、串行調度:如果在一個調度中,各個事務不交叉執行,而順序地串行執行,這個調度被稱為串行調度。定義:如果調度S中的任意兩個事務Ti和Tj,如果Ti的所有操作都先于Tj的所有操作,或者相反,則稱S為串行調度。注意:在串行調度中每一個事務都是在下一個事務開始執行之前提交。因此,串行調度沒有并發性,故每一個串行調度都是一個正確的執行。5、并發調度:如果在一個調度中,各個事務交叉地執行,這個調度稱為并發調度。366、可串行化的調度:如果一個事務集的并發調度與某一串行調度是等價的,則稱該并發調度是可串行化的。7、串行化定理定理:一個調度S是可串行化的,當且僅當它的串行圖是無環的。串行圖:設S是若干事務{T1,T2,…,Tn}的一個調度,S的串行圖SG(S)是一個有向圖,其構成規則如下:1)圖中的結點表示事務2)如果Oi和Oj是沖突操作,且Oi先于Oj執行,則在圖中有一條邊Ti→Tj。37R1(X)W1(X)R3(X)W3(Z)R2(X)W2(Y)W1(Y)T2T1T3R1(X)W1(X)R3(X)W3(X)R2(X)W2(Y)W1(Y)T2T1T3例:388、等價的串行調度:如果SG(S)是無環的,則S等價于SG(S)的任一拓撲排序。T2T1T3拓撲排序為:T2,T1,T3T1T2T3拓撲排序為:T1,T3,T2或為:T1,T2,T3拓撲排序:從無入弧的節點開始遞歸去除39W0(X)W0(Y)W0(Z)R1(X)R1(Z)W1(X)R3(Z)W3(Y)W3(Z)R4(X)R4(Y)R4(Z)R2(X)W2(Y)T0T1T2T3T4調度S的串行圖拓撲排序為:T0,T2,T1,T3,T4或為:T0,T2,T3,T1,T4401、封鎖:事務T在對數據進行操作之前,先向系統申請對其進行加鎖,獲得鎖后不允許其它事務更新該數據,直到事務T釋放該數據上的鎖。2、封鎖的類型排它鎖(又稱寫鎖,簡稱X鎖)若事務T對數據對象A加上X鎖,則其它事務不能在A上加任何類型的鎖,此時,只允許事務T讀取和修改A,直到T釋放A上的鎖。共享鎖(又稱讀鎖,簡稱S鎖)若事務T對數據對象A加上S鎖,則其它事務也可在A上加S鎖,但不能加X鎖,事務T和其它事務只能讀取A,但不能修改A。三、基于封鎖的并發控制41封鎖級別加鎖放鎖防止丟失修改保證可重復讀不讀“臟”數據一級事務T在修改數據A之前必須先對其加X鎖事務結束才釋放X鎖可防止不能保證不能保證二級一級封鎖協議+事務T在讀取數據A之前必須對其加S鎖讀完后即可釋放S鎖可防止不能保證能保證三級一級封鎖協議+事務T在讀取數據A之前必須對其加S鎖事務結束才釋放S鎖可防止能保證能保證3、封鎖協議42一級封鎖協議例XlockARead(A)A=10A=A-5Write(A)CommitUnlockAXlockARead(A)A=5A=A-5Write(A)CommitUnlockA等待等待等待等待獲得XlockA事務T1事務T2沒有丟失修改READ(C,D)M=C+DREAD(C,D)M=C+DREAD(C,D)C=C+10D=D+10事務T1事務T2不可重復讀Write(D)Write(C)XlockCXlockDUnlockCUnlockD43二級封鎖協議例READ(C,D)M=C+DREAD(C,D)C=C+10D=D+10事務T1事務T2防止讀“臟”數據Write(D)Write(C)XlockCXlockDUnlockCUnlockDRollBackSlockCSlockD等待等待等待獲得SlockC獲得SlockDUnlockCUnlockDREAD(C,D)M=C+DREAD(C,D)C=C+10D=D+10事務T1事務T2不可重復讀Write(D)Write(C)XlockCXlockDUnlockCUnlockDSlockCSlockDUnlockCUnlockD等待獲得XlockC獲得XlockDREAD(C,D)M=C+DSlockCSlockDUnlockCUnlockD等待獲得SlockC獲得SlockDCommitCommitCommit44三級封鎖協議例READ(C,D)M=C+DREAD(C,D)C=C+10D=D+10事務T1事務T2可重復讀Write(D)Write(C)XlockCXlockDUnlockCUnlockDREAD(C,D)M=C+DSlockCSlockDUnlockCUnlockD等待獲得XlockC獲得XlockD等待CommitCommit45活鎖:事務T1,T2申請數據對象A,T1先給A加鎖,T1釋放A上的鎖后,事務T3又給A加鎖,T2等待,這樣,A始終被其他事務封鎖,事務T2可能長時間得不到A,這種情況稱為活鎖。避免活鎖的方法:采用先來先服務的原則。死鎖:事務T1已經封鎖A,而又想申請封鎖B,而此時事務T2已經封鎖B,而又想申請封鎖A,這樣,T1等待T2釋放B,而T2等待T1釋放A,使得T1、T2均無法繼續執行下去,這種情況稱為死鎖。LOCKA…LOCKB…LOCKB…LOCKA…46
1)某一事務在對數據進行讀、寫之前,先要申請并獲得對該數據的封鎖。2)在釋放一個封鎖之后,事務不再申請和獲得任何其它封鎖。
說明:規則1避免了兩個沖突操作同時存取同一數據。規則2把每個事務分為兩個階段:上升段和下降段。上升下降每一事務只有得到全部鎖以后才放鎖。4、兩階段封鎖協議(2PL協議)472PL調度優點:簡單缺點:易死鎖例如:對于如下兩個事務采用兩段鎖協議T1:R1(X)W1(Y)T2:W2(Y)W2(X)T1與T2的一個調度過程:
1初始時,沒有事務占有鎖2調度器接到R1(X),對X加讀鎖,執行R1(X)。3調度器接到W2(Y),對Y加寫鎖,執行W2(Y)4調度器接到W2(X),T2等待5調度器接到W1(Y),T1等待這樣就造成了死鎖。48定理:任何一個遵從2PL協議的調度都是可串行化的。說明:事務遵守2PL協議是可串行化調度的充分條件,而不是必要條件。即若并發事務都遵守2PL協議,則對這些事務的任何并發調度策略都是可串行化的;若對并發事務的一個調度是可串行化的,不一定所有事務都符合2PL協議。49預防死鎖*一次封鎖法:要求每個事務必須一次將所有要使用的數據全部封鎖,否則,不能執行。缺點:降低了系統的并發度。*順序封鎖法:預先對數據對象規定一個封鎖次序,所有事務都按這個次序實行封鎖。缺點:排列封鎖次序困難。判斷并解除死鎖*超時法:事務的等待超過了規定的時限*等待圖法:檢測等待圖中是否有回路存在。四、死鎖506.4數據庫安全性數據庫的安全性:就是防止非法用戶使用數據庫造成數據泄露、更改或破壞,以達到保護數據庫的目的。計算機系統安全性為計算機系統建立和采取的各種安全保護措施,保護計算機系統(硬件、軟件及數據)不會遭到破壞。保護數據庫以防止不合法使用一般計算機系統中,安全措施是一級一級層層設置的第一節安全性51用戶標識與鑒別存取控制視圖機制審計數據加密第二節數據庫安全性控制用戶DBMSDBOS用戶標識和鑒定存取控制操作系統安全保護密碼存取*為不同的用戶定義不同的視圖把用戶對數據庫的所有操作自動記錄下來放入審計日志中。Oracle安全措施主要有:
1用戶標識和鑒定2存取控制3審計52XMSJCZ用戶甲02-10-622:32:55進入系統用戶甲02-10-820:33:07錄入數據用戶乙02-10-98:50:42進入系統用戶乙02-10-1111:53:13修改密碼用戶丁02-10-137:19:29進入系統用戶丁02-10-288:00:53查詢數據531.用戶標識與鑒別用戶標識:Identification用戶名:UserName,或者用戶標識號:UID用戶鑒別:Authentication用戶名+口令:Password542.存取控制數據庫安全的主要思路:存取控制給合適的人以合適的權限存取控制機制定義用戶及其權限,在數據字典中登記用戶權限;權限合法性檢查552.存取控制兩類實現存取控制的方法自主存取控制:DiscretionaryAccessControla)用戶對不同的數據對象有不同的權限;b)不同用戶對同一對象具有不同的權限;c)允許用戶之間的傳遞授予權限強制存取控制:MandatoryAccessControla)以一定的密級標注數據對象b)授予每個用戶以某一級別的許可證多數DBMS均支持DAC56自主存取控制DAC用戶權限誰+在哪個對象上+可以干什么事情授權:將用戶權限授予特定用戶的過程用戶數據庫對象操作類型用戶權限的二要素57自主存取控制DAC對象類型數據庫對象操作類型數據庫模式CreateSchema基本表CreateTable,AlterTable模式視圖CreateView索引CreateIndex數據基本表和視圖Select,Insert,Update,Delete,References,AllPrivileges數據屬性列Select,Insert,Update,Delete,References,AllPrivileges58自主存取控制DACSQL標準對DAC的支持授權:Grant語句回收:Revoke語句SQL創建用戶時賦予用戶的權限DBA、RESOURCE、CONNECTCreateUser<用戶名>[WithDBA|RESOURCE|CONNECT]59自主存取控制DAC默認用戶權限:CONNECTCreateUser<用戶名>[WithDBA|RESOURCE|CONNECT]CONNECT用戶的初始權限:只能登錄數據庫RESOURCE用戶的初始權限:創建基本表和視圖,并成為所創建對象的屬主不能創建模式和新用戶可授權DBA用戶的初始權限:創建新用戶、模式、基本表、視圖等擁有對所有數據庫對象的存取權限可授權60自主存取控制DAC授權權限:Grant語句把“在某個對象上”“干某種事情”的權限授予“某個用戶”GRANT<權限>ON<數據對象>TO<用戶>[WITHGRANTOPTION]61自主存取控制DAC<數據對象>::=<基表>|<視圖>|<屬性>|…<用戶>::=PUBLIC|<用戶名>PUBLIC是所有數據庫用戶的總稱若有WITHGRANTOPTION,則用戶可將此特權轉授給其它<用戶>。不允許循環授權GRANT<權限>ON<數據對象>TO<用戶>[WITHGRANTOPTION]62例如:GRANTSELECTONTABLE表1TOPUBLIC;//將對表1的SELECT特權授予所有的用戶。GRANTSELECT(列1,列5)ON表1TOsam;//將對表1中1和5列的INSERT特權授予sam。GRANTALLPRIVILEGESONTABLE表1TObob,sam;//將對表1的所有操作特權授予bob和sam。GRANTUPDATE(列2,列4)ON表1TOwangWITHGRANTOPTION;//將對表1中2和4列的UPDATE特權授予wang,并允許他將此特權轉授給其它用戶。63自主存取控制DAC回收權限:Revoke語句把“在某個對象上”“干某種事情”的權限從“某個用戶”那里要回來REVOKE<權限>ON<數據對象>FROM<用戶>[CASCADE|RESTRICT]REVOKEUPDATE(Sno)ONTABLEStudentFromuser4;64以單個權限為單位授權太過麻煩角色:權限的集合為具有相同權限的用戶群創建一個角色基于角色來管理權限簡化授權過程創建角色給角色授權或授予角色給用戶授予角色自主存取控制DAC65自主存取控制DAC角色的創建CREATEROLE<角色名>給角色授權GRANT<權限>ON<數據對象>TO<角色>GRANT<角色>TO<角色>[WITHADMINOPTION]給用戶授予角色GRANT<角色>TO<用戶>[WITHADMINOPTION]66角色權限的回收REVOKE<權限>ON<數據對象>FROM<角色>舉例:創建角色R1使R1具有Student表的Select/Update/Insert權限將R1角色授予用戶王平和李明修改R1,使其具有Student表的Delete權限自主存取控制DAC673.視圖機制視圖機制王平老師只能查詢計算機系學生的信息系主任李明具有處置計算機系學生信息的所有權限CREATEVIEWCS_STUASSelect*FromStudentWhereSdept=‘CS’;GRANTSELECTONCS_STUTO王平;GRANTALLPRIVILIGESONCS_STUTO李明684.審計Audit和數據加密審計:C2級DBMS的必要指標,是把用戶對數據庫的所有操作自動記錄下來放入審計日志用戶級審計系統級審計數據加密69數據庫完整性:數據的正確性和相容性。完整性安全性數據庫完整性和安全性的區別完整性防止錯誤信息的輸入與輸出。安全性是保護數據庫防止惡意的破壞和非法的存取。6.5數據庫完整性70DBMS對數據庫完整性的支持提供定義完整性約束的機制 實體完整性、參照完整性、自定義完整性提供完整性檢查的方法違約處理:拒絕執行、級聯執行6.5數據庫完整性711完整性約束的概念完整性約束:加在數據之上的語義約束完整性約束的作用對象●關系:若干元組間、關系集合上以及關系之間的聯系的約束●元組:元組的約束是元組中各個字段間的聯系的約束●屬性列:主要是列的數據類型、取值范圍、精度、排序等約束條件721完整性約束的概念完整性約束的類型靜態約束:數據庫在確定狀態時數據對象應滿足的約束條件;動態約束:數據庫從一種狀態轉變為另一種狀態時,新、舊值之間應滿足的約束條件73
1)靜態列約束:是對一個列的取值域等的限制。對數據類型的約束;對數據格式的約束;對取值范圍或取值集合的約束;對空值的約束;2)靜態元組約束:規定組成一個元組的各個列之間的約束關系。例如:庫存關系中出庫數量不能大于庫存數量。3)靜態關系約束:反映了一個關系中各個元組之間或者若干關系之間存在的聯系或約束。實體完整性約束;參照完整性約束;靜態約束74
1)動態列約束:規定修改列定義或列值時應滿足的約束條件。如:將允許為空的列修改為不允許為空;學生的年齡只能增長。2)動態元組約束:規定修改元組的值時其各個屬性列之間需要滿足的約束條件例如:職工工資調整時新工資不得低于原工資+工齡*1.5。3)動態關系約束:加在關系變化前后狀態上的限制條件。事務的ACID特性:原子性/一致性/隔離性/持久性動態約束752實體/參照完整性約束實體完整性:PRIMARYKEY列級定義關系級定義參照完整性:FOREIGNKEY/REFERENCES違約處理:拒絕、級聯刪除、設置為空762實體/參照完整性約束CREATETABLESC(SnoCHAR(8)NOTNULL,CnoCHAR(4)NOTNULL,GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno)ONDELETECASCADEONUPDATECASCADE,FOREIGNKEY(Cno)REFERENCESCourse(Cno)ONDELETENOACTIONONUPDATECASCADE);773用戶自定義完整性約束定義屬性列的約束條件列值非空:NOTNULL列值唯一:UNIQUE語義檢查:CHECK短語舉例:性別只允許取值“男”或“女”CREATETABLEStudent(……SsexCHAR(2)CHECK(SsexIN(“男”,“女”)),……);成績只能在0-100之間:CREATETABLESC(….….GradeSMALLINTCHECK(Grade>=0andGrade<=100),……);78違約處理和保護:createtables(snochar(2)primarykey,sgenderchar(2)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫院尿液標本管理制度
- 外部投資企業管理制度
- 培訓學校防暴管理制度
- 天津物業薪酬管理制度
- 員工借款金額管理制度
- 地下礦山安全管理制度
- 小學編程社團管理制度
- 工程往來資料管理制度
- 獸藥銷售現場管理制度
- 外包單位服務管理制度
- 餐廳廚房5S管理
- 航模課程-飛翔的夢想
- 變配電運行值班員(220kV及以下)高級技師-機考題庫(導出版)
- DB11-T 2398-2025 水利工程巡視檢查作業規范
- 2025春季學期國開電大本科《人文英語3》一平臺在線形考綜合測試(形考任務)試題及答案
- 《人工智能安全導論》 課件 第七章 人工智能在聯邦學習領域
- 2025年江蘇省南通市海安市13校中考一模英語試題(原卷版+解析版)
- 百葉窗施工工藝方案 組織設計
- 授權審批管理制度
- 質量事故調查與處理辦法
- 高考歷史變化趨勢類答題思路及技巧總結-2025屆高三統編版(2019)歷史二輪專題復習
評論
0/150
提交評論