数据库 关系模型(参考).ppt_第1页
数据库 关系模型(参考).ppt_第2页
数据库 关系模型(参考).ppt_第3页
数据库 关系模型(参考).ppt_第4页
数据库 关系模型(参考).ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

第三讲关系模型 RelationalModel 2 本章内容 关系数据模型 逻辑数据模型 的三要素 关系数据模型的数据结构以及关系模式关系数据模型的完整性约束关系操作集合以及关系代数关系模式是数据库三层模式中的逻辑模式概念模型到逻辑模型的转换 3 关系数据模型 关系数据库以关系数据模型为基础关系数据库 RDB 关系数据库管理系统 RDBMS 关系数据模型建立在表的集合的基础上数据模型数据结构数据操作完整性约束 4 关系数据模型 E F Codd 1970年提出关系模型理论大型共享数据库数据的关系模型单一的数据结构扁平的二维表以关系的形式来描述现实世界实体 学生 课程 实体间的联系 学生选课表 5 关系数据模型 关系操作集合操作用户不必关心路径关系数据操作语言关系代数关系演算SQL 结构化的查询语言 6 关系数据模型 完整性约束实体完整性参照完整性用户定义的完整性 7 关系数据模型 例子 8 关系数据结构 术语域域是一组具有相同数据类型的值的集合关系模型要求域必须是原子数据的集合ER实体集 实体 属性关系关系 元组 Tuple 属性表表 行 列 9 关系数据结构的定义 关系一组域上的笛卡儿积的子集给定一组域D1 D2 Dn 这些域中可以有相同的 D1 D2 Dn的笛卡儿积为 D1 D2 Dn d1 d2 dn di Di i 1 2 n 其中 每一个元素 d1 d2 dn 叫作一个n元组 n tuple 或简称元组 10 关系数据结构的定义 直观的讲 关系是笛卡儿积的子集 是一张二维表 表的每行对应一个元组 列对应一个域 给每个列取名属性名以示区别码若关系中的某一组属性的值能唯一地标识一个元组 则称该属性组为候选码 候选码的超集为超码 候选码之一可被选作主码 PrimaryKey PK 11 关系数据结构 关系是元组的集合元组包含若干属性表是行的集合行包含若干列每个列必须有不同的名字不同的列可有相同的域 12 关系数据结构 表的分类 基本关系 基本表 实际存在的表实际存储数据的逻辑表示查询表查询结果对应的表视图表由基本表或其他视图表导出的表虚表 无实际存储的物理表相对应 13 关系模式 数据库模式 Schema 是整个数据库中关系模式的集合是数据库的逻辑设计 型关系模式Student sno sname sage ssex sdept 数据库实例给定时刻数据库中数据的一个快照 值 14 关系的完整性 对关系的某种约束条件关系模型的完整性约束实体完整性参照完整性用户定义的完整性 15 关系的完整性 实体完整性 规则主属性 组成主码的属性 不能取空值 Null NULL不知道 未提供 短缺不能简单地认为没有例student sno sname ssex 不能取NULL 16 关系的完整性 参照完整性 是关于联系的约束关系与关系间的引用引用被引用例 学生 学号 姓名 性别 专业号 年龄 专业 专业号 专业名 引用 17 关系的完整性 参照完整性 外码 ForeignKey 设F是基本关系R中的一个或一组属性 但不是R的码 如果F与基本关系S的主码KS相对应 则称F是基本关系R的外码 R为参照关系 S为被参照关系例 学生 学号 姓名 性别 专业号 年龄 专业 专业号 专业名 引用 外码 参照关系 从表 被参照关系 主表 18 关系的完整性 参照完整性 参照完整性规则若属性 或属性组 F是基本关系R的外码 它与基本关系S的主码相对应 则对于R中每个元组在F上的值必须为 或者取空值 NULL 或者等于S中某个元组的主码值 19 关系的完整性 参照完整性 20 关系的完整性 参照完整性 参照完整性的各种违例情况从表 参照关系 插入从表元组 且外键不为Null修改从表外键 且不为Null主表 被参照关系 删除主表元组 其已被参照修改主表主键 其已被参照删除主表 21 关系的完整性 参照完整性 参照可能发生在同一个关系中非主属性引用主码属性例 学生 学号 姓名 性别 班长 引用 22 关系的完整性 用户定义的完整性 特殊的约束条件与特定的应用相关如学生的年龄一定是大于0的整数 23 模型的转换 概念数据模型面向用户 模拟现实世界E R逻辑数据模型面向计算机 易于实现与所采用的数据模型相关 与DBMS相关数据模式概念模型转换为逻辑模型E R图 关系模式 模式图 24 模型的转换 25 E R到关系的转换 实体集 基本但不是万能方法 实体集 关系联系集 关系定义主码和外码 26 实体集转换 强实体集 关系弱实体集将弱实体集 关联强实体集的主码属性构成新的关系 主码由强实体集的主码及弱实体集的分辩符构成 如果有弱联系存在 则必定能将该联系中的自身属性一并溶入新的关系中 27 联系集转换 1 1取消联系集 自身属性及一方的主码溶入另一方实体集中 构成关系不取消联系集 则由自身属性 参与联系的各实体集的主码属性构成 其主码可选参与联系的实体集的任一方的主码 构成关系 实体集的主码在联系集中作为外码 28 联系集转换 1 n取消联系集 自身属性及1端的主码溶入n端实体集 构成关系 主码任为n端的主码 1端的主码在联系集中作为外码不取消联系集 则由自身属性 参与联系的各实体集的主码属性构成关系 n端的主码作为联系集的主码 实体集的主码在联系集中作为外码 29 联系集转换 n m保留联系集 由自身属性 参与联系的各实体集的主码属性构成关系 主码应包含各实体集的主码属性 实体集的主码在联系集中作为外码 30 关系数据库 关系数据库基于关系数据模型的数据库RDB关系数据库管理系统RDBMS关系数据库模式关系数据库中所有关系模式的集合关系数据库的值关系数据库在某一时刻的快照 31 关系代数 属于关系操作的一种关系代数是一种抽象的查询语言通过对关系的运算来表达查询操作运算对象 结果均为关系运算集合运算 关系运算 比较运算 逻辑运算 32 关系代数 运算符 33 关系代数 集合运算 集合 Set 无重复 顺序无关包 Bag 可重复 顺序无关列表 List 可重复 顺序相关集合运算并 交 差 广义笛卡儿积二目运算 34 集合运算 并Union R和S的并 R S 是在R或S或两者中的元素的集合一个元素在并集中只出现一次R和S必须同类型 属性集相同 次序相同 但属性名可以不同 R S 35 集合运算 并Union 36 集合运算 交Intersect R和S的交 R S 是在R和S中都存在的元素的集合一个元素在交集中只出现一次R和S必须同类型 属性集相同 次序相同 但属性名可以不同 R S 37 集合运算 交Intersect 38 集合运算 差Minus R和S的差 R S 是在R中而不在S中的元素的集合R和S必须同类型 属性集相同 次序相同 但属性名可以不同 R S 39 集合运算 差Minus 40 集合运算 笛卡儿积 关系R S的笛卡儿积是两个关系的元组对的集合所组成的新关系R S 属性是R和S的组合 有重复 元组是R和S所有元组的可能组合是R S的无条件连接 使任意两个关系的信息能组合在一起 41 集合运算 笛卡儿积 42 关系运算 除 43 关系运算 除 44 关系代数 专门的关系运算 选择 投影 连接 除法 45 关系运算 选择 从关系R中选择符合条件的元组构成新的关系 F R 表示从R中选择满足条件 使逻辑表达式F为真 的元组行的运算 46 关系运算 选择 例 ssex 男 ANDsdep IS Student 47 关系运算 投影 从关系R中选择若干属性组成新的关系 A1 A2 An R 表示从R中选择属性集A1 A2 An组成新的关系列的运算投影运算的结果中 也要去除可能的重复元组 48 关系运算 投影 例 ssex sage student 49 关系代数 改名 对关系R实施改名运算 可显式地改变关系名及属性名将关系R改名为S s R 将关系R B1 B2 Bn 改名S A1 A2 An S A1 A2 An R 50 关系运算 条件连接 从R S的结果集中 选取在指定的属性集上满足 条件的元组 组成新的关系 是一个关于属性集的逻辑表达式R S 51 关系运算 条件连接 52 关系运算 等值连接 R S R B S B 53 关系运算 自然连接 从R S的结果集中 选取在某些公共属性上具有相同值的元组 组成新的关系R S的公共属性属性集的交集 名称及类型相同 公共属性在结果中只出现一次例 studentsc 54 关系运算 自然连接 R S 55 外连接 实例 Relationloan branch name loan number amount DowntownRedwoodPerryridge L 170L 230L 260 300040001700 Relationborrower customer name loan number JonesSmithHayes L 170L 230L 155 56 外连接 实例 loanborrower branch name loan number amount DowntownRedwood L 170L 230 30004000 customer name JonesSmith branch name loan number amount DowntownRedwoodPerryridge L 170L 230L 260 300040001700 customer name loan number JonesSmithnull L 170L 230null 57 外连接 实例 loan borrower branch name loan number amount DowntownRedwoodnull L 170L 230L 155 30004000null customer name JonesSmithHayes branch name loan number amount DowntownRedwoodPerryridgenull L 170L 230L 260L 155 300040001700null customer name JonesSmithnullHayes 58 关系代数 实例 59 关系代数 实例1 查询选修了2号课程的学生的学号课程号 学号 SC表 60 关系代数 实例1 2号课程的选课情况 cno 2 SC 61 关系代数 实例1 选修2号课程的学号 sno cno 2 SC 62 关系代数 实例2 列出选修 数学 课的学生的学号 姓名以及成绩学号 姓名 Student表课程名称 Course表成绩 SC表Student SC Course sno cno 63 关系代数 实例2 数学 课 cno 数学 Course 64 关系代数 实例2 65 关系代数 实例2 选修 数学 课的记录SC cno 数学 Course 66 关系代数 实例2 选修 数学 的学生记录Student SC cno 数学 Course 67 关系代数 实例2 选修 数学 的学生的学号 姓名 成绩 sno sname gradeStudent SC cno 数学 Course 68 关系代数 实例2 69 注意 关系运算的结果还是关系因此 必须注意运算结果的属性集和元组集 70 练习1 设计一个适合大学选课的数据库 该数据库应包括学生 系 教师 课程 哪个学生选了哪门课 哪个教师教哪门课 学生的成绩 一个系统提供哪些课程等信息 试用关系数据库模式来描述这个数据库 71 一个简化的答案 Student SNo SN Score Depart DNo DN Teacher TNo TN Course CNo CN Belong SNo DNo Teach TNo CNo Choose SNo CNo 72 练习2 结合学生选课数据库 用关系代数分别进行如下查询 学号为9900111的学生的系别和年龄有不及格 成

温馨提示

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

评论

0/150

提交评论