




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2关系代数 关系模型的重要部分是关系操纵 关系代数是一种抽象的查询语言 是关系数据操纵语言的一种传统表达方式 它是用对关系的运算来表达查询的 利用关系代数可以演示一个查询语言从关系数据库系统中检索信息的潜力 可以用最简单的形式来表达所有关系数据库查询语言必须完成的运算的集合 这些基本的运算对解释标准查询语言SQL如何被执行很有帮助 同时也有利于培养关系运算的思维能力 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2关系代数 关系代数的运算对象是关系 运算结果亦为关系 关系代数用到的运算符包括四类 集合运算符 专门的关系运算符 算术比较符和逻辑运算符 关系代数的运算按运算符的不同可分为传统的集合运算和专门的关系运算两类 其中传统的集合运算将关系看成元组的集合 其运算是从关系的 水平 方向即行的角度来进行 而专门的关系运算不仅涉及行而且涉及列 比较运算符和逻辑运算符是用来辅助专门的关系运算符进行操作的 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 关系代数运算符 关系代数中 这些运算经有限次复合后形成的式子称为关系代数表达式 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 1传统的集合运算 传统的集合运算是二目运算 包括并 差 交 广义笛卡尔积 定义1 2 1设关系R和关系S具有相同的目n 即两个关系都有n个属性 且相应的属性取自同一个域 则可以定义并 差 交运算如下 并 Union 关系R与关系S的并记作 R S t t R t S 其结果仍为n目关系 由属于R或属于S的元组组成 差 Difference 关系R与关系S的差记作 R S t t R t S 其结果仍为n目关系 由属于R而不属于S的所有元组组成 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 1传统的集合运算 交 Intersection 关系R与关系S的交记作 R S t t R t S 其结果仍为n目关系 由既属于R又属于S的元组组成 关系的交可以用差来表示 即R S R R S 广义笛卡尔积 ExtendedCartesianProduct 两个分别为n目和m目的关系R和S的广义笛卡尔积是一个 n m 列的元组的集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 若R有k1个元组 S有k2个元组 则关系R和关系S的广义笛卡尔积有k1 k2个元组 记作 R S trts tr R ts S 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 传统集合运算举例 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 传统集合运算举例 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 2专门的关系运算 专门的关系运算包括选择 投影 连接 除等 为了叙述上的方便 先引入几个常用记号 设关系模式为R Al A2 An 它的一个关系设为R t R表示t是R的一个元组 t Ai 则表示元组t中相应于属性Ai的一个分量 若A Ai1 Ai2 Aik 其中Ail Ai2 Aik是A1 A2 An中的一部分 则A称为属性列或域列 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 2专门的关系运算 R为n目关系 S为m目关系 tr R ts S trts称为元组的连接 它是一个n m列的元组 前n个分量为R中的一个n元组 后m个分量为S中的一个m元组 给定一个关系R X Z X和Z为属性组 定义t X x时 x在R中的象集 ImagesSet 为 Zx t Z t R t X x 它表示R中属性组X上值为x的诸元组在Z上分量的集合 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 学生 课程数据库 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 选择 Selection 定义1 2 2选择选择又称为限制 Restriction 它是在关系R中选择满足给定条件的诸元组 记作 F R t t R F t 真 其中F表示选择条件 它是一个逻辑表达式 取逻辑值 真 或 假 逻辑表达式F由逻辑运算符 连接各算术表达式组成 算术表达式的基本形式为 X1 Y1 其中 表示比较运算符 它可以是 或 X1 Y1等是属性名 或为常量 或为简单函数 属性名也可以用它的序号来代替 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 选择 Selection 选择运算实际上是从关系R中选取使逻辑表达式F为真的元组 这是从行的角度进行的运算 是对行的水平分解 例1查询信息系 IS 全体学生 Sdept IS S 或 5 IS S 其中下角标 5 为Sdept的属性序号 或SwhereSdept IS 例2查询年龄在19到20岁之间的学生 Sage 19 Sage 20 S 或 4 19 4 20 S 或SwhereSage 19andSage 20 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 投影 Projection 定义1 2 3投影关系R上的投影是从R中选择出若干属性列组成新的关系 是对关系的垂直分解 记作 A R t A t R 其中A为R中的属性列集合 投影之后不仅取消了原关系中的某些列 而且还可能取消某些元组 因为取消了某些属性列后 就可能出现重复行 应取消这些完全相同的行 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 投影 Projection 例3查询学生的姓名和所在系 Sname Sdept S 或 2 5 S 或S Sname Sdept 例4查询学生关系Student中都有哪些系 Sdept S 或S Sdept 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 连接 Join 定义1 2 4连接连接也称为 连接 它是从两个关系的笛卡尔积中选取属性间满足一定条件的元组 记作 R S trts tr R ts S tr A ts B A B其中A和B分别为R和S上度数相等且可比的属性组 是比较运算符 连接运算的结果是从R和S的广义笛卡尔积R S中选取R关系在A属性组上的值与S关系在B属性组上值满足比较关系 的元组 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 连接 Join 连接运算中有两种最为重要也最为常用的连接 一种是等值连接 equijoin 另一种是自然连接 Naturaljoin 另外还有外连接 左连接 右连接等 为 的连接运算称为等值连接 它是从关系R与S的广义笛卡尔积中选取A B属性值相等的那些元组 自然连接 Naturaljoin 是一种特殊的等值连接 它要求两个关系中进行比较的分量必须是相同的属性组 并且在结果中把重复的属性列去掉 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 外连接 定义1 2 5外连接表R A1 A2 An B1 B2 Bk 和S B1 B2 Bk C1 C2 Cm 的外连接R oS 行t属于表R oS 如果下列情况之一发生 1 可连接的行u v分别在R和S中 有u Bi v Bi 0 i k 成立 此时t A u A t B u B t C v C 2 表R中的一个行u使得S中没有一个可以与之连接的行 此时 t A u A t B u B t C null 3 表S中的一个行v使得R中没有一个可以与之连接的行 此时 t A null t B v B t C v C 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 外连接 由定义知 外连接保留了未匹配的行 也就是说 在外连接一端的表上的行 即使在另一端上的表没有与之相匹配的连接列值也会出现在外连接的结果中 左连接和右连接运算只是因为我们需要在某一边上保留未匹配的行而已 左连接保留了在操作符左边的未匹配行 右连接保留了在操作符右边的未匹配行 一般的连接操作是从行的角度进行运算 但自然连接还需要取消重复列 所以是同时从行和列的角度进行运算 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 关系代数连接运算符 符号含义键盘格式示例 Ai Bj 连接JOIN Ai Bj R A1 B2S o外连接OUTERJOINR oS Lo左连接LOUTERJOINR LoS Ro右连接ROUTERJOINR RoS 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 连接运算举例 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 连接运算举例 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 除 Division 定义1 2 6除给定关系R X Y 和S Y Z 其中X Y Z为属性组 R中的Y与S中的Y可以有不同的属性名 但必须出自相同的域集 R与S的除运算得到一个新的关系P X P是R中满足下列条件的元组在X属性列上的投影 元组在X上分量值x的象集Yx包含S在Y上投影的集合 记作 R S tr X tr R y S Yx 其中Yx为x在R中的象集 x tr X 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 除 Division 除操作是同时从行和列角度进行运算 除运算是乘运算的逆运算 给定两个表T和S 如果表R是通过R T S定义的 那么有T R S成立 在这个意义上可解释为什么称作除运算 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 除运算举例 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 除运算举例 在关系R中 A可以取四个值 a1 a2 a3 a4 其中 a1的象集为 b1 c2 b2 c3 b2 c1 a2的象集为 b3 c7 b2 c3 a3的象集为 b4 c6 a4的象集为 b6 c6 S在 B C 上的投影为 b1 c2 b2 c1 b2 c3 显然a1的象集包含了S在 B C 属性组上的投影 所以R S a1 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 除运算举例 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 3关系代数综合例子 以下例子建立在下面CAP数据库上 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 3关系代数综合例子 例1查询所有定购了至少一个价值为0 50的商品的顾客的名字 cname pid price 0 50 P O C 例2找出全部没有在代理商a03处订购商品的顾客cid值 cid O cid aid a03 O 或 cid C cid aid a03 O 例3找出只在代理商a03处订购商品的顾客 cid O cid aid a03 O 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 3关系代数综合例子 例4找出没有被任何一个在北京的顾客通过在上海的代理商订购的所有商品 在北京的顾客通过在上海的代理商订购的商品 pid cid city 北京 C O city 上海 A 从所有商品中剔除以上商品 pid P pid cid city 北京 C O city 上海 A 例5找出订购了所有价格为0 50的商品的顾客名字 cname cid pid O pid price 0 50 P C 例6找出订购所有被任何人订购过一次的商品的顾客cid cid pid O pid O 例7找出所有接到至少顾客c004订购的商品集合的订单的代理商的aid aid pid O pid cid c004 O 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 3关系代数综合例子 例8找出订购了p01和p07这两种商品的顾客的cid 错误 cid pid p01 andpid p07 O 错误 cid pid p01 orpid p07 O 正确 cid pid p01 O cid pid p07 O 例9找出从至少一个接受订购商品p03订单的代理商处订购过商品的顾客cid 解题思路 cid aid pid p03 O O 订购商品p03的代理商 从这些代理商处订购商品的顾客 p03 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 1 2 3关系代数综合例子 例10找出所有具有和在北京和天津的顾客相同的折扣率的顾客的cid 本题可理解为 找出那些具有和在北京和天津的顾客相同的折扣率的顾客的cid 在北京和天津的顾客的所有折扣率 discnt city 北京 orcity 天津 C 所以有 cid discnt city 北京 orcity 天津 C C 北京邮电大学软件学院郭文明2003 06 数据库设计与开发 讲义 例11列出通过以下代理商订购的商品的pid 代理商从以下的顾客处接受订单 而这些顾客从一个接受过顾客c001订单的代理商处订购了至少一个商品 接受顾客c001订单的代理商 aid cid c001 O 从这些代理商处订购过商品的顾客 cid aid cid c001 O O 从这些顾客处接受过订单的代理商 aid cid aid cid c001 O O O 通过上述代理商订购的商品pid pid aid cid aid c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学生处分考试题及答案
- 2025年运营管理专业题库及答案
- 2025年博弈文化考试题及答案
- 抢救药品的作用及副作用培训考核测试试卷(附答案)
- (完整版)医院感染暴发报告及处置管理规范试题(题带答案)
- 恐龙世界试卷及答案
- 山西公益英语试卷及答案
- 2025年基础考试试题及答案
- 2025年环境废水运维考试试题及答案
- 浙江省中考真题及答案
- 2025-2026学年地质版(2024)小学体育与健康三年级(全一册)教学设计(附目录P123)
- 2025年湖南郴州市北湖区引进高层次人才和招聘事业单位工作人员28人备考练习题库及答案解析
- 项目四旅游电子商务网络营销92课件
- 麻醉深度监测-洞察及研究
- 2025年口腔修复学笔试题及答案
- 桥梁养护应急知识培训课件
- 2025-2026学年人教版(2024)初中化学九年级上册教学计划及进度表
- 智能化硬件基础知识培训课件
- 2025年小学生国学知识竞赛试题库附答案
- 水上服务区(加油站)项目可行性研究报告
- 浙江国企招聘2025浙江省储备粮管理集团有限公司所属企业招聘7人(第一批)笔试参考题库附带答案详解(10套)
评论
0/150
提交评论