参考资料-关系模型与关系代数.ppt_第1页
参考资料-关系模型与关系代数.ppt_第2页
参考资料-关系模型与关系代数.ppt_第3页
参考资料-关系模型与关系代数.ppt_第4页
参考资料-关系模型与关系代数.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第3章关系数据库 3 1关系模型及其定义3 1 1关系数据结构3 1 2关系操作概述3 1 3关系的完整性3 2关系代数3 2 1传统的集合运算3 2 2专门的关系运算3 2 3用关系代数表示检索的例子 3 1关系模型及其定义 3 1 1关系数据结构1 关系的数学定义1 域的定义 域是一组具有相同数据类型的值的集合 2 笛卡儿积 CartesianProduct 的定义 给定一组域D1 D2 Dn 这些域中可以有相同的部分 则笛卡儿积为 D1 D2 Dn d1 d2 dn di Di i 1 2 n 其中 每一个元素 d1 d2 dn 称为一个n元组 简称元组 元素中的每一个值di称作一个分量 例如给出三个域 D1 姓名 王平 李丽 张晓刚 D2 性别 男 女 D3 年龄 19 20 则D1 D2 D3的笛卡儿积为D1 D2 D3 1 关系的数学定义 3 关系 Relation 的定义 D1 D2 Dn的子集称作在域D1 D2 Dn上的关系 表示为 R D1 D2 Dn 这里 R表示关系的名字 n是关系的目或度 从D1 D2 D3中取出有用的元组 所构造的学生关系如表所示 2 关系中的基本名词 1 元组 关系表中的每一横行称作一个元组 组成元组的元素为分量 2 属性 关系中的每一列称为一个属性 3 候选码 主码 全码 若关系的候选码中只包含一个属性 则称它为单属性码 若候选码是由多个属性构成的 则称为它为多属性码 若关系中只有一个候选码 且这个候选码中包括全部属性 则这种候选码为全码 4 主属性和非主属性 关系中 候选码中的属性称为主属性 不包含在任何候选码中的属性称为非主属性 3 数据库中关系的类型1 基本表 关系数据库中实际存在的表 是实际存储数据的逻辑表示 2 视图表 视图表是由基本表或其他视图表导出的表 3 查询表 查询表是指查询结果表或查询中生成的临时表 4 数据库中基本关系的性质1 同一属性的数据具有同质性 2 同一关系的属性名具有不能重复性 3 关系中的列位置具有顺序无关性 4 关系具有元组无冗余性 5 关系中的元组位置具有顺序无关性 6 关系中每一个分量都必须是不可分的数据项 5 关系模式的定义形式化地表示为 R U D Dom F 其中 R为关系名 它是关系的形式化表示 U为组成该关系的属性集合 D为属性组U中属性所来自的域 Dom为属性向域的映象的集合 F为属性间数据的依赖关系集合 关系模式通常可以简单记为 R U 或R A1 A2 An 其中 R为关系名 A1 A2 An为属性名 6 关系数据库在某一应用领域中 所有实体集及实体之间联系所形成关系的集合就构成了一个关系数据库 3 1 2关系操作概述 1 关系操作的基本内容关系操作包括数据查询 数据维护和数据控制三大功能 数据查询指数据检索 统计 排序 分组以及用户对信息的需求等功能 数据维护指数据增加 删除 修改等数据自身更新的功能 数据控制是为了保证数据的安全性和完整性而采用的数据存取控制及并发控制等功能 关系操作的数据查询和数据维护功能使用关系代数中的选择 Select 投影 Project 连接 Join 除 Divide 并 Union 交 Intersection 差 Difference 以及广义笛卡儿积 ExtendedCartesianProduct 8种操作 2 关系操作的特点 1 关系操作语言操作一体化具有数据定义 查询 更新和控制一体化的特点 既可以作为宿主语言嵌入到主语言中 又可以作为独立语言交互使用 2 关系操作的方式是一次一集合方式其他系统的操作是一次一记录方式 而关系操作的方式则是一次一集合方式 关系操作数据结构单一的特点 能够使其利用集合运算和关系规范化等数学理论进行优化和处理操作 但关系操作与其他系统配合时需要解决处理方式的矛盾 3 关系操作语言是高度非过程化的语言具有强大的表达能力 用户使用关系语言时 只需要指出做什么 而不需要指出怎么做 数据存取路径的选择 数据操作方法的选择和优化都由DBMS自动完成 3 关系操作语言的种类 1 关系代数语言用对关系的运算来表达查询要求的语言 2 关系演算语言用查询得到的元组应满足的谓词条件来表达查询要求的语言 关系演算语言又可以分为元组演算语言和域演算语言两种 元组演算语言的谓词变元的基本对象是元组变量 例如APLHA语言 域演算语言的谓词变元的基本对象是域变量 QBE QueryByExample 是典型的域演算语言 3 基于映象的语言具有关系代数和关系演算双重特点的语言 SQL是基于映象的语言 SQL包括数据定义 数据操作和数据控制三种功能 具有语言简洁 易学易用的特点 它是关系数据库的标准语言和主流语言 3 1 3关系的完整性 1 关系模型的实体完整性 EntityIntegrity 若属性A是基本关系R的主属性 则属性A的值不能为空值 说明如下 1 实体完整性能够保证实体的唯一性 2 实体完整性能够保证实体的可区分性 2 关系模型的参照完整性1 外码和参照关系设F是基本关系R的一个或一组属性 但不是关系R的主码 或候选码 如果F与基本关系S的主码相对应 则称F是R的外码 并称R为参照关系 S为被参照关系或目标关系 例如 基层单位数据库 中有 职工 和 部门 两个关系 其关系模式如下 职工 职工号 姓名 工资 性别 部门号 部门 部门号 名称 领导人号 其中 主码用下划线标出 外码用曲线标出 再例 在学生课程库中 关系模式表示为 学生 学号 姓名 性别 专业号 年龄 课程 课程号 课程名 学分 选修 学号 课程号 成绩 其中 主码用下划线标出 2 参照完整性规则若属性 或属性组 F是基本关系R的外码 它与基本关系S的主码Ks相对应 基本关系R和S不一定是不同的关系 则对于R中每个元组在F上的值必须取空值 F的每个属性值均为空值 或者等于S中某个元组的主码值 3用户定义的完整性 用户定义的完整性就是针对某一具体关系数据库的约束条件 它反映某一具体应用所涉及的数据必须满足的语义要求 3 2关系代数 1 集合运算符 并运算 差运算 交运算 广义笛卡儿积 2 专门的关系运算符 选择 投影 连接 除 3 比较运算符 大于 大于等于 小于 小于等于 等于 不等于 4 逻辑运算符 非 与 或 3 2 1传统的集合运算 设关系R和S具有相同的目n 即两个关系都有n个属性 且相应的属性取自同一个域 1 并 Union 运算R S t t R t S R和S并的结果仍为n目关系 其数据由属于R或属于S的元组组成 2 差 Difference 运算R S t t R t S R和S差运算的结果关系仍为n目关系 其数据由属于R而不属于S的所有元组组成 3 交 Intersection 运算R S t t R t S 运算的结果关系仍为n目关系 其数据由既属于R同时又属于S的元组组成 交可用差来表示 R S R R S 4 笛卡儿积运算设n目和m目的关系R和S 它们的笛卡儿积是一个 n m 目的元组集合 元组的前n列是关系R的一个元组 后m列是关系S的一个元组 若R有k1个元组 S有k2个元组 则关系R和关系S的广义笛卡儿积应当有k1 k2个元组 R和S的笛卡儿积表示为 R S trts tr R ts S 传统集合运算的实例 RSR S R SR S 3 2 2专门的关系运算 1 记号说明 1 关系模式 关系 元组和分量设关系模式为R A1 A2 An 它的一个关系设为R t R表示t是R的一个元组 t Ai 则表示元组t中相对于属性Ai的一个分量 2 域列和域列非若A Ai1 Ai2 Aik 其中Ai1 Ai2 Aik是A1 A2 An中的一部分 则A称为属性列或域列 t A t Ai1 t Ai2 t Aik 表示元组t在属性列A上诸分量的集合 A则表示 A1 A2 An 中去掉 Ai1 Ai2 Aik 后剩余的属性组 它称为A的域列非 3 元组连串 Concatenation 设R为n目关系 S为m目关系 且tr R tS S 则trtS称为元组的连串 连串是一个 n m 列的元组 它的前n个分量是R中的一个n元组 后m个分量为S中的一个m元组 4 属性的象集 ImagesSet 给定一个关系R X Z X和Z为属性组 定义当t X x时 x在R中的象集为 Zx t Z t R t X x 上式表示 x在R中的象集为R中Z属性对应分量的集合 而这些分量所对应的元组中的属性组X上的值应为x 2 专门关系运算的定义 1 选择 Selection 运算选择运算又称为限制运算 选择运算指在关系R中选择满足给定条件的元组 记作 F R t t R F t 真 其中 F表示选择条件 是一个逻辑表达式 取值为 真 或 假 F由逻辑运算符 非 与 和 或 连接各条件表达式组成 条件表达式的基本形式为 X1 Y1 其中 是比较运算符 它可以是 中的一种 X1和Y1是属性名 常量或简单函数 属性名也可以用它的序号来代替 用关系代数表示下列操作 设学生课程数据库 其关系模式为 学生 学生 姓名 年龄 所在系 课程 课程号 课程名 学分 选课 学号 课程号 成绩 例3 1 用关系代数表示在学生课程数据库中查询计算机系的全体学生的操作 所在系 计算机系 学生 例3 2 用关系代数表示在学生课程数据库中查询年龄小于20岁的学生的操作 年龄 20 学生 2 投影 Projection 运算关系R上的投影是从R中选择出若干属性列组成新的关系 记作 A R t A t R 例3 3 在学生课程数据库中 查询学生的姓名和所在系 表示为 姓名 所在系 学生 3 连接运算 连接是从两个关系的笛卡儿积中选取属性间满足一定条件的元组 记作 RS trts tr R ts S tr A ts B A B其中 A和B分别为R和S上度数相等且可比的属性组 是比较运算符 等值连接表示为 RS trts tr R ts S tr A ts B A B自然连接是一种特殊的等值连接 RS trts tr R ts S tr A ts B 例3 4 设学生和选课关系中的数据如下 学生与选课之间的笛卡儿积 等值连接和自然连接的结果如表所示 学生选课 学生 选课 学生选课学生 学号 选课 学号 学生选课 4 除 Division 运算 给定关系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 关系除法运算分下面4步进行 1 将被除关系的属性分为象集属性和结果属性 与除关系相同的属性属于象集属性 不相同的属性属于结果属性 2 在除关系中 对与被除关系相同的属性 象集属性 进行投影 得到除目标数据集 3 将被除关系分组 原则是 结果属性值一样的元组分为一组 4 逐一考察每个组 如果它的象集属性值中包括除目标数据集 则对应的结果属性值应属于该除法运算结果集 例3 5 给出选课 选修课和必修课3个关系 它们的关系模式为 选课 学号 课号 成绩 选修课 课号 课名 必修课 课号 课名 选课 必修课 学号 课号 选课 必修课 3 2 3用关系代数表示检索的例子 学生选课库的关系模式为 学生 学号 姓名 性别 年龄 所在系 课程 课程号 课程名 先行课 选课 学号 课程号 成绩 例3 6 求选修了课程号为 C2 课程的学生学号 学号 课程号 C2 选课 例3 7 求选修了课程号为 C2 课的学生学号和姓名 学号 姓名 课程号 C2 选课学生 例3 8 求没有选修课程号为 C2 课程的学生学号 学号 学生 学号 课程号 C2 选课 本题不能写为 学号 课程号 C2 选课 用关系代数表示检索的例子 例3 9 求既选修 C2 课程 又选修

温馨提示

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

评论

0/150

提交评论