西华大学数据库实验报告(四)_第1页
西华大学数据库实验报告(四)_第2页
西华大学数据库实验报告(四)_第3页
西华大学数据库实验报告(四)_第4页
西华大学数据库实验报告(四)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第4次作业数据完整性约束一、环境运行SQL Server,已创建名为student数据库、“学生信息”表、“课程”表、“学生成绩”表。(参考作业二)二、实训内容(1)在“学生信息”表上添加主键约束。最后删除主键约束。use studentgoalter table 学生信息_蒲强林add constraint PK_学生信息_学号 primary key(学号)go运行结果截图:use studentgoalter table 学生信息_蒲强林drop constraint PK_学生信息_学号go运行结果截图:(2)在“学生信息”表中添加“身份证号码”字段,对该字段定义唯一键约束(插入几行记

2、录看效果)。最后删除唯一键约束。use studentgoalter table 学生信息_蒲强林add 身份证号码 nchar(18) uniquego运行结果截图:use studentgoinsert 学生信息_蒲强林values (001,张三,男,18,计算机系5113211993)insert 学生信息_蒲强林values (002,李四,男,19,数学系5113211993)go运行结果截图:再次插入身份证号码为“5113211993”的学生信息时,出现唯一键冲突。use studentgoalter table 学生信息_蒲强

3、林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,计算机系51132119

4、93)insert 学生信息_蒲强林values (002,李四,男,19,数学系5113211889)go运行结果截图:当添加不满足检查约束的 学生信息时,发生冲突。(4)在“学生成绩”表中的“分数”字段定义检查约束,让分数范围在0-100之间(插入几行记录看效果)。最后删除检查约束。use studentgoalter table 学生成绩_蒲强林with nocheckadd constraint CK_学生成绩_分数 check(分数 between 0 and 100)go运行结果截图:use studentgoinsert 学生成绩_蒲强林values (

5、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,王五,defa

6、ult,18,计算机系,1821111118,5333211993)insert 学生信息_蒲强林values (4,李三,default,19,数学系4413211993)go运行结果截图:(6)在“学生成绩”表中为“课程号”字段建立一个带有级联更新功能的外键,其主键是“课程”表的“课程号”字段,当更新“课程”表中的“课程号”时,同时更新“学生成绩”表中的“课程号”数据(修改几行记录看效果)。use studentgoalter table 学生成绩_蒲强林add constraint FK_学生成绩_学号 foreign key(课程号)references 学生

7、课程_蒲强林(课程号) 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 课程号 =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论