ch4 数据库系统概念(第6版)第的四章中间SQL.pdf

ch4 数据库系统概念(第6版)第的四章中间SQL.pdf

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch4 数据库系统概念(第6版)第的四章中间SQL

数据库系统 上海交通大学计算机系 张忠能 zhang-zn@cs.sjtu.edu.cn 1 第4章:中间SQL 中间SQL 连接表达式 视图 事务 完整性约束 SQL数据类型和模式 授权 连接关系 连接运算输入两个关系,返回另一个关系作为结 果. 连接运算是一个笛卡尔积,它要求两个关系中的 元组相匹配(符合某种条件)。同时也可以指定 连接的结果所需要展示的属性。 连接运算通常被使用于from子句的子查询表达式 中 连接运算 - 范例 关系course 关系prereq 可以看出 CS-315的prereq信息丢失了,CS-347的course信息丢失了 外连接 一种连接运算的扩展,避免了信息丢失. 计算连接的结果,之后将没能匹配的元组也添加 到结果当中. 使用 null 值. 左外连接 course natural left outer join prereq 右外连接 course natural right outer join prereq 连接关系 连接运算输入两个关系,返回另一个关系作为结果 连接运算通常被使用于from子句的子查询表达式中 连接条件 – 定义了两个关系中的哪些元组能够匹配,哪些 属性在连接结果当中被展示 连接类型 P67 全外连接 course natural full outer join prereq 连接关系 - 范例 course inner join prereq on course.course_id = prereq.course_id course left outer join prereq on course.course_id = prereq.course_id 连接关系 - 范例 course natural right outer join prereq course full outer join prereq using (course_id) 视图 有些时候,并不希望让所有用户都看到整个逻辑模 型(也就是说,假定所给的关系集合是实际存储在 数据库中的关系) 假设一个人需要知道一名教师的姓名和部门,但是 不需要知道薪水。这个人应该看到用SQL描述的关 系,通过如下语句: select ID, name, dept_name from instructor 视图提供了一个机制,来对特定用户隐藏特定数据. 视图是用户可以看见的“虚关系”,不是逻辑模型 的一部分. 视图定义 视图通过如下形式的create view语句来定义 create view v as query expression 其中 query expression是任何合法的SQL表达式. 视 图名用v表示. 一旦定义了视图,就可以用视图名指代视图产生的虚关系. 视图定义不等同于通过计算查询表达式来新建一个关系. 视图范例 教师的视图,不显示薪水 create view faculty as select ID, name, dept_name from instructor 列出所有Biology department的教师 select name from faculty where dept_name =

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档