下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4 实验报告数据库原理实验报告实验题目:数据完整性姓名吴位吕日期2012-5-22实验环境:XP Windows系统环境Microsoft SQL Server 2005 中 SQL Server Management Studio实验内容与完成情况:一、三类完整性的实现对系表Dept、学生表Student、教师表Teacher、课程表Course、SC表,教师授课表TC,实现规定的完整性,并验证,当操作违反了完整性约束条件时,DBMS如何处理。-1、Dept表-?DEPTNO CHAR()-?E VARCHAR()DNAM-?实体完整性:DEPTNO为主码;-?用户定义完整性-D
2、EPTNO的取值为至;-DNAME取值非空且唯一;CREATE TABLE DEPT(DEPTNO CHAR(2)PRIMARY KEYconstraint c1 check(DEPTNO between 01 and 99),DNAME VARCHAR(20) constraint c2 NOT NULL unique,);-2、Student表-l SNO CHAR()-l SNAME VARCHAR()-l SEX CHAR()-l DEPTNO CHAR()-² 实体完整性:SNO为主码;-² 参照完整性:DEPTNO为外码,并实现级联更新和级联删除操作;-
3、8; 用户定义完整性-SNO取值为级的学号取值范围,如等。-SNAME 取值非空;-SEX的取值只能为男或女;CREATE TABLE Student(SNO CHAR(10)PRIMARY KEYconstraint b1 check(SNO between 2010080000 and 2010089999),Sname varCHAR(8) NOT NULL unique,Ssex CHAR(2) constraint b2 check(Ssex in('男','女'),DEPTNO CHAR(2),FOREIGN KEY (DEPTNO)REFERENC
4、ES DEPT(DEPTNO)on delete cascadeon update cascade);drop table Student-3、Teacher表-l TNO CHAR()-l TNAME VARCHAR()-l DEPTNO CHAR()-² 实体完整性:TNO为主码;-² 参照完整性:DEPTNO为外码,并实现级联更新和级联删除操作;-² 用户定义完整性-TNO取值为开头的四位数字字符串;-TNAME取值非空;CREATE TABLE Teacher(TNO CHAR(3)PRIMARY KEYconstraint a1 check(TNO be
5、tween 0800 and 0899),TNAME varCHAR(8) NOT NULL ,DEPTNO CHAR(2),FOREIGN KEY (DEPTNO)REFERENCES DEPT(DEPTNO)on delete cascadeon update cascade);drop table Teacher-4、Course表-l CNO CHAR()-l TNO CHAR()-l CNAME VARCHAR()-l CREDIT SNALLINT-² 实体完整性:CNO;-² 用户定义完整性-CNAME取值非空;-CREDIT取值为至以内的数字;-²
6、 参照完整性:TNO为外码,并实现级联更新和级联删除操作;CREATE TABLE Course(CNO CHAR(4),TNO CHAR(3),CNAME CHAR(20) NOT NULL,CREDIT INT check(CREDIT>=1 and CREDIT<=10),PRIMARY KEY(CNO),FOREIGN KEY (TNO)REFERENCES Teacher(TNO)on delete cascadeon update cascade,);drop table Course-5、SC表-l SNO CHAR()-l CNO CHAR()-l GRADE SM
7、ALLINT-² 实体完整性:(SNO,CNO)为主码;-² 参照完整性:SNO外码、CNO外码,都实现级联删除和级联更新操作;-² 用户定义完整性- GRADE取值在到之间。CREATE TABLE SC(SNO CHAR(10),CNO CHAR(4),GRADE SMALLINT check(GRADE>=0 and GRADE<=100),PRIMARY KEY(SNO,CNO),FOREIGN KEY (SNO)REFERENCES Student(SNO)on delete cascadeon update cascade,FOREIGN
8、KEY (CNO)REFERENCES Course(CNO)on delete no actionon update no action,);-二、触发器的实现-1、修改Student表,增加属性CNT,SMALLINT型,表示学生的选课门数,设置CNT的默认值为。-增加属性SZK,SMALLINT型,表示素质选修课学分。ALTER TABLE Student ADD CNT SMALLINT;ALTER TABLE Student ADD SZK SMALLINT;-在Student表上创建以下触发器。-()创建触发器Trig1,实现在SC表里添加一条数据时,Student表里对应的学生的
9、CNT值自动增加。CREATE TRIGGER TRIG1 ON SCFOR INSERT ASUPDATE STUDENT SET CNT=CNT+1WHERE STUDENT.SNO IN(SELECT SNO FROM INSERTED )-()创建触发器Trig2,实现在SC表里删除一条数据时,Student表里对应的学生的CNT值自动减。CREATE TRIGGER TRIG2 ON SCFOR DELETEASupdate student SET CNT=CNT-1WHERE STUDENT.SNO IN(SELECT DELETED.SNO FROM DELETED )-()创建
10、触发器Trig3,实现不允许修改SC表的Sno和Cno。create trigger tirg3on scfor updateas if update(sno) or update(cno) rollback transaction-()SZK取值不能大于,如果大于,自动修改为create trigger tirg4on studentfor insert,updateas declare i char(8)select i=szk from insertedif ( i>8) update student set szk=8 where sno in(select sno from i
11、nserted)drop trigger id-2、修改Teacher表,增加属性ZC,char(5),表示教师的职称,增加属性GZ,money,表示教师的工资。-在Teacher表上创建触发器,实现当职称为副教授时,GZ如果低于,则自动修改为。ALTER TABLE Teacher ADD ZC char(5);ALTER TABLE Teacher ADD GZ money;create trigger tirg5on Teacherfor insert,updateas declare j char(5)declare k moneyselect j=ZC from insertedselect k=GZ from insertedif ( j='副教授' and k<3000)begin update Teacher set GZ=4000 where ZC='副教授' and GZ<3000end出现的问题:在开始的时候,用户定义完整性和参照完整性:SNO外码、CNO外码中,要都实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工季度评估提醒函(3篇)范文
- 户外徒步旅行准备事项全面指南
- 企业供应链管理流程规范手册
- 员工张三加班工时审批确认回函(3篇范文)
- 行动树立阳光心态积极面对心理挑战小学主题班会课件
- 催办完成市场调研报告撰写函(7篇范文)
- 企业绿色采购与物流协同发展实施方案
- 手工艺匠人传承技艺绩效评估表
- 初级会计人员财务报表编制速查手册
- 旅游目的地开发操作指南
- 供方认可及人员资格管理指南 2025
- 出入量记录护理实践指南(2025年版)
- 2026年保洁员岗位管理考核细则
- 2025广西百色市公安局招聘公安机关警务辅助人员163人备考题库附答案解析
- 2025年上饶市公安局广信分局公开招聘警务辅助人员【125人】(公共基础知识)综合能力测试题附答案解析
- 2025年及未来5年市场数据中国高性能树脂市场深度分析及投资战略咨询报告
- 脑血管造影术围手术期管理
- DB4112∕T 309-2022 水质 无人机采样技术规程
- 《CRTAS-2024-04 互联网租赁自行车城市运力投放测算指南》
- 消防喷淋安装施工方案
- 评茶师基础知识培训课件
评论
0/150
提交评论