oracle數(shù)據(jù)完整性和約束性

oracle數(shù)據(jù)完整性和約束性

ID:6346418

大?。?8.00 KB

頁數(shù):5頁

時間:2018-01-10

oracle數(shù)據(jù)完整性和約束性_第1頁
oracle數(shù)據(jù)完整性和約束性_第2頁
oracle數(shù)據(jù)完整性和約束性_第3頁
oracle數(shù)據(jù)完整性和約束性_第4頁
oracle數(shù)據(jù)完整性和約束性_第5頁
資源描述:

《oracle數(shù)據(jù)完整性和約束性》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。

1、Oracle數(shù)據(jù)完整性和約束性非空約束、主鍵約束、唯一約束、外鍵約束、檢查約束、默認(rèn)約束。非空約束空值(NULL)是不存在的值,它既不是0,也不是空字符串,是不存在,未知的情況。創(chuàng)建表時,表中的列默認(rèn)是允許為NULL。語法:創(chuàng)建表時添加非空約束Createtablett1(Booknonumber(4)notnull,Booknamevarchar2(10));為已經(jīng)創(chuàng)建的表添加非空約束Altertablett1modifybooknamenotnull;注意:如果bookname中已經(jīng)存在為n

2、ull的數(shù)據(jù)時,則添加notnull約束時會失敗,Oracle會先檢查表中所有行對應(yīng)列是否含有null值。刪除表列的非空約束Altertablett1modifybooknamenull;主鍵約束每個表中最多只有一個主鍵約束,可以是一列組成,也可以是兩個或者兩個以上組成(組成)。主鍵約束列都是不同的,主鍵約束同時也具有非空約束的特性。行級約束:主鍵約束由一列組成。表級約束:主鍵約束由兩個或者兩個以上的列組成。語法:創(chuàng)建表時添加主鍵約束Createtablett1(Booknonumber(4)p

3、rimarykey,//由系統(tǒng)命名,也可加constraint關(guān)鍵字為約束命名Booknamevarchar2(10));Createtablett1(Booknonumber(4),//由系統(tǒng)自動分配名稱的主鍵約束Booknamevarchar2(10),Constraintbookno_pkprimarykey(Bookno)//手動創(chuàng)建主鍵名稱的主鍵約束);注意:如果有多個列組成主鍵約束,則在primarykey(Bookno)括號內(nèi)用逗號隔開列名。在創(chuàng)建表之后添加主鍵約束Altertab

4、lett1addconstraintbookno_pkprimarykey(Bookno);//手動為主鍵命名Altertablett1addprimarykey(Bookno);//系統(tǒng)自動為主鍵命名Constraint關(guān)鍵字是用來手動給約束指定名稱。注意:如果列中已經(jīng)存在相同的數(shù)據(jù)或者null的數(shù)據(jù),添加主鍵約束失敗。刪除主鍵約束語法:Altertablett1dropconstraintbookno_pk;唯一性約束唯一性約束強調(diào)所在列不允許有相同的值,特點它的列允許有空值,作用保存除主鍵

5、列外的其他列的唯一性。語法:創(chuàng)建表指定唯一性約束Createtablett1(Booknonumber(4),Booknamevarchar2(10)constraintbookname_ukunique//手動命名);Createtablett1(Booknonumber(4),Booknamevarchar2(10),constraintbookname_ukunique(Bookname)//手動命名);注意:如果有多個列添加唯一約束,則在unique(Bookname)括號內(nèi)用逗號隔開列

6、名。唯一約束加非空約束等于主鍵約束。刪除唯一性約束語法:Altertablett1dropconstraintbookname_uk;外鍵約束一般外鍵約束會使用兩個表進行關(guān)聯(lián)(當(dāng)然也存在同一個表自連接的情況)。外鍵是指‘當(dāng)前表’(即外鍵表)引用‘表2’(即被引用表)的某個列或某幾個列,‘表2’中被引用的列必須具有主鍵約束或者唯一性約束。在‘表2’中被引用的列中不存在的數(shù)據(jù)不能出現(xiàn)在‘當(dāng)前表’表對應(yīng)的列中。如果外鍵列存儲了被引用表中將要被刪除的數(shù)據(jù),那么對被引用表的刪除操作將失敗。給已經(jīng)存在的表添

7、加外鍵語法:Createtablett1(Booknonumber(4),Booknamevarchar2(10),StuNonumber(4));表2student主鍵StuNoAltertablett1addconstraintstudent_stuno_fkforeignkey(StuNo)referfencesstudent(StuNo);如果外鍵表和被引用表的列名相同,則可以Altertablett1addconstraintstudent_stuno_fkforeignkey(Stu

8、No)referfencesstudent;在定義外鍵時,使用on關(guān)鍵字指定引用行為的類型。Noaction:當(dāng)刪除被引用表中被引用的數(shù)據(jù)時,違反外鍵約束,刪除失敗。這時外鍵約束的默認(rèn)引用類型。Setnull:當(dāng)被引用表中被引用列的數(shù)據(jù)被刪除時,外鍵表中列被設(shè)置為Null。注意,要使用這個關(guān)鍵字,外鍵列必須支持NULL值。Cascade:當(dāng)被引用表中被引用列的數(shù)據(jù)被刪除時,外鍵表中對應(yīng)的數(shù)據(jù)也將被刪除。這叫做‘級聯(lián)刪除’。語法:Altertablett1addconstraintstudent_

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。