[管理学]第5章 视图、存储过程与函数.pptVIP

[管理学]第5章 视图、存储过程与函数.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[管理学]第5章 视图、存储过程与函数

第5章 视图、存储过程和用户自定义函数 5.1 视图 5.2 存储过程 5.3 用户自定义函数 5.1 视图 5.1.1 视图概念 5.1.2 定义视图 5.1.3 通过视图查询数据 5.1.4 删除视图 5.1.5 视图的作用 5.1.1 视图概念 视图可以被看成是虚拟表。 视图中的数据不物理地存储在数据库内。 SELECT 语句的结果集构成了视图的内容。 5.1.2 定义视图 语法: CREATE VIEW 视图名 [(视图列名表)] AS 查询语句 5.1.2 定义视图 注意: 1.查询语句中通常不包含 ORDER BY和DISTINCT子句 2.在定义是图示要么指定全部视图列,要么全部省略;不能只写视图的部分属性列。以下三种情况必须明确指定组成视图的所有列名: 某个目标列是计算函数或列表达式 多表连接时选出了几个同名列作为视图字段 需要在视图中为某个列选用新的更合适的列名 5.1.2 定义视图 1.定义单源表视图 2.定义多源表视图 3.在已有视图上定义新视图 4.定义带表达式的视图 5.含分组统计信息的视图 1.定义单源表视图 单元表的行列子集视图指视图的数据取自一个基本表的部分行列。用这种方法定义的视图可以对数据进行查询和修改。 建立信息系学生的视图。 CREATE VIEW IS_Student AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept = 信息系 2.定义多源表视图 多源表视图指定义视图的查询语句所涉及的表可以有多个,这样的视图一般不用于修改数据。 建立信息系选修了‘c01’号课程的学生的视图。 CREATE VIEW V_IS_S1(Sno, Sname, Grade) AS SELECT Student.Sno, Sname, Sage FROM Student JOIN SC ON Student.Sno = SC.Sno WHERE Sdept = 信息系 AND SC.Cno = c01 3.在已有视图上定义新视图 在已有的视图上可以再建立视图。 建立信息系选修了‘c01’号课程且成绩在90分以上的学生的视图。 CREATE VIEW V_IS_S2 AS SELECT Sno, Sname, Grade FROM V_IS_S1 WHERE Grade = 90 4.定义带表达式的视图 定义视图时可以根据需要设置一些派生属性列,在这些派生属性列中保存经过计算的值。这些派生列也称为虚拟列,这样的视图也称为代表达式的视图。 定义一个反映学生出生年份的视图。 CREATE VIEW BT_S(Sno, Sname, Sbirth) AS SELECT Sno, Sname, 2005-Sage FROM Student 5.含分组统计信息的视图 含分组统计信息的视图是指子查询中包含有GROUP BY子句,这样的视图只能用于查询。 定义一个存放每个学生的学号及平均成绩的视图。 CREATE VIEW S_G(Sno, AverageGrade) AS SELECT Sno, AVG(Grade) FROM SC GROUP BY Sno 5.1.3 通过视图查询数据 通过视图查询数据同通过基本表查询数据一样。 首先把对视图的查询转换成等价的对基本表的查询。 然后再执行转换后的查询。 示例1 例1.利用IS_Student视图,查询信息系年龄小于20岁的学生。 SELECT Sno, Sname, Sage FROM IS_Student WHERE Sage 20 转换成的实际查询为: SELECT Sno, Sname, Sage FROM Student WHERE Sdept = 信息系 AND Sage 20 示例2 例2.利用IS_Student视图,查询信息系选修了‘C01’课程的学生的学号和姓名。 SELECT Sno, Sname FROM IS_Student JOIN SC ON IS.Student.Sno = SC.Sno WHERE Cno = C01 示例3 例3.利用S_G视图,查询平均成绩90分以上的学生的学号和平均成绩。 SELECT * FROM S_G WHERE AverageGrade 90 转换语句是: SEL

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档