Oracle数据库约束详解

Oracle基础 02/19 阅读 2469 views次 人气 387
摘要:

Oracle数据库提供的约束: 主键约束、唯一键约束、非空约束、检查性约束和外键约束

Oracle数据库提供的5种约束,约束的作用,保证数据的完整性,防止无效的数据进入到数据库中:

1.  主键约束(PRIMARY KEY):

一个表中能唯一标识的一行,主键可以限定在多个列上。

2.  唯一键约束(UNIQUE key):

一个表中能唯一的标识一行,唯一键也可以限定在多个列上。和主键约束的区别: 一个表中最多只能有一个主键,可以多个唯一键。

3.  外键约束(FOREIGN key):

引用表:有外键约束的列所在的表,被引用表:外键所引用的列,被引用的列只能是主键或者唯一键。

4.  非空约束(NOT null):

表示该列上的数据不能有null值。

5.  检查性约束(check):

表示该列上的数据必须满足某一个条件表达式。

 

创建表(主键约束、唯一键约束、非空约束、检查性约束和外键约束):

create table group(

        id number(10) primary key,

        name varchar(10) not null

);

create table user(

        id number(10) primary key,

        name varchar(10) not null,

        gender varchar(2) check(gender IN ('男','女')),

        mail varchar2(30) unique,

        group_id number(10) references group(id)

);

 

创建表并给约束命名:

create table user(

       id number(10) constraint pk_user_id primary key,

       name varchar(10) constraint nk_user_name not null,

       gender varchar(2) constraint ck_user_gender check(gender IN ('男','女')),

       mail varchar2(30) constraint nk_user_mail unique,

       group_id number(10) constraint fk_user_group_id references group(id)

);

 

创建表之后创建约束

alter table 表名 add [constraint 约束名] 约束类型 [(列名列表)]

// 添加主键约束

alter table user add constraint pk_user_id primary key(id);

// 添加非空约束

alter table user add constraint nk_user_name not null(name);

// 添加检查性约束

alter table user add constraint ck_user_gender check(gender IN ('男','女'));

// 添加唯一性约束

alter table user add constraint nk_user_mail unique(mail);

// 添加外键约束

alter table user add constraint fk_user_group_id foreign key(id) references group(id);

评论

该文章不支持评论!

分享到: