- 1、本文档共120页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
换名操作 结果模式属性包括R和S中的所有属性 在属性名上发生冲突 换名操作 R.A B C S.A B C R×S ?(C(1?A1, 4?A2), R×S) ?(R(F), E) A1 B C A2 B C C R与E包含同样的元组 R与E具有同样的模式, 但是F中的域被重命名 R与E具有同样的域 任意关系 代数表达式 新关系 实例 旧名?新名 位置?新名 样板模式 Sailors(sid: integer, sname: string, rating: integer, age: real) Boats(bid: integer, bname: string, color: string) Reserves(sid: integer, bid: integer, day: date) 样板数据库 集合运算 关系代数的综合查询 -- 示例1 查找租用过103号船的所有水手的名字:有多种解决方法 Sailors (sid: integer, sname: string, rating: integer, age: real) Boats (bid: integer, bname: string, color: string) Reserves (sid: integer, bid: integer, day: date) 问题:是否需要对Boats进行投影运算? 关系代数的综合查询 -- 示例2 查找租用过红色船只的水手的名字 另一种方法 Sailors(sid: integer, sname: string, rating: integer, age: real) Boats(bid: integer, bname: string, color: string) Reserves(sid: integer, bid: integer, day: date) 关系代数的综合查询-- 示例3 查找租用过红色或绿色船只的水手的名字 Sailors(sid: integer, sname: string, rating: integer, age: real) Boats(bid: integer, bname: string, color: string) Reserves(sid: integer, bid: integer, day: date) 关系代数的综合查询-- 示例4 查找租用过红色和绿色船只的水手的名字 Sailors(sid: integer, sname: string, rating: integer, age: real) Boats(bid: integer, bname: string, color: string) Reserves(sid: integer, bid: integer, day: date) 关系代数的综合查询 -- 示例5 查找租用过所有船只的水手的名字 Sailors(sid: integer, sname: string, rating: integer, age: real) Boats(bid: integer, bname: string, color: string) Reserves(sid: integer, bid: integer, day: date) 关系运算 关系运算 是设计关系数据库操作语言的基础 数据之间联系的运算可由关系运算完成 关系运算:关系代数、元组关系演算和域关系演算 把谓词演算推广到关系运算中,就得到了关系演算 比较 都具有完备性:表达能力的强弱 三种关系运算 关系模型的DML 自然语言 关系运算 比较 非过程性: —过程性语言常由用户指出对数据的访问路径 —非过程性语言由系统决定访问路径或者说无明显的访问路径 —与层次、网状数据库一次操作一个元组比较,关系代数是非过程化的,而与关系演算比较,又是过程化的(按过程顺序完成连接、选择、投影)。 关系运算 比较 简单性: —程序员:代数语言简单—接近过程程序语言 —非程序员:演算语言简单—接近自然语言 易扩展性:代数语言难 对高级语言的支持:关系演算更适合高级语言翻译器的目标语言 关系运算 基于关系代数的查询语言: -ISBL(Information System Base Language) IBM 英国科学中心研制,用于PRTV(Peterlee Relational Test Vehicle) -INGRES系统的 QUEL语言 基于元组演算的 介于关系代数与元组演算的 基于域演算的 -QBE(Query By Example) IBM高级实验室设计的 -Syste
文档评论(0)