欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MYSQL学习与数据库综合实验(六)——实体完整性实验

程序员文章站 2022-05-07 18:37:21
...

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));

MYSQL学习与数据库综合实验(六)——实体完整性实验

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);

MYSQL学习与数据库综合实验(六)——实体完整性实验

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

insert into employee1 values("100","root","本科");
insert into employee1 values("100","root","本科");

MYSQL学习与数据库综合实验(六)——实体完整性实验

insert into employee2 values("100","root","本科");
insert into employee2 values("100","root","本科");

MYSQL学习与数据库综合实验(六)——实体完整性实验

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

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

6.6本博文已经同步到个人博客,如有需要钱请移步:http://moyisuiying.com/index.php/experiment/mysqlexperiment/386.html