oracle约束键解析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle约束键解析
一、数据库约束的作用和分类
primarykey 和unique他们的作用是为了不让表中有重复的数据(一个表)check表示表中列的数据的范畴性的定义(一个表)
defult表示表中的默认值
foreignkey 表与表之间的联系(两个或两个以上的表)
【unique是能够包含null值的,同时一个表中能够有多个unique constraint
而primarykey在一个表中只能有一个.同时不能有null值】
二、针对约束创建有两种不同的思想
第一、创建标的时候一同将约束创建了
第二、你的表差不多创建好了,向表中添加约束
三、下面我就一一的介绍他们
一、primary key 主键约束
Ⅰ两种写法
①在差不多创建的表中添加约束
说明:添加约束的时候一定要修改表故用(alter[修改])
Alter table table1
Add primary key (列名1,列名2)
②同表一起创建
Create table table1
(列名1 数据类型是否为空primary key ,
列名1 数据类型是否为空
)
上面的是两种情形为一个字段设置主键,接下来是以多个列作为主键。
Create table table1
(
列名1 数据类型是否为空,
列名2 数据类型是否为空,
列名3 数据类型是否为空,
Primary key (列名1 ,列名2)
)
二、Check约束
那个和主键约束差不多
Alter table table1
Add unique(列名)
三、外键约束
好多的同学一直也都不明白得外键约束,到底什么才是外键?主键在那个表上?外键在那个表上?用T-SQL语句写的时候是主表在前,依旧外间表在前?等等一系列的问题!
接下来我讲给大伙儿说说那个主外键到底如何弄的。
事实上,主外键之间正如它的名字一样,他们之间有一个主从关系,一个主表,一个从表,主表上面设置的是主键,从表上面设置的是外键(foreign key),主键表中的数据发生变化的时,外键(foreign key)表的数据赶忙就发生改变。
Ⅰ向已有的表中添加一个主键(没有确实是添加,添加确实是修改表)
Alter table table1
Add foreign key (列名1)references table2(列名2)
Ⅱ创建表的时候一同创建外键
Create table table1
(列名4 数据类型是否为空primary key,
列名3 数据类型是否为空,
列名1 数据类型references table2 (列名2)
)
注:
Table1外键表
Table2主键表
列名1是主表列
列名2是外键表列
最一样常用的是主表的列和外键表的列的字段是一样的
一样多为ID 能够作为主键的。这是两个之间的交互。
四、Check约束
他也是基于一个表中的约束,限定表中列直截了当爱你数据的参照关系。
Ⅰ向一个以创建的表中添加约束
Alter tabel table1
Add constraint 约束名check(列名关于列的限制条件)
多是一些能够找到范畴的数据,例如年龄,身高,体重。
五、default 默认约束
他是一个关于某一个值的约束,他是唯独的一个用for关联词的句子
向表中添加一个默认约束
Alter tabletable1
Add default ‘默认值’for 列名
六、删除约束
删除约束也是关于表的修改故:
Alter table table1
Drop constraint 约束名
注:上面确实是我所明白得的一些约束。想要记住他们并不难
1 开头的一样差不多上alter table 表名或是create table 表名
2 在已有的表中添加约束用alter
3 与表同时创建用create
4 他们所有的关键字:
主键约束:primary key
唯独性约束:unique
外键约束:froeign key….references(参照)…..[两个表之间的关系,该是互相参照]
查询约束:….. constraint(约束)…….check[对字段查询,对字段约束]
默认约束:…….default………….for(给)……. 将前面默认的值给后边的字段
ORACLE约束总结
2019-05-13 08:36 by 潇湘隐者, 682 visits, 收藏, 编辑
你对ORACLE约束的了解如何?比较模糊依旧相当透彻?假如你对下面几个问题了如指掌的话,恭喜你,你差不多对约束把握得比较好了,不用看这篇文章了。ORACLE的约束有啥功能作用?有哪些类型约束(不同版本ORACLE是否不同)?视图有约束吗?约束是否会阻碍SQL性能?约束信息储备在哪些系统视图、数据字典中?约束能否修改名称?能否禁用约束?延迟约束有啥好处.......
约束定义
约束是强加在表上的规则或条件。确保数据库满足业务规则。保证数据的完整性。当对表进行DML或DDL 操作时,假如此操作会造成表中的数据违反约束条件或规则的话,系统就会拒绝执行那个操作。约束能够是列一级别的也能够是表级别的。定义约束时没有给出约束的名字,ORACE系统将为该约束自动生成一个名字,其格式为SYS_Cn,其中n为自然数(强烈建议各位在创建表或增加约束时,给约束定义名称。).
约束功能
约束的功能:实现一些业务规则,防止无效的垃圾数据进入数据库,爱护数据库的完整性(完整性指正确性与一致性)。从而使数据库的开发和爱护都更加容易。