实验六数据库的完整性定义与检查

实验六数据库的完整性定义与检查

ID:24178032

大小:72.00 KB

页数:4页

时间:2018-11-13

实验六数据库的完整性定义与检查_第1页
实验六数据库的完整性定义与检查_第2页
实验六数据库的完整性定义与检查_第3页
实验六数据库的完整性定义与检查_第4页
资源描述:

《实验六数据库的完整性定义与检查》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验六数据库的完整性定义与检查实验H的:1.充分理解关系数据库中关丁•数据库完整性的概念。2.掌握实体完整性的定义和检查方法。3.掌握参照完整性的定义和检査方法。4.掌握用户自定义完整性的定义和检查方法。实验内容:一、在企业管理器中定义以下数据表中各字段的完整性约束(包括实体完整性、参照完整性和用户定义完整性)。1.Student表。记录学生基本信息。表1-1Student表结构列名说明数据类型约束Sno学号字符串,长度为7主码Sname姓名字符串,长度为10非空Ssex性别字符串,长度为2取“男”或“女”Sage年龄整数取值15-45

2、Sdept所在系字符串,长度为20默认为“计算机系”CREATETABLE[dbo].[Student]([Sno][char]⑼PRIMARYKEY[Sname][char]8NOTNULL,[Ssex][char】2:CHECK(SsexIN('女?男•)),[Sage]SMALLINTCHECK(Sage>=15ANDSage<=45)z[Sdept][char](20)defaultf计算机)2.Course表。记录课程信息。表12Course表结构列名说明数据类型约束Cno课程号字符串,长度为10主码Cname课程名字符串,长

3、度为20非空Ccredit学分整数取值大于0Semester学期整数取值大于0Period学时整数取值大于0CREATETABLE[dbo].[Course]([Cno][char](10)PRIMARYKEY,[Cname][char](20)NOTNULL,[Ccredit]SMALLINTCHECK(Ccredit〉O),[Semester]SMALLINTCHECK(Semester>0),[Period]SMALLINTCHECK(Period>0),1.Sc表。记录学生选修课程的信息。表1-3Sc表结构列名说明数据类型约束S

4、no学号字符申,长度为7主属性,引用Student的外码Cno课程号字符申,长度为10主属性,引用Course的外码Grade成绩整数取0-100CREATETABLE[dbo].[SC]([Sno][char](9)NOTNULL,[Cno][char](10)NOTNULL,[Grade]SMALLINTCHECK(Grade>=0andGrade<=100),PRIMARYKEY(Sno.Cno),FOREIGNKEY(Sno)REFERENCESStudent(Sno),FOREIGNKEY(Cno)REFERENCESCour

5、se(Cno))二、在查询编辑器中,写山创建表的语句同时写山设置实体完整性、参照完整性和用户自定义完整性的语句。三、完整性检查(在查询编辑器中输入SQL语句,执行语句后,DBMS自动进行完整性的检查)1.实体完整性检查(1)在STUDENT表中插入一条学生记录,其中插入的学号值为表中己存在的一个学号值,执行语句,查看结果。insertintostudent(sno.sname^sex.sage.sdept)values('0012?冯小楠•,•女?20?CS'}消息2627,级别14,状态1,第1行违反了PRIMARYKEY约束Tl^S

6、tudent1。不能在对象•dbo.studenf屮插入甫复键。语句己终止。(1)在SC表中插入一条学生选课记录,学号值为空或课程号值为空,执行语句,查看结果。intoSC(sno,eno,grade)values("/00290)消息547,级别16,状态0,第l行INSERT语句与FOREIGNKEY约來"FK_ScJtudent"冲突。该冲灾发生于数据库"StudentScore",表"dbo.Student",column'Sno'o语句己终止。1.参照完整性检查(1)在SC表屮插入一条学生选课记泶,插入的学号值为STUDEN

7、T表屮没有的一个学号,或插入的课程号的值为COURSE表屮没有的一个课程号。insertintoSC(sno,eno,grade)values('0013';002',90)消息547,级别16,状态0,第l行INSERT语句与FOREIGNKEY约來"FK_ScJtudent"冲突。该冲灾发生于数据库"StudentScore",表"dbo.Student",column■Sno.o语句己终止。(2)修改STUDENT表中某一学生的学号值,该学生在SC表中有选课记录,执行语句,查看结果。updatestudentsetsno=0016

8、wheresname=’何楠1消息547,级别16,状态0.第1行UPDATEi吾句与REFERENCE约束"FKJcJtudent"冲突。该冲灾发生子数据库"StudentScore",农"dbo.Sc1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。