第二章:数据库与表的基本操作-数据完整性

直接学习:https://edu.csdn.net/course/play/27328/362521
数据完整性:
#1、什么是数据完整性:
数据完整性是指存储在数据库中的数据,应该保持一致性和可靠性。关系模型允许定义三类数据约束,它们是实体完整性,参照完整性以及用户定义的完整性约束。
在这里插入图片描述
#2、实体完整性:
实体完整性要求每一个表都有唯一标示符,每张表的关键字段不能为空且不能重复。
约束方法:唯一性约束,主键约束,标识列。
域完整性:
域完整性针对某一具体关系数据库的约束条件,它保证表中某些列不能出现无效的值。
约束方法:限制数据类型,检查约束,默认值,非空约束
参照完整性:
参照完整性要求关系中不能引用不存在的实体。
约束方法:外键约束
用户自定义完整性:
用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足语法要求。
约束方法:规则,存储过程,触发器

#3、唯一性约束:
在mysql中,可以使用关键字unique实现字段的唯一性约束,从而保证实体的完整性。
create table stu(
create table person(
id int not null auto_increment primary key comment ‘主键id’,
name varchar(30) comment ‘姓名’,
id_number varchar(18) unique comment ‘身份证号’
);
insert into person (name, id_number) values (‘张三’,‘458916958556895145’);
insert into person (name, id_number) values (‘李四’,‘458916958556895145’);

#4、外键约束:
外键(foreign key )约束定义了表之间的一致性关系,用于强制参照完整性。
stu_no int not null primary key comment ‘学号’,
stu_name varchar(30)comment ‘姓名’
);
insert into stu(stu_no,stu_name) values (‘20102030’,‘张三’),(‘20102031’,‘李四’);
create table sc(
id int not null auto_increment primary key comment ‘主键id’,
stu_no int not null comment ‘学号’,
course varchar(30) comment ‘课程’,
grade int comment ‘成绩’,
foreign key(stu_no) references stu(stu_no)
);
insert into sc(stu_no, course,grade) values (‘20102030’,‘计算机’,100);
insert into sc(stu_no, course,grade) values (‘20102031’,‘计算机’,55);
insert into sc(stu_no, course,grade) values (‘20102032’,‘计算机’,88);

发布了107 篇原创文章 · 获赞 6 · 访问量 968

猜你喜欢

转载自blog.csdn.net/weixin_43597208/article/details/105423585