数据完整性控制实验报告

数据完整性控制实验报告

ID:24534638

大小:74.00 KB

页数:4页

时间:2018-11-15

数据完整性控制实验报告_第1页
数据完整性控制实验报告_第2页
数据完整性控制实验报告_第3页
数据完整性控制实验报告_第4页
资源描述:

《数据完整性控制实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验报告专业:计算机科学与技术课程:数据库系统原理实验序号:4实验名称:数据完整性控制成绩:班级:13计本学号:40姓名:一、实验目标:■掌握使用SQL语句定义实体完整性、参照完整性和用户定义的完整性的方法■熟悉三类完整性的检查和违约处理■熟悉完整性约束命名子句的作用和使用■掌握使用触发器实现完整性控制的方法二、实验内容及操作步骤:今实验准备:启动SQLServerManagementStudio,先创建数据库shiyan4并打开。(一)实体完整性1.根据p.153图5-1,创建部门关系“Depts”,设置其主键为部

2、门号“Dno”;并按图添加数据。(方式不限)2.在表屮再添加一条元组,部门号为“D01”、部门名任意,错误信息为:错误消息违5了PRIMARYKEY约束'PK.Depts^不能在7T彔•dbo.Depts*口插入重复键。3.在表中再添加一条元组,部门号为空(NULL)、部门名任意,错误信息为:错误消息:不能将值NULL插入列’Dno1,表•实验.dbo.Depts1;列不允件有Null值。INSERT失敗。(二)参照完整性1.按照下列语句创建职工关系“Employees”,设置部门号“Dno”的取值参照部门关系的部门

3、号,并定义以下违约处理:当删除一个部门时,该部门职工的部门号设为空值;当修改一个部门的部门号时,该部门职工的部门号一起被修改。请将语句补充完整。CreateTableEmployees(EnoChar(3)PrimaryKey,EnameChar(8),DnoChar(10),ForeignKey(Dno)REFERENCESDepts(Dno)OnDeleteSetNullOnUpdateCascade)2.在Employees表巾添加一条元组,职工号非空唯一、部门号为“D09”的记录,错误信息为:错误消息:INS

4、ERT语0与FOREIGNKEY约束■FK_Employees_Dno_03317E3D■冲突。该冲突g生于数据库■实验■r表"dbo.Depts'column'Dno'o1.在.Employees表中添加若干部门号为“D01”的元纟11,再在Depts关系中将“D01”改为“D09”,观察Employees中的变化:所有D01的都变成了D09。2.在Depts关系屮将部门号为“D09”的元组删除,观察Employees关系屮的变化:表屮原来所有D09的值都变成了空值。(一)用户定义的完整性1.按照下列语句创建关系:

5、(1)课程关系“Courses”,设置课程名“Cname”取值唯一,学分“Credit”的取值大于0、小于等于5;⑵学生关系“Studms”,设賈学生姓名“Sname”不能为空,性别“Ssex”的取值为“男”或“女”,系名“Sdept”的默认值为“信工系”。请将语句补充完整。CreateTableCourses(CnoChar(4)PrimaryKey,CnameChar(20)UNIQUE,CreditfloatCHECK(Credit〉0andCredit<=5))CreateTableStudents(SnoC

6、har(10)PrimaryKey,SnameChar(16)notnullSsexChar(2)check(Ssexinf奥7女’))SdeptChar(20)default‘信工系’)2.在Courses表中添加两条课程号Cno不同、课程名Cname—样的元纟JI,错误信息为:驗W息:违S7UNIQUEKEY约束'UQ_Courses_9F5E02991367E606'e7:能E7T象"dbo.Courses•中插A*复键。3.将Courses表屮一条元组的学分Credit改为“6”,错误信息为:错冤肖息:INS

7、ERT语句与CHECK约束■CK_Courses_Credit_15502E78■冲突。该冲突g生于数据库■实验",表"dbo.Courses'column'Credit'。4.在Studnts表中添加一条元组,系名Sdept不赋值,其它属性符合完整性要求。观察Studnts表中的变化:系名A动变为信工系。5.添加一条元组,姓名Sname不赋值,其它属性符合完整性要求。错误信息为:错误消息:入首到每值NULL插入列'Sname1,表•实验.dbo.Students1;列不允许有Null值。INSERT规。_6.将St

8、udnts表中一条元组的性别Ssex改为“F”,错误信息为:错误消息:INSERT语句与CHECK约束■CK_Students_Ssex_0CBAE877■冲突。该冲突g生于数据库"实验•,表”dbo.Students'column'Ssex'.(二)完整性约朿命名子句1.按照下列语句创建成绩关系“Reports”,设置分数“Grade”的取值

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

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

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