mysql索引和数据完整性约束实验报告六及答案数据库附截图
索引和数据完整性约束
⼀、实验内容:
1、 索引的创建
2、 数据完整性约束的创建
⼆、实验项⽬:员⼯管理数据库
⽤于企业管理的员⼯管理数据库,数据库名为YGGL中,YGGL数据库中包括三个表:Employees(员⼯信息表)、Departments(部门信息表)、Salary(员⼯薪⽔情况表), 每张表的结构⾃⼰设计并创建。
mysql帮助文档员⼯信息表
部门信息表
三、实验步骤:(要求⽤命令完成以下操作)
1、 使⽤create index创建索引:
1. 对Employees表中的员⼯编号创建普通索引depart_index;
2. 对Employees表中的姓名和地址创建复合索引ad_index;
3. 对Departments表中的Departmentname创建唯⼀索引;
4. 使⽤show index查看Employees表和Departments中索引。
2、 使⽤alter table添加索引
5. 对Employees表中的出⽣时间列添加⼀个唯⼀索引date_index,姓名和性别列添加⼀个复合索引name_sex_index;
6. 先查看Departments表中是否有主键索引,如果有,请先删除主键索引;
7. 对Departments表中的部门编号创建主键索引;
8. 对Employees表中的部门编号创建外键索引。
3、 在创建表的同时创建索引
9. 创建cpk(产品编号,产品名称、单价、库存量)(每列的数据类型及长度等信息⾃定),并对产品编号列创建主键,在库存量和单价列创
建复合索引cpk_fh_index。
4、 显⽰索引
10. 使⽤show index看Employees表上的索引
5、 删除索引
11. 使⽤drop index删除索引depart_index、ad_index和date_index;
12. 使⽤alter table删除Employees表上的主键索引和外键索引。
6、 数据完整性约束
13. 创建⼀个员⼯奖⾦发放表bonus(employeeid,je),其中employeeid为主键,其值必须是Employees表中已有的员⼯编号,并且当
删除和修改Employees表中员⼯编号列时,要求bonus表中的员⼯编号列的数据也随着变化。
14. 创建雇员表emp,只考虑员⼯编号、姓名和性别3列,姓名列满⾜唯⼀约束,性别只能包括男或⼥;
15. 创建雇员表emp_1,只考虑员⼯编号和出⽣时间2列,要求出⽣时间必须⼤于1980年1⽉1⽇,并将该约束命名为birthdate_id;
16. 创建雇员表emp_2,只考虑员⼯编号和性别2列,并且确认性别中所有的值都来⾃于emp表的性别列中;
17. 创建雇员表emp_3,有员⼯编号、⼯资和扣款3列,要求⼯资必须⼤于扣款,并为该约束命名为last_salary;
最后在图形化界⾯⾥应该是这样的
因为是做完了之后从本地的doc⽂档⾥复制粘贴的图⽚,所以有些地⽅看不清楚,另外注意建表的时候,上⾯的截图是已经做完了的截图,主键、索引可能会有问题,还欢迎⼤佬指正!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论