约束
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
开发工具与关键技术:Oracle sql*plus PLSQL Developer
作者:朱海恩
撰写时间: 2019.03.26
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 约束是表级的强制规定,有以下五种约束:
--NOT NULL (非空约束)
--UNIQUE (唯一约束) 唯一性约束:对非空的值有唯一性要求,对空值没有唯一
--PRIMARY KEY (主键约束)主键约束:唯一确认一行记录。表明此属性:非空,唯一
--FOREIGN KEY (外键约束) 关键字:references
–ON DELETE CASCADE(级联删除): 当父表中的列被删除时,子表中相对应的列也被删除
–ON DELETE SET NULL(级联置空): 子表中相应的列置空
--CHECK (检查性约束)
2、约束需要注意的地方
1). ** 非空约束(not null)只能定义在列级
2). ** 唯一约束(unique)的列值可以为空
3). ** 外键(foreign key)引用的列起码要有一个唯一约束
4). ** 如果不指定约束名,oracle server自动按照SYS_Cn的格式指定约束名
5). ** 创建和修改约束:建表的同时 建表之后
6). ** 可以在表级或列级定义约束
7).** 可以通过数据字典视图查看约束
3、表级约束和列级约束:
1、作用范围:
(1)、列级约束只能作用在一个列上
(2)、表级约束可以作用在个列上(当然表级约束也可以作用在一个列上)
2、定义方式:列约束必须跟在列的定义后面,表约束不与列一起,而是单独定义。
3、非空 (not null)约束只能定义在列上
当定义或** UNIQUE 或 PRIMARY KEY 约束时系统会自动创建 UNIQUE 或 PRIMARY KEY 索引