数据库系统概论实验3——数据完整性控制.doc

数据库系统概论实验3——数据完整性控制.doc

ID:51647843

大小:55.00 KB

页数:4页

时间:2020-03-14

数据库系统概论实验3——数据完整性控制.doc_第1页
数据库系统概论实验3——数据完整性控制.doc_第2页
数据库系统概论实验3——数据完整性控制.doc_第3页
数据库系统概论实验3——数据完整性控制.doc_第4页
资源描述:

《数据库系统概论实验3——数据完整性控制.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库系统概论实验三数据完整性控制(4课时)v实验目的:n掌握使用SQL语句定义实体完整性、参照完整性和用户定义的完整性的方法n熟悉三类完整性的检查和违约处理n熟悉完整性约束命名子句的作用和使用n掌握使用触发器实现完整性控制的方法v实验方法:教师布置实验内容、给出提示并进行必要讲解,学生参照完成。v实验要求:本次实验要求撰写实验报告,要求同前。v实验内容及提示:以教材第五章的例题作为脉络定义基本表并插入数据,用实验证实,当操作违反了完整性约束条件时,系统是如何处理的。定义表结构时,如果表名发生重复,先

2、将旧表删除(droptable)后再建立。一、实体完整性注:1.先创建数据库stu并打开,2.需创建Course表。二、参照完整性三、用户定义的完整性四、完整性约束命名子句注:1.同一数据库中约束名不能重名,[例11]中的约束名应修改。2.更改表以添加约束前,要修改表中原有数据以满足新约束。一、触发器(教师先进行讲解)注:SQLServer的触发器语法与教材上有所不同,输入以下语句执行并查看结果://定义表tab(包含一个属性col)并插入两个元组createtabletab(colint)inser

3、tintotabvalues(10)insertintotabvalues(20)//在tab表上定义触发器tri,对tab的插入和更新进行检查,如果插入或更新的值小于1000,则给出错误提示,并回滚事务撤销操作。其中,deleted和inserted是临时表,用于保存更改行的旧值和新值。createtriggertriontabforupdate,insertasif(selectcolfrominserted)<1000beginprint'数据不能小于1000'rollbacktransacti

4、onend//进行插入和更新操作,验证触发器insertintotabvalues(110)updatetabsetcol=105wherecol=10//删除触发器,并验证droptriggertriinsertintotabvalues(110)updatetabsetcol=105wherecol=10试理解并实验以下语句定义的触发器:createtriggertriontabforupdate,insertasdeclare@mycolintselect@mycol=colfrominsert

5、edif@mycol<1000print'数据不能小于1000'updatetabsetcol=1000wherecol=@mycol//进行插入和更新操作,验证触发器insertintotabvalues(120)附:SQL语句:createdatabasestuusestucreatetablestudent(snochar(9)primarykey,snamechar(8)notnull,ssexchar(2),sagesmallint,sdeptchar(20))createtablecour

6、se(cnochar(4)primarykey,cnamechar(10)notnull,cpnochar(4),ccreditsmallint)createtablesc(snochar(9)notnull,cnochar(4)notnull,gradesmallint,primarykey(sno,cno))droptablesccreatetablesc(snochar(9)notnull,cnochar(4)notnull,gradesmallint,primarykey(sno,cno),f

7、oreignkey(sno)referencesstudent(sno),foreignkey(cno)referencescourse(cno))droptablesccreatetablesc(snochar(9)notnull,cnochar(4)notnull,gradesmallint,primarykey(sno,cno),foreignkey(sno)referencesstudent(sno)ondeletecascadeonupdatecascade,foreignkey(cno)r

8、eferencescourse(cno)ondeletenoactiononupdatecascade)createtabledept(deptnonumeric(2),dnamechar(9)unique,locationchar(10),primarykey(deptno));droptablescdroptablestudentcreatetablestudent(snochar(9)primarykey,snamechar(8)notnull,s

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

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

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