学习笔记(04):MySQL数据库入门实战精讲-数据完整性

立即学习: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;

 

 

 

用户自定义完整性

某一具体应用需求

约束方法:规则、存储过程、触发器

你可能感兴趣的:(研发管理)