数据库系统基础教程(45)_第1页
数据库系统基础教程(45)_第2页
数据库系统基础教程(45)_第3页
数据库系统基础教程(45)_第4页
数据库系统基础教程(45)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第四章 其它数据模型,其它数据模型: 层次模型和网状模型 ODL模型 对象关系模型,第五章 关系代数,主要解决问题: 在关系模式设计已确定的前题下,在这些关系上可进行哪些运算?得到怎样的新关系? 关系操作有两种不同的表示方式:代数的和逻辑的。 关系代数不仅可以表示运算,也可表示对数据库的约束。 关系操作可在无重复元组的集合set上运算,也能在有重复元组的包bag上运算。,5.1 本章使用的数据库模式,Movie(title, year, length, inColor, studioName, producerC#) StarsIn(movieTitle, Movieyear, starNam

2、e) MovieStar(name, address, gender, birthdate) MovieExec(name, address, cert#, netWorth) Studio(name, address, presC#),5.2 关系代数,关系代数 Relational Algebra: 在关系模型上定义的一组标准运算,可由已知的关系计算得到新的关系。 注意:结果关系的属性是什么?结果关系中的元组是什么?各种运算的特征。,5.2.1 关系代数基础,关系代数中的运算(四大类 共九种): 一般集合运算:并、交、差(在两个相同模式的关系上进行) 删减运算:在一个关系上进行 投影:删去

3、某些属性(列) 选择:删去某些元组(行) 合并运算:在两个关系之间进行 笛卡尔积:两个关系中所有元组的所有可能的组合(无条件)。 连接:两个关系中的元组有条件的组合。 自然连接 笛卡尔积加投影和选择运算 连接 笛卡尔积加选择运算 改名:在一个关系上进行,改变关系或属性的名字,而不影响其中元组。,5.2.2 集合运算,对于两个关系R和S,存在的集合运算: RS:并,由R或S中的元组构成的集合。 注意同一元组只出现一次。 RS:交,由属于R且属于S的元组构成的集合。 RS:差,由属于R且不属于S的元组构成的集合。 注意:前两者可交换,差运算不能交换。 集合运算所需的条件: R和S的模式具有相同的属

4、性集; R和S应具有相同的属性次序。,5.2.2 集合运算,例如:设有关系 R 与 S 如右表: 则其集合运算的结果如下。,R,S,RS,R S,R - S,5.2.3 投影,投影运算: 对于一个关系 R,投影产生一个新关系,只包含 R 属性集的一个子集。 表示为: A1,A2,An(R) 结果属性为 A1,A2,An 结果元组由 R 中元组在属性A1,A2,An上的分量构成 ,元组不重复。 关系分解时使用。,5.2.3 投影,例:Movie, title,year,length(Movie)结果如下, inColor(Movie)结果如下,5.2.4 选择,选择运算: 对于一个关系 R,选择

5、产生一个新关系,只包含满足特定条件的元组。 表示为:c(R) ,其中c是结果关系中每个元组都要满足的条件。 结果属性:保持R属性集且属性次序也相同。 结果元组:R中满足条件c的元组。 条件的表示: 运算对象:属性名和常量 算术比较运算: 逻辑运算:NOT AND OR,5.2.4 选择,例:length 100(Movie) 结果如下,length 100 AND studioName =FOX(Movie) 结果如下,5.2.5 笛卡儿积,笛卡儿积运算: 对于关系R和S,笛卡尔积表示为:RS。 结果属性:属性集是R和S属性集合的并集。 区别R和S中的同名公共属性:“关系名. 属性名”。 结果

6、元组:是R中的每个元组与S中每个元组的组合。 元组数量是 NRNS。,5.2.5 笛卡儿积,R,S,RS,例:,5.2.6 自然连接,自然连接运算: 对于两个关系R和S,自然连接表示为R S (RS也可) 结果属性:是R和S中的属性的并集,去掉同名的公共属性。 结果元组:是R和S在同名公共属性上一致的元组的组合。 确切说,设A1,A2,An是R和S的公共属性,当且仅当R的元组r与S的元组s在A1,A2,An上都一致时,元组s和r组合成为R S的一个元组,称为一个连接元组。,5.2.6 自然连接,R,S,例:,R S,注意:若R和S没有同名的公共属性,则自然连接是无效运算(并非空元组)。 自然连

7、接用于将两个关系连接合并为一个关系。,5.2.6 自然连接,U,V,例:,U V,若R中元组与S中任何元组均不匹配,则在R S中没有该元组出现,这种元组称为悬挂元组。,5.2.6 自然连接,例:设有关系: 学生(学号,姓名,班级) 选修(学号,课号,成绩) 要求查询学生张平的各科成绩。 姓名=张平(学生 选修) 或 姓名=张平(学生) 选修,5.2.7 连接,连接运算 : 在笛卡尔积的基础上,增加条件以限制元组。 对于两个关系R和S,基于条件c的连接表示为 R c S,计算步骤: 计算R S ,即笛卡尔积; 用条件c做选择运算:c (R S)。,5.2.7 连接,U,V,例:,U ADV,5.

8、2.8 复合运算(组合操作),由于关系运算的结果仍为关系,因而可对之作进一步的关系运算。 复合运算:把两种以上运算组合起来成为一个表达式,以完成较复杂的计算。 当单一运算不能满足要求时,需要复合运算。 组合关系表达式时用括号表示计算优先级。,5.2.8 复合运算,例1 Movie (title, year, length, inColor, studioName) 计算“Fox制造的至少100分钟长的影片的片名及其年份” title, year(length 100 AND studioName = FOX(Movie) 另一种等价计算: title, year(length 100 (Mov

9、ie)studioName = FOX(Movie) 注意:完成相同的计算可能有多种方式。 例2 Movie (title, year, length, inColor, studioName) StarsIn(title, year, starName) 求“主演过影片至少100分钟长的影星的名字”。 starName(length 100 (Movie StarsIn) 你能给出另一种等价计算吗?,5.2.8 复合运算,可以用表达式树(或称查询树)来表示上述计算,例如: title, year(length 100 (Movie)studioName = FOX(Movie),title,

10、 year length100 studioName = FOX Movie Movie,5.2.9 改名,改名运算: 把一个关系R改名为关系S,且属性也按次序改名为A1A2An,表示为 S (A1, A2,An) (R) 若仅关系改名为S而属性不改名,则表示为 S (R) 注意:改名运算产生一个命名的新关系,并不改变原有关系的名称、结构与内容,5.2.9 改名,R,S,RS,RS (X, C, D) (S),例:,另一种等价计算:RS (A, B, X, C, D) (RS),5.2.9 改名,例:销售员 Salesman (empid, idno, name, gender, phone,

11、 deptid) 求“所有重名的销售员的员工号及其姓名” s1.empid, (S1(Salesman) = AND s1.empids2.empidS2 (Salesman),5.2.10 基本运算和派生运算,上述九种运算并非独立: RS R(RS) 连接: R c S c (R S) 自然连接:R S L (c (R S) 其中:设A1A2An是R和S的同名公共属性;C为R.A1=S.A1 AND R.A2=S.A2 ANDAND R.An=S.An;L为R和S属性集合的并集,只保留一个同名公共属性。 所以这三种运算为派生运算,可从其它运算中导出,其它六种运算为基本运算。,练习,Customer (custid, name, prov, city, phone, unit) Product (prodid, factory, type, spec, price, desc) Salesman (empid, idno, name, gender, phone, deptid) Department (deptid, name, headerid) Salesorder

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论