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

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

#3、唯一性约束:
在mysql中,可以使用关键字unique实现字段的唯一性约束,从而保证实体的完整性。
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 )约束定义了表之间的一致性关系,用于强制参照完整性。
create table stu(
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);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值