




已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第9節(jié)約束,講師:宋紅康新浪微博:尚硅谷-宋紅康,目標(biāo),通過本章學(xué)習(xí),您將可以:描述約束創(chuàng)建和維護(hù)約束,什么是約束,約束是表級(jí)的強(qiáng)制規(guī)定有以下五種約束:NOTNULLUNIQUEPRIMARYKEYFOREIGNKEYCHECK,注意事項(xiàng),如果不指定約束名,Oracleserver自動(dòng)按照SYS_Cn的格式指定約束名創(chuàng)建和修改約束:建表的同時(shí)建表之后可以在表級(jí)或列級(jí)定義約束可以通過數(shù)據(jù)字典視圖查看約束,表級(jí)約束和列級(jí)約束,作用范圍:列級(jí)約束只能作用在一個(gè)列上,表級(jí)約束可以作用在多個(gè)列上(當(dāng)然表級(jí)約束也可以作用在一個(gè)列上)定義方式:列約束必須跟在列的定義后面,表約束不與列一起,而是單獨(dú)定義。非空(notnull)約束只能定義在列上,定義約束,定義約束,列級(jí)表級(jí),columnCONSTRAINTconstraint_nameconstraint_type,column,.CONSTRAINTconstraint_nameconstraint_type(column,.),NOTNULL約束,保證列值不能為空:,CREATETABLEemployees(employee_idNUMBER(6),last_nameVARCHAR2(25)NOTNULL,salaryNUMBER(8,2),commission_pctNUMBER(2,2),hire_dateDATECONSTRAINTemp_hire_date_nnNOTNULL,.,NOTNULL約束,只能定義在列級(jí):,可以在PL/SQLDEV的Myobjects-Tables-employees-Checkconstraints中查看,UNIQUE約束,EMPLOYEES,UNIQUE約束,INSERTINTO,唯一約束,允許出現(xiàn)多個(gè)空值:NULL。,UNIQUE約束,可以定義在表級(jí)或列級(jí):,CREATETABLEemployees(employee_idNUMBER(6),last_nameVARCHAR2(25)UNIQUE,emailVARCHAR2(25),salaryNUMBER(8,2),commission_pctNUMBER(2,2),hire_dateDATENOTNULL,.CONSTRAINTemp_email_ukUNIQUE(email);,用戶命名,系統(tǒng)命名,可以聲明在email后面:CONSTRAINTemp_email_ukUNIQUE,也可以如此末處聲明。,PRIMARYKEY約束,DEPARTMENTS,PRIMARYKEY,CREATETABLEdepartments(department_idNUMBER(4),department_nameVARCHAR2(30)CONSTRAINTdept_name_nnNOTNULL,manager_idNUMBER(6),location_idNUMBER(4),CONSTRAINTdept_id_pkPRIMARYKEY(department_id);,PRIMARYKEY約束,可以定義在表級(jí)或列級(jí):,FOREIGNKEY約束,DEPARTMENTS,EMPLOYEES,FOREIGNKEY約束,可以定義在表級(jí)或列級(jí):,CREATETABLEemployees(employee_idNUMBER(6),last_nameVARCHAR2(25)NOTNULL,emailVARCHAR2(25),salaryNUMBER(8,2),commission_pctNUMBER(2,2),hire_dateDATENOTNULL,.department_idNUMBER(4),CONSTRAINTemp_dept_fkFOREIGNKEY(department_id)REFERENCESdepartments(department_id),CONSTRAINTemp_email_ukUNIQUE(email);,FOREIGNKEY約束的關(guān)鍵字,FOREIGNKEY:在表級(jí)指定子表中的列REFERENCES:標(biāo)示在父表中的列ONDELETECASCADE(級(jí)聯(lián)刪除):當(dāng)父表中的列被刪除時(shí),子表中相對(duì)應(yīng)的列也被刪除ONDELETESETNULL(級(jí)聯(lián)置空):子表中相應(yīng)的列置空,CHECK約束,定義每一行必須滿足的條件,.,salaryNUMBER(2)CONSTRAINTemp_salary_minCHECK(salary0),.,添加約束的語法,使用ALTERTABLE語句:添加或刪除約束,但是不能修改約束有效化或無效化約束添加NOTNULL約束要使用MODIFY語句,ALTERTABLEtableADDCONSTRAINTconstrainttype(column);,以createtableempasselect*fromemployees;為例,添加和刪除約束,altertableempmodify(empnamevarchar2(50)notnull);,添加約束,添加約束舉例,ALTERTABLEemployeesADDCONSTRAINTemp_manager_fkFOREIGNKEY(manager_id)REFERENCESemployees(employee_id);Tablealtered.,刪除約束,從表EMPLOYEES中刪除約束,ALTERTABLEemployeesDROPCONSTRAINTemp_manager_fk;Tablealtered.,無效化約束,在ALTERTABLE語句中使用DISABLE子句將約束無效化。,ALTERTABLEemployeesDISABLECONSTRAINTemp_emp_id_pk;Tablealtered.,激活約束,ENABLE子句可將當(dāng)前無效的約束激活當(dāng)定義或激活UNIQUE或PRIMARYKEY約束時(shí)系統(tǒng)會(huì)自動(dòng)創(chuàng)建UNIQUE或PRIMARYKEY索引,ALTERTABLEemployeesENABLECONSTRAINTemp_emp_id_pk;Tablealtered.,SELECTconstraint_name,constraint_type,search_conditionFROMuser_constraintsWHEREtable_name=EMPLOYEES;,查詢約束,查詢數(shù)據(jù)字典視圖USER_CONSTRAINTS,SELECTconstraint_name,column_nameFROMuser_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司數(shù)字化活動(dòng)方案
- 公司羽毛球團(tuán)建活動(dòng)方案
- 公司秋季出游活動(dòng)方案
- 公司粽子節(jié)活動(dòng)方案
- 公司新人見面會(huì)策劃方案
- 公司畢業(yè)晚會(huì)活動(dòng)方案
- 公司聚會(huì)團(tuán)建策劃方案
- 公司比學(xué)趕幫超活動(dòng)方案
- 公司端午慰問活動(dòng)方案
- 公司消除浪費(fèi)活動(dòng)方案
- 體外診斷試劑盒線性范圍研究線性區(qū)間評(píng)價(jià)資料及可報(bào)告區(qū)間建立
- AQ 1097-2014 井工煤礦安全設(shè)施設(shè)計(jì)編制導(dǎo)則(正式版)
- 甲乙方施工合同范本
- 嬰幼兒配方乳粉市場銷售管理規(guī)范
- 小班語言《誰的救生圈》課件
- 海思芯片PC-測試技術(shù)規(guī)范
- 內(nèi)陸?zhàn)B殖與水生植物種植
- 集體協(xié)商培訓(xùn)課件
- Unit 3 What would you like A Let's learn(教學(xué)設(shè)計(jì))人教PEP版英語五年級(jí)上冊(cè)
- 物業(yè)社區(qū)團(tuán)購方案
- 仙家送錢表文-文字打印版
評(píng)論
0/150
提交評(píng)論