网站大量收购闲置独家精品文档,联系QQ:2885784924

数据库原理 数据的完整性 实验报告.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
***大学计算机科学与信息学院 软件工程系上机实验报告 《数据库原理》实验报告 题目 实验8 数据的完整性 姓名 *** 班级 *** 日期 *** 实验环境:SQL Server 2000 一、实验目的 熟悉通过SQL对数据进行完整性控制,通过实验加深对数据完整性的理解。 相关知识 触发器是实施复杂完整性的一种机制。触发器不需要专门的语句调用,当对它所保护数据进行修改时由DBMS自动激活,以防止对数据进行不正确,未授权或不一致的修改。 创建触发器的语法为: CREATE TRIGGER 触发器 ON 表名 [WITH ENCRYPTION] FOR {[DELETE][,][INSERT][,][UPDATE]} [WITH APPEND] [NOT FOR REPLICATION] AS SQL 语句组 其中: WITH ENCRYPTION 为加密选项。 DELETE 选项为创建DELETE 触发器。DELETE触发器的作用是当对表执行DELETE操作时触发器被激活,并从指定表中删除元组,同时将删除的元组放入一个特殊的逻辑表(delete表)中。触发器的动作可以检查delete表中的数据,以确定下一步该如何处理。 INSERT选项为创建INSERT触发器。INSERT触发器在对指定表中执行插入数据操作时激活,激活后将插入表中的数据拷贝并送入一个特殊的逻辑表(inserted 表)中,触发器会根据INSERT表中的值决定如何处理。 UPDATE选项为创建UPDATE触发器。UPDATE触发器仅在对指定表中进行更新数据操作时激活。UPDATE触发器激活后把将要被更新的原数据移入delete表中,再将要被更新后的新数据的备份送入inserted表中,UPDATE触发器对delete和inserted表进行检查,并决定如何处理。 NOT FOR REPLICATION 选项说明当一个复制过程在修改一个触发器表时,与该表相关联的触发器不能被执行。 一个触发器只适用于一个表,每个表最多只能有三个触发器,它们分别是INSERT、UPDATE和DELETE触发器。触发器仅在实施数据完整性和处理业务规则时使用。 二、实验内容 本实验的内容为使用SQL对数据进行完整性控制(关系数据库的三类完整性、CHECK短语、CONSTRAINT子句、触发器)。用实验证实,当操作违反了完整性约束条件时,系统如何处理的。认真完成以下题目,按要求填写实验报告,记录所有实验用例。 (1)打开SQL Server 2000的查询分析器,用DDL语句建立如下三个表。 表student1: 字段名 类型 长度 含义 约束 Sno Char 10 学号 主码(约束名:STU_PK) Sname Char 20 姓名 非空(约束名:STU_U1) Ssex Char 2 性别 ‘男’或’女’ (约束名:STU_C1) Sage Int 年龄 18 到 30(约束名:STU_C2) Sdept Char 10 所在系 表course1: 字段名 类型 长度 含义 约束 Cno Char 10 课程号 主码(约束名:COU_PK) Cname Char 20 课程名 唯一(约束名:COU_C1) Cpno Char 2 先行课 Ccredit Int 学分 表SC1: 字段名 类型 长度 含义 约束 Sno Char 10 学号 主码(约束名:SC_PK) 外码(参照student1的Sno,约束名:SC_FK1) Cno Char 20 课程号 主码(约束名:SC_PK) 外码(参照course1的Cno,约束名:SC_FK2) Grade Char 2 成绩 create table student1( Sno char(10), Sname char(20) constraint STU_U1 NOT NULL, Ssex char(2) constraint STU_C1 CHECK(Ssex in(男,女)), Sage int constraint STU_C2 check(Sage between 18 and 30), Sdept char(10) constraint STU_PK PRIMARY KEY(Sno)); create table course1( Cno char(10), Cname char(20) constraint COU_C1 UNIQUE, Cpno char(2), Ccredit int constraint COU_PK PRIMARY KEY(Cno)); create table SC1( Sno char(

文档评论(0)

文档精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6203200221000001

1亿VIP精品文档

相关文档