西华大学数据库实验报告四稻谷书屋

上传人:仙*** 文档编号:35470600 上传时间:2021-10-27 格式:DOC 页数:7 大小:128.50KB
返回 下载 相关 举报
西华大学数据库实验报告四稻谷书屋_第1页
第1页 / 共7页
西华大学数据库实验报告四稻谷书屋_第2页
第2页 / 共7页
西华大学数据库实验报告四稻谷书屋_第3页
第3页 / 共7页
点击查看更多>>
资源描述
第4次作业数据完整性约束一、环境运行SQL Server,已创建名为student数据库、“学生信息”表、“课程”表、“学生成绩”表。(参考作业二)二、实训内容(1)在“学生信息”表上添加主键约束。最后删除主键约束。use studentgoalter table 学生信息_蒲强林add constraint PK_学生信息_学号 primary key(学号)go运行结果截图:use studentgoalter table 学生信息_蒲强林drop constraint PK_学生信息_学号go运行结果截图:(2)在“学生信息”表中添加“身份证号码”字段,对该字段定义唯一键约束(插入几行记录看效果)。最后删除唯一键约束。use studentgoalter table 学生信息_蒲强林add 身份证号码 nchar(18) uniquego运行结果截图:use studentgoinsert 学生信息_蒲强林values (001,张三,男,18,计算机系,18288888888,5113211993)insert 学生信息_蒲强林values (002,李四,男,19,数学系,18200000008,5113211993)go运行结果截图:再次插入身份证号码为“5113211993”的学生信息时,出现唯一键冲突。use studentgoalter table 学生信息_蒲强林drop constraint UQ_学生信息_蒲强林_882AE7177D582703go运行结果截图:(3)对“学生信息”表中的“年龄”定义检查约束,要求年龄在18-25之间,但对已有不符合约束的数据不进行检查(插入几行记录看效果)。use studentgoalter table 学生信息_蒲强林with nocheckadd constraint CK_学生信息_年龄 check(年龄 between 18 and 20)go运行结果截图:use studentgoinsert 学生信息_蒲强林values (001,张三,男,11,计算机系,18288888888,5113211993)insert 学生信息_蒲强林values (002,李四,男,19,数学系,18200000008,5113211889)go运行结果截图:当添加不满足检查约束的 学生信息时,发生冲突。(4)在“学生成绩”表中的“分数”字段定义检查约束,让分数范围在0-100之间(插入几行记录看效果)。最后删除检查约束。use studentgoalter table 学生成绩_蒲强林with nocheckadd constraint CK_学生成绩_分数 check(分数 between 0 and 100)go运行结果截图:use studentgoinsert 学生成绩_蒲强林values (3120081,101,86) insert 学生成绩_蒲强林values (3120081,102,155)go运行结果截图:当添加不满足检查约束的学生成绩时,发生冲突。use studentgoalter table 学生成绩_蒲强林drop CK_学生成绩_分数go(5)对“学生信息”表中的“性别”定义默认约束(插入几行记录看效果)。use studentgoalter table 学生信息_蒲强林add constraint DF_学生信息_性别 default 男 for 性别go运行结果截图:use studentgoinsert 学生信息_蒲强林values (3,王五,default,18,计算机系,1821111118,5333211993)insert 学生信息_蒲强林values (4,李三,default,19,数学系,18200000008,4413211993)go运行结果截图:(6)在“学生成绩”表中为“课程号”字段建立一个带有级联更新功能的外键,其主键是“课程”表的“课程号”字段,当更新“课程”表中的“课程号”时,同时更新“学生成绩”表中的“课程号”数据(修改几行记录看效果)。use studentgoalter table 学生成绩_蒲强林add constraint FK_学生成绩_学号 foreign key(课程号)references 学生课程_蒲强林(课程号) on update cascadego运行结果截图:use studentgoselect *from 学生成绩_蒲强林goupdate 学生课程_蒲强林set 课程号 = 0001where 课程号 = 0000001goselect *from 学生成绩_蒲强林go运行结果截图:(7)在“学生成绩”表中为“课程号”字段建立一个带有级联删除功能的外键,其主键是“课程”表的“课程号”字段,当删除“课程”表中的某一行记录时,同时删除 “学生成绩”表所有这门课程的成绩数据(删除几行记录看效果)。use studentgoalter table 学生成绩_蒲强林add constraint FK_学生成绩_课程号1 foreign key(课程号)references 学生课程_蒲强林(课程号) on delete cascadego运行结果截图:use studentgoselect *from 学生成绩_蒲强林godelete 学生课程_蒲强林where 课程号 = 0001 or 课程号 = 0000002 or 课程号 = 0000003 or 课程号 = 0000004goselect *from 学生成绩_蒲强林go运行结果截图:二、作业小结总结建立数据完整性的方法和步骤。掌握并理解如何使用约束、默认、规则完成数据完整性的建立。体会数据完整性的作用和地位。7习题与教育
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!