实验4 数据完整性

更新时间:2024-05-30 17:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

练习2 实现数据的完整性

(脚本保存为“练习2——学号+姓名.sql”,并将脚本上传到ftp)

一、创建名为mydb1的数据库

二、在mydb1数据库中按照下表所示.创建Student,teacher,test,test_score表

student 属性名 student_id name sex age 数据类型 int varchar char int 长度 20 2 可否为空 否 否 否 可 说明 默认值“男”

teacher

属性名 teacher_id name sex age birthdate workdate 数据类型 int varchar char int datetime datetime 长度 20 2 可否为空 否 否 否 可 可 可 说明 主键

test 属性名 test_id test_name teacher_id 数据类型 int varchar int 长度 20 可否为空 否 可 否 说明 主键

test_score

属性名 student_id test_id score 数据类型 int int int 长度 可否为空 否 否 可 说明

三、添加删除约束

1. 将student表中的student_id设置为“主键”;

2. 在student表中添加专业列institute,最长是10个汉字,不允许为空,默认值为“计算机软件”;

3. 修改Student表中列sex上的默认值为‘女’;

4. 在teacher表中对age列添加约束,年龄在18-60之间; 5. 在teacher表中添加约束,工作时间必须大于生日;

6. 将test_score表中的student_id和test_id设置为“主键”; 7. 将test_score表中的score设置检查约束,成绩值在0-100之间; 8. 设置外键:test表中的teacher_id参照teacher表中的teacher_id;

9. 设置外键:test_score表中的student_id参照student表中的student_id,test_id参照test表中的test_id;

10. 执行下面的语句,验证以上操作:(说明:大家仔细查看表的信息,是否与图示一致)

sp_help student

sp_help teacher

sp_help test_score

11. 形成这4张表的关系图,如下所示:(说明:大家查看自己创建的关系图与图示是否一致)

12. 执行下面语句,得到如下结果:

insert student values(1,'白云','女',22,'电子科技大学计算机系'); insert student values(2,'黑土','男',21,'电子科技大学计算机软件系');

执行语句:select * from student 得到如下结果:

*13. 执行下面语句:(可以选做,查看帮助文档,实现禁用约束) insert teacher values(1,’Smith’,’男’,28,null,null)

insert test values(1,’数据库’,1) go

insert test_score values(1,1,120) go

如出现错误,请用禁用约束的方法将该记录插入。

本文来源:https://www.bwwdw.com/article/wg96.html

Top