SQL-06数据库系统原理(4)-3.pptVIP

  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文档。上传文档
查看更多
第四章 关系数据库标准语言SQL(三) 五、视图(View) 视图(View)给出了SQL数据库的外模式定义 1、视图的概念 视图是从一个或几个基本表中导出的虚拟表,其数据没有实际存储,但可以和表一样操作 视图具有和表一样的逻辑结构定义 但视图没有相应的存储文件,而每个表都有相应的存储文件 2、视图的用途 逻辑数据独立性:用户程序与数据库结构 简化了用户眼中的数据,使用户可以集中于所关心的数据上 同一数据库对不同用户提供不同的数据呈现方式 安全保护 3、视图的定义 Create View 视图名(列名1,列名2,…) AS 查询 [ With Read Only ] 查询是一个Select语句,指明视图定义在哪些基本表上,定义了什么内容的数据 列名表定义了视图的逻辑结构,与查询中返回的数据相对应 若加上With Read Only选项表示所定义的视图是只读视图 3、视图的定义 例1:定义计算机系的学生视图 Create View cs_view (sno, name, age) As Select sno,sname,age From student Where Dept=‘计算机系‘ With Read Only Create View cs_view As Select sno,sname,age From student Where Dept=‘计算机系‘ With Read Only 若省略视图的列名表,则自动获得Select查询返回的列名 3、视图的定义(续) 例2:把每门课程的课程号和平均成绩定义为一个视图 Create View c_view As Select cno, AVG(score) as avg_score From sc Group By cno 或 Create View c_view (cno, avg_score) As Select cno, AVG(score) From sc Group By cno 在查询中使用了函数时 若省略列名表,则必须为函数指定别名 若使用了列名表,则可以不指定函数的别名 4、视图的查询 与基本表的查询相同 例:查询平均成绩在80分以上的课程号与课程名 不使用视图 Select a.cno, a.cname From Course a,(select cno,avg(score) as avg_score From sc Group By cno) SC2 Where a.cno=sc2.cno and SC2.avg_score80 使用前面定义的视图 c_view Select a.cno, a.cname From course a, c_view b Where a.cno=b.cno 5、视图的更新 与表的更新类似 例:将计算机系学号为’001’的学生的姓名改为‘Rose’ Update cs_view Set name=‘Rose’ Where sno=‘001’ 执行时先转换为student上的更新语句再执行 不是所有视图都是可更新的 基于联接查询的视图不可更新 使用了函数的视图不可更新 使用了分组操作的视图不可更新 只有建立在单个表上而且没有使用函数的视图才是可更新的 6、视图的删除 Drop View 视图名 如:Drop View cs_view 7、视图的用途 视图能够简化用户的操作; 视图使用户能以多种角度看待同一数据; 视图对重构数据库提供了一定程度的逻辑独立性; 视图能够对机密数据提供安全保护。 作业 归纳一下关系代数与SQL之间的关系 用SQL语句完成下列操作: 创建三个表 学生表(学号,姓名,系名,年龄) 成绩表(学号,课程号,成绩) 课程表(课程号,课程名,先行课程号) 其中成绩表的学号和课程号都是外键,课程表的先行课程号是外键(引用课程表的课程号) 作业(续) 求年龄在20到22之间的数学系学生的学号,姓名和出生年份; 求不是数学系和计算机系的学生的全部信息; 求姓王并且缺少课程号为’C2’的课程成绩的学生学号和姓名; 求选修课程超过3门的学生学号和姓名; 求选修人数超过30的课程号及学生的最高成绩和平均成绩; 求每一门课程的间接先行课(先行课的先行课)。 王育英(wyy@mail.nefu..edu.cn) 1.* 数据库系统原理 * 数据库系统原理 王育英(wyy@mail.nefu.edu.cn) 外模式 概念模式 内模式 关系子模式 关系模式 存储模式 视图(View) 基本表 文件 SQL用户 ANSI/SPARC 关系数据库 SQL数据库 21 S2 002 22 S1 001 Age Snam

文档评论(0)

新起点 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档