数据库上机实验8实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库上机实验8实验报告
上机实验八――完整性约束的实现
一、实习目的:
掌握sql中实现数据完整性的方法,加深理解关系数据模型的三类完整性约束。
二、实习准备:
1.复习“完整性约束sql定义”
2.完成练习4问题10中每个操作的SQL语句。
3.了解sqlserver中实体完整性、参照完整性和用户自定义完整性的实现手段
三、实习内容:
1.验证习题四第10题四个表结构的sql语句。
表一:学生
createtablesstudent
(snochar(7)notnullprimarykey,snamevarchar(20)notnull,
ssexchar(2)notnulldefault('男')check(ssexin('男','女
')),sagesmallintcheck(sage>14andsage<65),clnochar(5)notnullreferencescclass(cl no)onupdatecascade);
表二:课程
createtableccourse
(cnochar(1)notnullprimarykey,cnamevarchar(20)notnull,
creditsmallintcheck(creditin(1,2,3,4,5,6)));
表三:C类
createtablecclass
(clnochar(5)notnullprimarykey,specialityvarchar(20)notnull,inyearchar(4)notnull,
numberintegercheck(number>1andnumber<100),mointorchar(7)referencesstudent(sno) );
表四:ggrade
createtableggrade
(snochar(7)notnullreferencesstudent(sno)OnDeleteCascadeoUpdateCascade,cnochar(1)notnullreferencescourse(cno)OnDeleteCascadeoUpdateCascade,
gmarknumeric(4,1)check(gmark>0andgmark<100),primarykey(sno,cno));
2.SQL server提供了哪些方法来实现实体完整性、引用完整性和自定义完整性
答:实体完整性:是通过主码的定义(primarykey)来实现的;
引用完整性:指外部代码的描述,用于限制相关表中某些属性的值。当用户违反规则时,提供三种类型:限制(限制策略)、级联(级联策略)和setnull(空策略);
用户自定义完整性:check约束,对元组的check约束