索引和数据完整性约束
一、实验内容:
1、 索引的创建
2、 数据完整性约束的创建
二、实验项目:员工管理数据库
用于企业管理的员工管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员工信息表)、Departments(部门信息表)、Salary(员工薪水情况表), 每张表的结构自己设计并创建。
员工信息表
部门信息表
三、实验步骤:(要求用命令完成以下操作)
1、 使用create index创建索引:
- 对Employees表中的员工编号创建普通索引depart_index;
- 对Employees表中的姓名和地址创建复合索引ad_index;
- 对Departments表中的Departmentname创建唯一索引;
- 使用show index查看Employees表和Departments中索引。
2、 使用alter table添加索引 - 对Employees表中的出生时间列添加一个唯一索引date_index,姓名和性别列添加一个复合索引name_sex_index;
- 先查看Departments表中是否有主键索引,如果有,请先删除主键索引;
- 对Departments表中的部门编号创建主键索引;
- 对Employees表中的部门编号创建外键索引。
3、 在创建表的同时创建索引 - 创建cpk(产品编号,产品名称、单价、库存量)(每列的数据类型及长度等信息自定),并对产品编号列创建主键,在库存量和单价列创建复合索引cpk_fh_index。
4、 显示索引 - 使用show index看Employees表上的索引
5、 删除索引 - 使用drop index删除索引depart_index、ad_index和date_index;
- 使用alter table删除Employees表上的主键索引和外键索引。
6、 数据完整性约束 - 创建一个员工奖金发放表bonus(employeeid,je),其中employeeid为主键,其值必须是Employees表中已有的员工编号,并且当删除和修改Employees表中员工编号列时,要求bonus表中的员工编号列的数据也随着变化。
- 创建雇员表emp,只考虑员工编号、姓名和性别3列,姓名列满足唯一约束,性别只能包括男或女;
- 创建雇员表emp_1,只考虑员工编号和出生时间2列,要求出生时间必须大于1980年1月1日,并将该约束命名为birthdate_id;
- 创建雇员表emp_2,只考虑员工编号和性别2列,并且确认性别中所有的值都来自于emp表的性别列中;
- 创建雇员表emp_3,有员工编号、工资和扣款3列,要求工资必须大于扣款,并为该约束命名为last_salary;
最后在图形化界面里应该是这样的
因为是做完了之后从本地的doc文档里复制粘贴的图片,所以有些地方看不清楚,另外注意建表的时候,上面的截图是已经做完了的截图,主键、索引可能会有问题,还欢迎大佬指正!
版权声明:本文为qq_51135343原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。