数据完整性就是正确性和完整性,完整性约束就是当为某一列建立了某种约束,则当数据插入、修改和删除时,Oracle会自动校验你的变动是否违背了建立的约束,违背了是无法变动的。
在Oracle中,维护数据完整性的约束有五种:not null、unique、check、primarykey、foreign key
not null例如学生的姓名;not null只能在列内定义,其他4种约束可以在列定义结束后,在表内定义。
unique例如学生的学号;不可以重复,但是可以为空;但是null也可以重复
primarykey主键;不可以重复,也不能为空;一个表只能一个primary key,却可以多个unique。
foreign key外键、
check可以按照用户要求,进行自动检查。
示例:
1、not null示例:
createtable yg2(bh number(4) not null,xm varchar2(8));
2、check示例:
createtable yg3(bh number(4) not null check (bh>0 and bh<10000), xm varchar2(8));
3、unique示例:
createtable yg4(部门号 number(4) not null, 部门内号 number(4) , xm varchar2(8) ,unique(部门号,部门内号) );
4、primarykey示例(此列不允许为空,而且ORACLE会自动为主键列创建索引,这里的primarykey约束由用户显式起名):
createtable student(xh number(6) constraint code_pk primary key , xm varchar2(20));
5、foreignkey示例(实现两个表之间参照与被参照的关系,外键只能取主键已经有的值,这里的foreign key由系统自动起名):
createtable address (xh number(8) ,zz varchar2(50) , foreign key(xh) references student(xh));
default的使用
create table gz_新员工 (bh number(4),xm varchar2(8),gz number(10) default 1000 );