实验六 索引和数据完整性约束

Posted lvwuwa

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验六 索引和数据完整性约束相关的知识,希望对你有一定的参考价值。

 

   实验六索引和数据完整性约束

一、  实验内容:

1、 索引的创建

2、 数据完整性约束的创建

二、  实验项目:员工管理数据库

用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表)、Departments(部门信息表)、Salary(员工薪水情况表)。

三、  实验步骤:(要求用命令完成以下操作)

1、 使用create index创建索引:

1)       对Employees表中的员工编号列创建普通索引depart_index;

 技术图片

 

2)       对Employees表中的姓名和地址列创建复合索引ad_index;

 技术图片

 

3)       对Departments表中的Departmentname列创建唯一索引;

 技术图片

 

4)       使用show index看Employees表和Departments中索引。

 

 技术图片

技术图片

 

2、 使用alter table添加索引

1)       对Employees表中的出生时间列添加一个唯一索引date_index,姓名和性别列添加一个复合索引name_sex_index;

 技术图片

 

2)       先查看Departments表中是否有主键索引,如果有,请先删除主键索引;

 

 技术图片

 

 技术图片

 

3)       对Departments表中的部门编号创建主键索引;

 技术图片

 

4)       对Employees表中的部门编号列创建外键索引。

 技术图片

 

3、 在创建表的同时创建索引

1)       创建cpk(产品编号,产品名称、单价、库存量)(每列的数据类型及长度等信息自定),并对产品编号列创建主键,在库存量和单价列创建复合索引cpk_fh_index。

 技术图片

 

4、 显示索引

1)       使用show index看Employees表上的索引

 技术图片

 

5、 删除索引

1)       使用drop index删除索引depart_index、ad_index和date_index;

 技术图片

 

 技术图片

 

 技术图片

 

2)       使用alter table删除Employees表上的主键索引和外键索引。

 技术图片

 

6、 数据完整性约束

1)       创建一个员工奖金发放表jj(employeid,je),其中employeid为主键,其值必须是Employees表中已有的员工编号,并且档删除和修改Employees表中员工编号列时,要求jj表中的员工编号列的数据也随着变化。

 技术图片

 

2)       创建雇员表emp,只考虑员工编号、姓名和性别3列,姓名列满足唯一约束,性别只能包括男或女;

 技术图片

 

3)       创建雇员表emp_1,只考虑员工编号和出生时间2列,要求出生时间必须大于1980年1月1日,并将该约束命名为birthdate_id;

 技术图片

 

4)       创建雇员表emp_2,只考虑员工编号和性别2列,并且确认性别中所有的值都来自于emp表的性别列中;

 技术图片

 

5)       创建雇员表emp_3,有员工编号、工资和扣款3列,要求工资必须大于扣款,并为该约束命名为last_salary;

 技术图片

 

四、  实验报告要求

1、 实验报告格式要求

包括内容:标题、实验内容、实验步骤、实验中遇到的问题及解决方案

2、 实验报告内容要求

(1)     标题参看实验指导标题+“实验报告”,如“实验一 mysql的安装与命令初步实验报告”;

(2)     实验内容与实验指导中相同;

(3)     实验步骤中将自己实验中的每个步骤的命令和操作结果显示界面进行截图完善。

(4)     实验中遇到的问题及解决方案中如实地将自己的问题的解决过程记录出来。

3、 实验报告提交要求

每次实验课结束之后,每个人需要提交实验报告,实验报告命名为:学号姓名

五、  补充说明

实验报告的提交和完成情况将作为期末考评的一部分,希望每位同学认真完成每次安排的实验,并按要求按时提交实验报告。

 

 

以上是关于实验六 索引和数据完整性约束的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束

数据库原理实验(openGauss)完整性控制

约束和索引

MySQL数据库 *实验15 数据完整性约束

关系型数据库的完整性---锁 约束 键 索引

Mysql 完整性约束