课件:中科大软学院数据库系统概念.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(4)分组(group) 通常,人们不仅希望对简单的一整列求平均值或者是其他的聚集操作。还需要按照其他某一属性分组,然后考虑各分组中元组的聚集操作。 L?F (R) L是? 操作被应用的那个关系的一个属性,这个属性是一个可以把R分组。这个元素就被称为是分组属性。 F是一个或多个聚集函数,聚集函数所应用的属性被称作是聚集属性。 (4)分组(group) L?F (R)返回的关系是这样产生的: 把关系R的元组分组。每一组由具有L中分组属性上具有特定值的所有元组构成。 对于每一组,产生一个如下内容的元组: 该组的分组属性值。 该组中所有元组进行F聚集操作的结果 学号 课程号 成绩 001 c001 80 002 c001 90 001 c002 80 …… …… …… 课程号 ? AVG(成绩)→平均成绩(R) 课程号 平均成绩 c001 80 c002 85 …… …… (5)排序(sort) ?L(R) 返回按属性列表L排序的关系R,结果中的所有元组是按照L排序。如果L是A1,A2,…,An,那么R 的元组就先按属性A1的值先排序,对于A1属性相等的元组,就按A2的值排序,依此类推 例 对学生按年龄排序 ?年龄(学生) (6)赋值 通过赋值操作可以给临时关系变量赋值,使关系代数表达式可以分开写 R←E:把关系代数表达式E的结果赋给R 例:求选了P选全部课程的学生学号 P选全部课程 Temp1←πcno(σsno=‘P (R)) 全部的选课信息 Temp2←πsno, cno(R) 选了P选全部课程的学生学号 Result=Temp2 ? Temp1 赋值操作并不把结果显示给用户,最后一句表示表达式结果被作为结果显示 复习:关系模型的形式化定义 数据结构 关系:数据库中全部数据及数据间联系都以关系来表示 数据操作 关系运算 关系代数 关系演算(元组关系演算、域关系演算) 数据的完整性约束 关系模型的三类完整性规则 查询操作可用关系代数实现。 数据更新如何实现? 四、数据更新 数据更新仍通过关系代数实现 删除 R←R-E:R是关系,E是关系代数查询 例“从数据库中删除姓名为‘Rose’的学生” Student←Student-σname=‘Rose’(Student) 四、数据更新 插入 R←R∪E:R是关系,E是关系代数表达式 如果E是常量关系,则可以插入单个元组 例1:设关系S1和S2分别存放本科生数据和研究生数据,“把所有的本科生都全部升级为研究生” S2←S2∪S1 例2:插入一个新的本科生 S1←S1∪ { (‘001’,’Rose’,19) } 四、数据更新 修改 R←πF1,F2,...,Fn(R):通过广义投影实现 Fi:当第i个属性没有被修改时是R的第i个属性;当被修改时是第i个属性和一个常量的表达式 例1:“将每个学生的学号前加上字母S” Student←π‘S’||sno,name, sex, age(Student) 如果只想修改R中的部分元组,可以用下式 R←πF1,F2,...,Fn(σp(R)) ∪ (R-σp(R)) 例2:“将所有男学生的学号前加上字母M” Student←π‘M’||sno,name, sex, age(σsex=‘M’(Student)) ∪ (Student-σsex=‘M’(Student)) 五、关系演算(Relational Calculus) 以数理逻辑中的谓词演算为基础的关系运算 元组关系演算(Tuple calculus) 以元组为变量的关系演算 域关系演算(Domain calculus) 以属性为变量的关系演算 1、元组演算 以元组为变量的关系演算 元组演算表达式定义 {t | P(t)} 其中t是元组变量,P是公式 (1)元组变量 自由变量和约束变量 若元组变量前有全称量词(? )或存在量词(? ),则称为约束变量 否则称为自由变量 (2)元组演算公式 元组演算公式P由原子公式构成,原子公式可以是以下形式 t ? R:R是关系名,t是元组变量 R={ t | t ? R} t[i]θu[j]:t、u是元组变量,表示元组t的第i个分量与u的第j个分量满足比较关系θ, i、j也可用属性名代替 例: t[1]u[2]、t[tname]=u[uname] t[i]θc或 cθt[i]:c是常量。 例:t[1]20、t[name]=‘Rose’ (2)元组演算公式 元组演算公式的定义 原子公式是元组演算公式 若P1、P2是元组演算公式,则┐P1、P1∧P2、P1∨P2都是元组演算公式 若P1是元组演算公式,则?t(P1)、 ? t(P1)都是元组演算公式 有限次运用以上规则得

文档评论(0)

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

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

1亿VIP精品文档

相关文档