视图和索引(数据库实验4)_第1页
视图和索引(数据库实验4)_第2页
视图和索引(数据库实验4)_第3页
视图和索引(数据库实验4)_第4页
视图和索引(数据库实验4)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库基础与实践实验报告实验四 视图和索引 班级:惠普测试142 学号:1408090213 姓名:闫伟明日期:2016-11-131 实验目的:1) 掌握SQL进行视图创建的方法;2) 掌握SQL进行视图更新的方法,理解视图更新受限的原因;3) 掌握SQL进行索引创建及删除的方法。2 实验平台:操作系统:Windows xp。实验环境:SQL Server 2000以上版本。3 实验内容与步骤利用实验一创建的sch_id数据库完成下列实验内容。1. 定义视图V_TCS(定义时不加with check option),存放全部计算机系老师的信息。视图定义代码:CREATE VIEW V_TCS

2、 AS SELECT tno,tn,sex,age,prof,sal,comm,T.dno FROM T,D WHERE T.dno=D.dno AND D.dn=计算机 视图查询语句与查询结果截图:SELECT * FROM V_TCS2. 定义视图V_sal,存放全体教师的教师号,教师姓名,教师酬金(工资+岗位津贴),职称信息。视图定义代码:CREATE VIEW V_sal AS SELECT tno 教师号,tn 教师姓名,sal+comm 教师酬金,prof 支撑信息 FROM T视图查询语句与查询结果截图:SELECT * FROM V_sal3. 向V_TCS中插入一条计算机专业

3、教师的新记录,并查询V_TCS视图的全部记录。视图更新代码:INSERT INTO V_TCS SELECT T10,良瑗,女,20,讲师,6000,8000,D.dno FROM D WHERE D.dn=计算机视图查询语句与查询结果截图:SELECT * FROM V_TCS4. 向V_TCS中插入一条信息专业教师的新记录,并查询V_TCS视图的全部记录。视图更新代码:INSERT INTO V_TCS SELECT T11,百里登风,男,21,讲师,6000,8000,D.dno FROM D WHERE D.dn=信息视图查询语句与查询结果截图:SELECT * FROM V_TCSS

4、ELECT * FROM T WHERE tno=T115. 修改V_TCS中的记录,使得编号为t2的教师的职称为副教授。视图更新代码:UPDATE V_TCS SET prof=副教授 WHERE tno=T2 视图查询语句与查询结果截图:SELECT * FROM V_TCS WHERE tno=T26. 定义视图V_ TCS_ck(定义时加with check option),存放全部计算机系老师的信息,对比该视图与V_TCS在进行数据更新时的差别。视图定义代码:CREATE VIEW V_TCS_ck AS SELECT tno,tn,sex,age,prof,sal,comm,T.d

5、no FROM T,D WHERE T.dno=D.dno AND D.dn=计算机WITH CHECK OPTION视图更新对比实验代码及运行结果截图:-1.能插入INSERT INTO V_TCS_ckSELECT T12,良莠,女,20,讲师,4000,4000,D.dno FROM D WHERE D.dn=计算机-2.不能插入(视图CHECK OPTION约束)INSERT INTO V_TCS_ckSELECT T13,天明,男,25,讲师,4000,4000,D.dno FROM D WHERE D.dn=信息7. 在课程C表的课程名属性上按降序创建唯一索引I_cn。索引定义代码

6、:CREATE INDEX I_cn ON C(cn DESC)运行结果截图:8. 删除C表上的索引I_cn。索引删除代码:DROP INDEX C.I_cn运行结果截图:4 深入思考与讨论1) 请先自己定义一个视图,使定义该视图的查询中使用连接。再更新该视图,观察视图更新受限情况。-1.定义:CREATE VIEW V_SC AS SELECT sn,S.sno,cn,score FROM S,C,SC WHERE S.sno=SC.sno AND C.cno=SC.cno-2.查询:SELECT * FROM V_SC-3.均无法插入(插入影响到多张表):INSERT INTO V_SC

7、VALUES(笑笑,S1,JAVA,99)INSERT INTO V_SC VALUES(笑笑,S1,RUBY,99)INSERT INTO V_SC VALUES(良垣,S15,JAVA,99)INSERT INTO V_SC VALUES(良莠,S1,JAVA,99) SELECT * FROM V_SC WHERE sno=S1-4.可以更新(修改分数只影响到SC一张表):UPDATE V_SC SET V_SC.score=99 WHERE V_SC.cn=大学英语 AND V_SC.sno=S1SELECT * FROM V_SC WHERE sno=S1-5.无法更新年龄(视图V_

8、SC不包含age列):UPDATE V_SC SET age=18 WHERE V_SC.sno=S1-6.无法更新,修改会影响到S和SC两张表:UPDATE V_SC SET sn=韩笑,score=98 WHERE V_SC.sno=S1 -7.将成绩为NULL的课程名设为NULL,更新失败(遵守基表C的cn列的NOT NULL约束):UPDATE V_SC SET cn=NULL WHERE score IS NULL2) 请先自己定义一个视图,使定义该视图的查询带分组和集函数。再更新该视图,观察视图更新受限情况。-1.定义:CREATE VIEW V_SC_gp AS SELECT sn,S.sno,AVG(score) avg_scoreFROM S,C,SC WHERE S.sno=SC.sno AND C.cno=SC.cnoGROUP BY sn,S.sno-2.查询:SELECT * FROM V_SC_gp-3.无法插入:INSERT INTO V_SC_gp VALUES(刘静,S8,8

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论