立即学习:https://edu.csdn.net/course/play/27328/362521?utm_source=blogtoedu
数据完整性
实体完整性
要求每张表单都有唯一标识符,每张表的主键字段不能为空且不能重复
约束方法:唯一性约束、主键约束、标识列
操作:可以加unique来限制两条数据的同一个字段不能有相同值
eg.
create table person(
id int not null auto_increment primary key ,
name varchar(30),
number varchar(11) unique
);
number是唯一的,不可重复的
域完整性
针对某一个具体关系数据库的约束条件,保证表单中某些列不能输入无效的值
约束方法:限制数据类型、检查约束、默认值、非空约束
参照完整性
要求关系中不允许用不存在的实体
约束方法:外键约束
方法:加入foreign key
eg.
主表
craete table stu(
stu_no int not null primary key,
stu_name varchar(30)
);
从表
create table sc(
id int not null auto_increment primary key,
stu_no int not null,
course varchar(20),
grade int,
foreign key(stu_no) references stu(stu_no)
);
表明sc的stu_no和stu里的stu_no相关联,sc里面不能输入stu里面没有的stu_no
如果想解除此reference,使用set foreign_key_checks =0
如果想恢复,则使用set foreign_key_checks =num(1、2、3....)
如果想查询有几个字段有reference,使用select @@foreign_key_checks;
用户自定义完整性
某一具体应用需求
约束方法:规则、存储过程、触发器