《视图和索引(数据库实验4)【借鉴实操】》由会员分享,可在线阅读,更多相关《视图和索引(数据库实验4)【借鉴实操】(11页珍藏版)》请在人人文库网上搜索。

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 A。

2、S 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_TCSSEL。

4、ECT * 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.dno。

5、 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。索引定义代码:C。

6、REATE 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 VA。

7、LUES(笑笑,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_SC。

8、不包含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,88)-4.无法更新(avg_score集函数列):UPDATE V_SC_gp SET avg_score=88 WHERE sn=小明-5.无法更新(视图包含聚集函数、GROUP BY子句):UPDATE V_SC_gp SET sn=小小云 WHERE sn=小明11cl借鉴。

mysql实验视图与索引_视图和索引(数据库实验4)【借鉴实操】相关推荐

  1. 【MySQL】第14章_视图

    文章目录 1. 常见的数据库对象 2. 视图概述 2. 1 为什么使用视图? 2. 2 视图的理解 3. 创建视图 3. 1 创建单表视图 3. 2 创建多表联合视图 3. 3 基于视图创建视图 4. ...

  2. mysql 分区 全局索引_全局分区索引与局部分区索引

    分区索引 分区索引,有是全局分区索引与局部分区索引,加上一种全局非分区索引(也就是普通索引),加起来共三种.下面我们讨论了这三种索引的组织结构以及应用场景. 1.全局非分区索引可以依赖普通的表,也可以 ...

  3. mysql reverse 索引_降序索引和减轻索引扫描

    Descending indexing and loose index scan 降序索引和减轻索引扫描 Comments to my previous posts, especially this ...

  4. mysql非主键索引_主键索引和非主键索引的区别

    1. 什么是最左前缀原则? 以下回答全部是基于MySQL的InnoDB引擎 例如对于下面这一张表 如果我们按照 name 字段来建立索引的话,采用B+树的结构,大概的索引结构如下 如果我们要进行模糊查 ...

  5. 什么是mysql的索引_什么是索引?mysql目前索引有哪些?

    1.索引由数据库中一列或多列组合而成,其作用是提高对表中数据的查询速度. 索引的优点是可以提高检索数据的速度 索引的缺点是创建和维护索引需要耗费时间. 索引可以提高查询速度,会减慢写入速度. 2.索引 ...

  6. mysql 主键 聚集索引_主键索引就是聚集索引吗?

    这个问题很刁钻! 答案是错的. 的确在mysql数据库innodb引擎里面,主键的确就是聚集索引. 但是myisam引擎里面主键也不是聚集索引. 另外在sql server中还可以显示的指定聚集索引. ...

  7. mysql非主键索引_主键索引和非主键索引解析

    1. 什么是最左前缀原则? 以下回答全部是基于MySQL的InnoDB引擎 例如对于下面这一张表 如果我们按照 name 字段来建立索引的话,采用B+树的结构,大概的索引结构如下 如果我们要进行模糊查 ...

  8. MySQL联合索引原理_复合索引_组合索引_多列索引

    文章目录 联合索引原理示意图 联合索引就是复合索引.组合索引.多列索引. 联合索引原理示意图

  9. 广州大学数据库实验报告_广州大学学生Access数据库实验1_表的创建和操作

    学院 工商管理 年级.专 业.班 人力 152 姓名 学号 实验课程名称 数据库技术及应用 II 成绩 优 实验项目名称 表的创建和操作 指导 老师 一.实验目的 1. 掌握 Access 2007 ...

  10. oracle 强制索引_当唯一索引遇见分布式数据库

    这是Tank的第18篇文章 1 关于分片键 分布式数据库通过将表的数据打散,按一定规则将数据分布在多个独立的主机上,常见的策略如HASH.RANGE.LIST等分布方式.不考虑中间件的解决方案,在原生 ...

最新文章

  1. 位运算符Java与详解_java位运算符详解
  2. fragment类onresume里面刷新操作处理
  3. 2014年湖北省TI杯大学生电子设计竞赛论文格式
  4. 求助:如何获取ueditor的上传路径
  5. Git之签署工具GPG的安装和使用
  6. Websphere的类加载器以及策略的简单介绍
  7. 使用vue-router懒加载解决首次加载时资源过多导致的速度缓慢问题
  8. 在 .NET Core 中使用 ViewConfig 调试配置
  9. 07-狄克斯特拉算法
  10. 机器人教育发展_得于人工智能发展,机器人教育低龄化越来越普及
  11. android学习笔记---53_采用网页设计软件界面,以及使用android系统内置的浏览器,利用js调用java方法
  12. 基于机器视觉的IC表面字符检测
  13. C语言写学生成绩管理系统(超详细注解)
  14. 敏捷需求描述:用户故事
  15. 基于C++11的高精度多级时间轮定时器
  16. 松本行弘为什么开发Ruby
  17. (高级)Matlab绘制中国地图超全教程详解
  18. ArcGIS介绍 coverage、shapefile 和 geodatabase 这三种矢量数据。
  19. 百科知识 画法几何创造性思维训练
  20. 灰灰深入浅出讲解支持向量机(SVM)

热门文章

  1. 鸟与虫(六)拉勾网,我可不可以找到工作
  2. 使用NDK编译C++代码
  3. SAP MM 采购订单中“Delivery Completed“ Indicator
  4. 爬取豆瓣电影数据并进行分析可视化
  5. 如何建立自己的【渲染农场】终极指南(2)
  6. 超酷HTML5 3D动画精选
  7. 【Alpha版本】项目测试
  8. 互动多媒体 Unity 拼接屏 项目分析
  9. IOS逆向学习之路之iPod touch4 越狱心得
  10. Router路由详解