版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第節(jié)約束講師:宋紅康新浪微博:尚硅谷-宋紅康目
標通過本章學習,您將可以:描述約束創(chuàng)建和維護約束什么是約束約束是表級的強制規(guī)定有以下五種約束:NOT
NULLUNIQUEPRIMARY
KEYFOREIGN
KEYCHECK注意事項如果不指定約束名,Oracle
server
自動按照SYS_Cn
的格式指定約束名創(chuàng)建和修改約束:建表的同時建表之后可以在表級或列級定義約束可以通過數(shù)據(jù)字典視圖查看約束表級約束和列級約束作用范圍:①列級約束只能作用在一個列上,②表級約束可以作用在多個列上(當然表級約束也可以作用在一個列上)定義方式:列約束必須跟在列的定義后面,表約束不與列一起,而是單獨定義。非空(not
null)約束只能定義在列上定義約束CREATE
TABLE
[schema.]table(column
datatype
[DEFAULT
expr][column_constraint],...[table_constraint][,...]);NUMBER(6),VARCHAR2(20),CREATE
TABLE
employees(employee_idfirst_name...job_idVARCHAR2(10)
NOT
NULL,CONSTRAINT
emp_emp_id_pkPRIMARY
KEY
(EMPLOYEE_ID));定義約束列級表級column
[CONSTRAINT
constraint_name]
constraint_type,column,...[CONSTRAINT
constraint_name]
constraint_type(column,
...),NOT
NULL約束保證列值不能為空:NOT
NULL
約束無NOT
NULL
約束NOT
NULL
約束…CREATE
TABLE
employees(employee_id
NUMBER(6),last_name VARCHAR2(25)
NOT
NULL,salary
NUMBER(8,2),commission_pct
NUMBER(2,2),hire_dateDATECONSTRAINT
emp_hire_date_nnNOT
NULL,NOT
NULL約束只能定義在列級:系統(tǒng)命名用戶命名...可以在PL/SQLDEV的Myobjects-Tables-employees-Checkconstraints中查看UNIQUE
約束EMPLOYEESUNIQUE
約束INSERT
INTO允許不允許:已經(jīng)存在…唯一約束,允許出現(xiàn)多個空值:NULL。UNIQUE
約束可以定義在表級或列級:CREATE
TABLE
employees(employee_id
NUMBER(6),last_name VARCHAR2(25)
UNIQUE,emailsalarycommission_pcthire_dateVARCHAR2(25),NUMBER(8,2),NUMBER(2,2),DATE
NOT
NULL,...CONSTRAINT
emp_email_uk
UNIQUE(email));用戶命名系統(tǒng)命名可以聲明在email后面:CONSTRAINT
emp_email_ukUNIQUE,也可以如此末處聲明。PRIMARY
KEY
約束DEPARTMENTSPRIMARY
KEYINSERT
INTO不允許(空值)不允許(50
已經(jīng)存在)…CREATE
TABLE
departments(department_iddepartment_nameNUMBER(4),VARCHAR2(30)CONSTRAINT
dept_name_nn
NOT
NULL,manager_idlocation_idNUMBER(6),NUMBER(4),CONSTRAINT
dept_id_pk
PRIMARY
KEY(department_id));PRIMARY
KEY
約束可以定義在表級或列級:FOREIGN
KEY
約束DEPARTMENTSEMPLOYEESFOREIGNKEYINSERT
INTO不允許(9不存在)允許PRIMARYKEY……FOREIGN
KEY
約束可以定義在表級或列級:CREATE
TABLE
employees(employee_idlast_nameemailsalarycommission_pcthire_dateNUMBER(6),VARCHAR2(25)
NOT
NULL,VARCHAR2(25),NUMBER(8,2),NUMBER(2,2),DATE
NOT
NULL,...department_id
NUMBER(4),CONSTRAINT
emp_dept_fk
FOREIGN
KEY
(department_id)REFERENCES
departments(department_id),CONSTRAINT
emp_email_uk
UNIQUE(email));FOREIGN
KEY
約束的關鍵字FOREIGN
KEY:在表級指定子表中的列REFERENCES:
標示在父表中的列ONDELETECASCADE(級聯(lián)刪除):當父表中的列被刪除時,子表中相對應的列也被刪除ON
DELETE
SET
NULL(級聯(lián)置空):子表中相應的列置空CHECK
約束定義每一行必須滿足的條件...,
salary
NUMBER(2)CONSTRAINT
emp_salary_minCHECK
(salary
>
0),...添加約束的語法使用ALTER
TABLE
語句:添加或刪除約束,但是不能修改約束有效化或無效化約束添加NOT
NULL
約束要使用MODIFY
語句ALTER
TABLE
tableADD
[CONSTRAINT
constraint]
type
(column);以create
table
emp
as
select
*
from
employees;為例,添加和刪除約束alter
table
emp
modify(empname
varchar2(50)
not
null);添加約束添加約束舉例ALTER
TABLEADD
CONSTRAINTemployeesemp_manager_fkFOREIGN
KEY(manager_id)REFERENCES
employees(employee_id);Table
altered.刪除約束從表EMPLOYEES
中刪除約束employeesemp_manager_fk;ALTER
TABLEDROP
CONSTRAINTTable
altered.無效化約束在ALTERTABLE語句中使用DISABLE子句將約束無效化。employeesemp_emp_id_pk;ALTER
TABLEDISABLE
CONSTRAINTTable
altered.激活約束ENABLE子句可將當前無效的約束激活當定義或激活UNIQUE或PRIMARY
KEY約束時系統(tǒng)會自動創(chuàng)建UNIQUE或PRIMARY
KEY索引employeesemp_emp_id_pk;ALTER
TABLEENABLE
CONSTRAINTTable
altered.SELECTconstraint_name,
constraint_type,search_conditionuser_constraintsFROMWHERE table_name
=
'EMPLOYEES';查詢約束查詢數(shù)據(jù)字典視圖USER_CONSTRAINTS…constraint_name,
colum
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年人工智能原理與技術(shù)實踐練習題及解析
- 2026年財務報告分析要點與問題解答
- 婦產(chǎn)科主治醫(yī)師考試《婦幼保健》試題及答案
- 2025年漢中職業(yè)技術(shù)學院招聘筆試真題完整參考答案詳解
- 2025年新江蘇省無錫市崇安區(qū)中級會計師考試《中級經(jīng)濟法》全真模擬試題附答案
- 電表箱布置與接線方案
- 2026年IT技能進階課程計算機編程語言應用練習題
- 33三年級數(shù)學上-第六單元-《買礦泉水》課時設計
- 深圳市南山區(qū)網(wǎng)格員考試題庫(含答案)
- 《市場營銷環(huán)》-“促銷方式”項目任務書
- 關于若干歷史問題的決議(1945年)
- 畢業(yè)論文8000字【6篇】
- 隨訪管理系統(tǒng)功能參數(shù)
- GB/T 5039-2022杉原條
- SH/T 0362-1996抗氨汽輪機油
- GB/T 23280-2009開式壓力機精度
- GB/T 17213.4-2015工業(yè)過程控制閥第4部分:檢驗和例行試驗
- FZ/T 73009-2021山羊絨針織品
- 珠海局B級安檢員資格考試試題及答案
- GB∕T 5900.2-2022 機床 主軸端部與卡盤連接尺寸 第2部分:凸輪鎖緊型
- 2011-2015廣汽豐田凱美瑞維修手冊wdl
評論
0/150
提交評論