- 1、本文档共116页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]数据库-第二章无QBE
数据库系统原理教程Database Systems 关系数据库系统是建立在关系模型上的数据库系统 数据结构 两维的扁平表 数据操作 关系代数 关系演算 关系模型的数据结构非常单一 实体及实体间的联系都用关系表示, 关系就是一张二维表 储户关系 depositor 客户关系 customer 一体化 一般关系系统的数据语言都同时具有数据定义、数据操纵和数据控制语言,而不是分为几个语言。对象单一,都是关系,因此操作符也单一。 关系数据语言概述 抽象的查询语言 关系代数 用对关系的运算来表达查询,需要指明所用操作 关系演算 用谓词来表达查询,只需描述所需信息的特性 元组关系演算 谓词变元的基本对象是元组变量 域关系演算 谓词变元的基本对象是域变量 关系代数运算汇总 基本运算 一元运算 选择、投影、重命名 多元运算 笛卡儿积、并、集合差 其它运算 集合交、自然连接、除 修改操作 插入、删除、更新 基本概念 给定关系模式R(A1 , A2 , … , An),设R是它的一个具体的关系,t?R是关系的一个元组分量 设t?R,则t[Ai]表示元组t中相应于属性Ai的一个分量 属性列 Ai={Ai1, Ai2, … ,Aik}?{A1, A2, … ,An},称Ai为属性列 Ai表示{A1 ,A2 , … ,An}中去掉Ai后剩余的属性组 t[Ai] = ( t[Ai1], t[Ai2], … , t[Aik]) 元组的连接(Concatenation) 若元组r = (r1,… ,rn),s = (s1 ,… ,sm),则定义r与s的连接为: 给出所有学生的姓名和年龄 找001号学生所选修的课程号 ?连接 从两个关系的广义笛卡儿积中选取给定属性间满足 一定条件的元组 自然连接 从两个关系的广义笛卡儿积中选取在相同属性列B上取值 相等的元组,并去掉重复的行。 自然连接与等值连接的不同 自然连接中相等的分量必须是相同的属性组,并且要在结果中去掉重复的属性,而等值连接则不必。 当R与S无相同属性时,R S = R×S 示例:求001号学生所在系的名称 ∏Dname(?Sno = ‘001’(S) DEPT) 除运算 关系R(X , Z), X, Z是属性组,x是X上的取值(t[x]),定义x在R中的象集为 Zx = { t[Z] | t?R ? t[X]= x } 从R中选出在X上取值为x的元组,去掉X上的分量,只留Z上的 分量 除定义 R(X , Y) ? S(Y) = {t[X] | t?R ? Yx? ?y(S) } 求同时选修了001和002号课程的学生号 求选修了001号或002号课程的学生号 方案1: ∏Sno(?Cno =‘ 001’∨ Cno =‘ 002’(SC)) 方案2: ∏Sno(?Cno =‘ 001’ (SC))∪∏Sno(?Cno = ‘002’(SC)) 差运算 求选修了001号而没有选002号课程的学生号 交 求同时选修了001号和002号课程的学生号 改名(ρ) 对关系R实施改名运算,可显式地改变关系名及属性名 将关系R改名为S: ρs(R) 将关系R(B1,B2,…,Bn)改名 S(A1,A2,…,An):ρ S(A1,A2,…,An)(R) 查询中的复合运算 95001 1 85 95001 2 92 95001 3 88 . . . . . . . . . Grade Cno Sno S-C { x | x=r[Sno] ? r?S-C ? Cx?C } 选修全部课 程的学生 全部课程 x同学所选修 的全部课程 应用:对于全部的,所有的 除操作是同时从行和列的角度进行运算。 X Z 张军同学所选修的全部课程 x=张军 Zx 数学 张军 数学 王红 物理 张军 课程 姓名 物理 数学 课程 象集(Image Set) ? 物理 数学 课程 = 物理 王红 数学 张军 数学 王红 物理 张军 课程 姓名 王红 张军 姓名 没有选修全部课程的学生 所有学生选修全部课程 ? = 数学 张军 数学 王红 物理 张军 课程 姓名 物理 王红 数学 张军 数学 王红 物理 张军 课程 姓名 姓名 王红 姓名 王红 张军 姓名 王红 ? = 姓名 张军 选修了全部课程的学生 对应操作 说明:Yx={y|tr∈R∧y=tr[Y]∧x=tr[X]}。Yx为x在R中的象集x=tr[X](即Yx为属性X取值x
文档评论(0)