Oracle-约束

一、约束的作用

约束用于保证数据库数据的完整性和可靠性。

二、约束的分类

1、主键约束

2、外键约束

3、唯一性约束

4、非空约束

5、检查约束

6、默认值约束

三、约束详解

主键约束

1、主键的意义

       a、防止出现重复的数据--实现实体完整性

             通过主键保证数据表的数据不会出现重复

 

       b、检索有利

             主键可以唯一的标识一条记录,将主键作为搜索条件,可以最快、最方便地获得目标数据。

 

       c、支持外键

             外键描述了表与表之间的关系。如果需要在表A上建立外键,并将外键指向另一个表B,被

             指向的表 B必须提供主键支持。

 

2、主键约束简介

       a、主键不一定只有一列

             主键可以包含多列,即复合主键。

 

       b、通常选用单列主键

             进行数据检索时,单列主键只需搜寻一个条件即可         

           

       c、自增的数值型主键比较受欢迎

             自增的数值型主键大多是无意义的、与业务无关的流水号。当应用系统的业务发生变化的

             时候,如果表结构发生变化,此时无意义的、与业务无关的流水号几乎不受影响。数据库

             迁移、数据合并时,处理的成本往往更小。

 

 3、创建主键约束

               a、创建表的同时,定义主键约束

                     在主键列后加  primary key

               b、创建表后,添加主键约束

                     

alter table 表名 add primary key (列名1,列名2...)

             

                  c、为主键命名

alter table 表名 add constraint 约束名称 primary key (列名1,列名2...)

       

         4、查询主键约束

通过user_constraints查看主键约束
select table_name,constraint_name,constraint_type,status from user_constraints where table_name='';

         5、修改主键约束

                 a、禁用/启用主键

                

--禁用
alter table 表名 disable primary key
--启用
alter table 表名 enable primary key

                

                b、重命名主键

alter table 表名 rename constraint 原主键名称 to 新主键名称

外键约束

        1、主键的意义      

               外键保证数据的参照完整性。

               在两个表之间,一个表中的记录依附于另一个表的记录而存在,称为表的参照完整性。

         

        2、外键约束简介

                 外键实际是一个引用。数据表有自己的主键,而向外部数据表的引用,称为外键。

                 外键实际隐含了对外部引用的限制-必须获得外部数据表的唯一记录。

        3、创建外键约束

alter table 表名 add constraint 约束名 foreign key(外键列名) references 主表(主表主键列)
--alter table 表名               修改从表的属性
--add constraint 约束名          为表添加约束
--foreign key(外键列名)         指定约束的具体类型
--references 主表(主表主键列)   指定引用信息(主表及主表的主键列)

        4、级联更新与级联删除

唯一性约束

非空约束

检查约束

默认值约束

猜你喜欢

转载自768992698.iteye.com/blog/2268758
今日推荐