MYSQL学习与实验(六)——实体完整性实验

发布于 2020-12-05  1411 次阅读


6.实体完整性实验

6.1定义

实体完整性:是指保证表中所有的行唯一。实体完整性要求表中的所有行都有一个唯一标识符。这个唯一标识符可能是一列,也可能是几列的组合,称为主键。也就是说,表中的主键在所有行上必须取唯一值。强制实体完整性的方法有:索引、UNIQUE约束、PRIMARY KEY约束或IDENTITY属性。

​ 如:student表中sno(学号)的取值必须唯一,它唯一标识了相应记录所代表的学生,学号重复是非法的。学生的姓名不能作为主键,因为完全可能存在两个学生同名同姓的情况。

6.2创建表时定义实体完整性:创建一个表 employee1,只含employeeID、name、gender和education列。以name为主键作为列name的完整性约束,employeeID为替代键作为表的完整性约束。

create table if not exists employee1(employeeID varchar(6) not null unique,name varchar(10) primary key,education varchar(10));
在这里插入图片描述

6.3创建表后定义实体完整:定义不含主键的表employee2,包含上述属性列,然后定义实体完整性,以employeeID为主码.

create table if not exists employee2( employeeID varchar(6) not  null,name varchar(10) not null,education varchar(6));
 alter table employee2 add primary key(employeeID);
在这里插入图片描述

6.4.设计记录增加到employee1表和employee2表,验证实体完整性是否起作用

insert into employee1 values("100","root","本科");
insert into employee1 values("100","root","本科");
在这里插入图片描述
insert into employee2 values("100","root","本科");
insert into employee2 values("100","root","本科");
在这里插入图片描述

可见employee1和employee2的完整性都得到了验证。

6.5详细的实验资料以及指导PPT请访问笔者GitHub地址:https://github.com/LJF2402901363/database_experiment.git


繁华落尽,雪花漫天飞舞。