




免费预览已结束,剩余8页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第三章第三章 关系模型 逻辑结构设计 关系模型 逻辑结构设计 关系理论是建立在集合代数理论基础上的 有着坚实的数学基础 E F Codd 于 70 年代初提出关系 数据理论 他因此获得 1981 年的 ACM 图灵奖 早期代表系统 SystemR 由 IBM 研制 INGRES 由加州 Berkeley 分校研制 目前主流的商业数据库系统 Oracle Informix Sybase SQL Server DB2 Access Foxpro Foxbase 3 3 1 1 关系基本概念关系基本概念 关系理论是以集合代数为基础的 3 3 1 1 1 1 域 域 DomainDomain 一组值的集合 这组值具有相同的数据类型 如整数的集合 字符串的集合 全体学生的集合 用 D 表示 3 3 1 1 2 2 笛卡尔积 笛卡尔积 Car tesianCar tesian ProductProduct 一组域 D1 D2 Dn 的笛卡尔积为 D1 D2 Dn d1 d2 dn di Di i 1 n 笛卡尔积的每个元素 d1 d2 dn 称作一个 n 元组 n tuple 元组的每一个值 di 叫做一个分量 component 若 Di 为有限集 其基数为 mi i 1 2 3 n 则笛卡尔积的基数为 n i miM 1 笛卡尔积可表示为一个二维表 表中的每行对应一个元组 表中每列对应一个域 例 例 D1 为教师集合 T t1 t2 D2 为学生集合 S s1 s2 s3 D3 为课程集合 C c1 c2 则 D1 D2 D3 是个三元组集合 元组个数为 2 3 2 是所有可能的 教师 学生 课程 元组 集合 笛卡尔积可表为二维表的形式 TSC t1s1c1 t1s1c2 t1s2c1 t2s3c2 表中的行表示一个元组 列表示一个域 3 3 1 1 3 3 关系关系 1 笛卡尔积 D1 D2 Dn 的子集叫做在域 D1 D2 Dn 上的关系 用 R D1 D2 Dn 表示 2 R 是关系的名字 n 是关系的度或目 3 关系是笛卡尔积中有意义的子集 关系也可以表示为二维表 TS C 属性 t1s1c1 元组 t1 s2c2 t2s3c1 2 4 关系的性质 列是同质的 即每一列中的分量来自同一域 是同一类型的数据 如 TEACH T S C t1 s1 c1 t1 t2 c1 是错误的 5 不同的列可来自同一域 每列必须有不同的属性名 如 P t1 t2 s1 s2 s3 C c1 c2 则 TEACH 不能写成 TEACH P P C 还应写成 TEACH T S C 6 行列的顺序无关紧要 任意两个元组不能完全相同 集合内不能有相同的两个元素 每一 分量必须是不可再分的数据 满足这一条件的关系称作满足第一范式 1NF 的 3 3 2 2 关系模式关系模式 数据结构 单一的数据结构 关系 实体集 联系都表示成关系 系 属于工作 学生教师 属于教授 课程 DEPT D DN DEAN S S SN SEX AGE D C C CN CREDIT PROF P PN D SAL SC S C SCORE TEACH P C 3 3 2 2 1 1 候选码 候选码 CandidateCandidate KeyKey 关系中的某一属性或属性组的值能唯一地标识一个元组 称该属性或属性组为候选码 如 DEPT 中的 D DN 都可作为候选码 任何一个候选码中的属性称作主属性 如 SC 中的 S C 3 3 2 2 2 2 主码 主码 PrimaryPrimary KeyKey 进行数据库设计时 从一个关系的多个候选码中选定一个作为主码 如可选定 D 作为 DEPT 的主码 3 3 3 3 3 3 外部码 外部码 ForeignForeign KeyKey 关系 R 中的一个属性组 它不是 R 的码 但它与另一个关系 S 的码相对应 则称这个属性组为 R 的外部码 如 S 关系中的 D 属性 3 3 3 3 4 4 关系模式关系模式 关系的描述称作关系模式 包括关系名 关系中的属性名 属性向域的映象 属性间的数据依赖 关系等 记作 R A1 A2 An 属性向域的映象一般直接说明为属性的类型 长度等 某一时刻对应某个关系模式的内容 元组的集合 称作关系 关系模式是型 是稳定的 3 关系是某一时刻的值 是随时间不断变化的 3 3 3 3 5 5 关系数据库关系数据库 其型是关系模式的集合 即数据库描述 称作数据库的内涵 Intension 其值是某一时刻关系的集合 称作数据库的外延 Extension 3 3 3 3 6 6 关系操作关系操作 关系操作是集合操作 操作的对象及结果都是集合 是一次一集合 Set at a time 的方式 而 非关系型的数据操作方式是一次一记录 Record at a time 关系操作可以用关系代数和关系演算两种方式来表示 它们是相互等价的 如用关系代数来表示关系的操作 可以有选择 投影 连接 除 交 差 并等 3 3 3 3 7 7 关系模式的完整性关系模式的完整性 1 实体完整性 A 关系的主码中的属性值不能为空值 B 空值 不知道或无意义 C 意义 关系对应到现实世界中的实体集 元组对应到实体 实体是相互可区分的 通过主码来 唯一标识 若主码为空 则出现不可标识的实体 这是不容许的 2 参照完整性 A 如果关系 R2 的外部码 Fk 与关系 R1 的主码 Pk 相对应 则 R2 中的每一个元组的 Fk 值或者等于 R1 中某个元组的 Pk 值 或者为空值 B 意义 如果关系 R2 的某个元组 t2 参照了关系 R1 的某个元组 t1 则 t1 必须存在 3 用户定义的完整性 用户针对具体的应用环境定义的完整性约束条件 如 S 要求是 8 位整数 SEX 要求取值为 男 或 女 4 系统支持 A 实体完整性和参照完整性由系统自动支持 B 系统应提供定义和检验用户定义的完整性的机制 3 3 3 3 关系数据语言概述关系数据语言概述 3 3 3 3 1 1 抽象的查询语言抽象的查询语言 1 关系代数 用对关系的运算来表达查询 需要指明所用操作 2 关系演算 用谓词来表达查询 只需描述所需信息的特性 元组关系演算 谓词变元的基本对象是元组变量 域关系演算 谓词变元的基本对象是域变量 3 3 3 3 2 2 具体系统中的实际语言具体系统中的实际语言 SQL 介于关系代数和关系演算之间 由 IBM 公司在研制 System R 时提出的 QUEL 基于 Codd 提出的元组关系演算语言 ALPHA 在 INGRES 上实现 QBE 基于域关系演算 由 IBM 公司研制 3 3 3 3 3 3 关系数据语言的特点关系数据语言的特点 1 一体化 一般关系系统的数据语言都同时具有数据定义 数据操纵和数据控制语言 而不是分为 几个语言 对象单一 都是关系 因此操作符也单一 而非关系型系统 如 DBTG 有对记录的操作 有对系的操作 2 非过程化 用户只需提出 做什么 无须说明 怎么做 存取路径的选择和操作过程由系统自 动完成 3 面向集合的存取方式 操作对象是一个或多个关系 结果是一个新的关系 一次一关系 非关 系系统是一次一记录的方式 4 3 3 4 4 关系代数关系代数 3 3 4 4 1 1 关系代数关系代数 1 基本运算 A 一元运算 选择 投影 更名 B 多元运算 广义笛卡儿积 并 集合差 2 其它运算 集合交 自然连接 除 赋值 3 扩展运算 广义投影 外连接 聚集 4 修改操作 插入 删除 更新 3 3 4 4 2 2 一些标记一些标记 给定关系模式 R A1 A2 An 设 R 是它的一个具体的关系 t R 是关系的一个元组 分量 设 t R 则 t Ai 表示元组 t 中相应于属性 Ai 的一个分量 属性列 A Ai1 Ai2 Aik A1 A2 An 称 A 为属性列或域列 t Ai t Ai1 t Ai2 t Aik 3 3 4 4 3 3 选择选择 1 基本定义 在关系 R 中选择满足给定条件的元组 从行的角度 F R t t R F t 真 F 是选择的条件 t R F t 要么为真 要么为假 2 F 的形式 由逻辑运算符连接算术表达式而成 逻辑表达式 与 或 非 算术表达式 X Y X Y 是属性名 常量 或简单函数 是比较算符 例 例 找年龄不小于 20 的男学生 AGE 20 SEX male S 3 3 4 4 4 4 投影投影 1 定义 从关系 R 中取若干列组成新的关系 从列的角度 A R t A t R A R 投影的结果中要去掉相同的行 例 例 ABCD aBcd eFgh iBcl B C R 结果是 例 例 找 001 号学生所选修的课程号 C S 001 SC 5 3 3 4 4 5 5 并运算并运算 1 定义 所有至少出现在两个关系中之一的元组集合 R U S r r R v r S R S 2 两个关系 R 和 S 若进行并运算 则它们必须是相容的 A 关系 R 和 S 必须是同元的 即它们的属性数目必须相同 B 对 i R 的第 i 个属性的域必须和 S 的第 i 个属性的域相同 例 例 求选修了 001 号或 002 号课程的学生号 方案 1 S C 001 v C 002 SC 方案 2 S C 001 SC S C 002 SC 3 3 4 4 6 6 差运算差运算 1 定义 所有出现在一个关系而不在另一关系中的元组集合 R S r r R r S R S R 和 S 必须是相容的 例 例 求选修了 001 号而没有选 002 号课程的学生号 S C 001 SC S C 002 SC 3 3 4 4 8 8 更名运算更名运算 1 定义 给一个关系表达式赋予名字 x E 返回表达式 E 的结果 并把名字 x 赋给 E x A1 A2 An E 返回表达式 E 的结果 并把名字 x 赋给 E 同时将各属性更名为 A1 A2 An 关系被看作一个最小的关系代数表达式 可以将更名运算施加到关系上 得到具有不同名字的同 一关系 这在同一关系多次参与同一运算时很有帮助 3 3 4 4 7 7 广义笛卡尔积运算广义笛卡尔积运算 1 元组的连串 Concatenation 若 r r1 rn s s1 sm 则定义 r 与 s 的连串为 rs r1 rn s1 6 sm 2 定义 两个关系 R S 其度分别为 n m 则它们的笛卡尔积是所有这样的元组集合 元组的前 n 个分量 是 R 中的一个元组 后 m 个分量是 S 中的一个元组 R S rs r R s S R S 的度为 R 与 S 的度之和 R S 的元组个数为 R 和 S 的元组个数的乘积 例 例 求数学成绩比王红同学高的学生姓名 S 姓名 R 成绩 S 成绩 R 课程 数学 S 课程 数学 R 姓名 王红 R S R 姓名课程成绩 张三物理 93 王红数学 86 张三数学 89 R 姓名R 课程R 成绩S 姓名S 课程S 成绩 王红数学 86 张三物理 93 王红数学 86 王红数学 86 王红数学 86 张三数学 89 3 3 4 4 8 8 交运算交运算 1 定义 所有同时出现在两个关系中的元组集合 R S r r R r S R R S S 交运算可以通过差运算来重写 R S R R S 例 例 求选修了 001 号和 002 号课程的学生号 S C 001 SC S C 002 SC 3 3 4 4 9 9 连接连接 1 定义 从两个关系的广义笛卡儿积中选取给定属性间满足一定条件的元组 R S rs r R s S r A S B 为算术比较符 为等号时称为等值连接 为 时 为大于连接 为 时 为小于连接 例 例 R ABC 123 456 789 A B 7 S DE 31 62 R S B D ABCDE 12331 12362 45662 例 例 求数学成绩比王红同学高的学生 S 姓名 课程 数学 姓名 王红 R 课程 数学 S R R 成绩 S 成绩 2 自然连接 从两个关系的广义笛卡尔积中选取在相同属性列 B 上取值相等的元组 并去掉重复的 列 R S rs B r R s S r B S B 自然连接与等值连接的不同 自然连接中相等的分量必须是相同的属性组 并且要在结果中去掉 重复的属性 而等值连接则不必 例 例 求 001 号学生所在系的名称 DN S 001 S DEPT 3 当 R 与 S 无相同属性时 R S R S 3 3 4 4 1010 除运算除运算 1 除运算 给定关系 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 Z tr R y S YX 其中 YX 为 x 在 R 中的象集 x tr Z 例 R ABC a1b1c2 a2b3c7 a3b4c6 a1b2c3 a4b6c6 a2b2c3 a1b2c1 S BCD b1c2d1 8 b2c1d1 b2C1d2 1 象集 Image Set 关系 R X Z X Z 是属性组 x 是 X 上的取值 定义 x 在 R 中的象集为 Zx t Z t R t X x 从 R 中选出在 X 上取值为 x 的元组 去掉 X 上的分量 只留 Z 上的分量 X Z 姓名课程 张三物理 王红数学 张三数学 x 张三 Zx 课程 物理 数学 2 除运算 例 例 3 3 4 4 1111 赋值运算赋值运算 为使查询表达简单 清晰 可以将一个复杂的关系代数表达式分成几个部分 每一部分都赋予一 个临时关系变量 该变量可被看作关系而在后面的表达式中使用 临时关系变量 关系代数表达式 赋值给临时关系变量只是一种结果的传递 而赋值给永久关系则意味着对数据库的修改 例 例 R S X R X X R Y S R 用赋值重写为 temp1 X R 9 temp2 X temp1 Y S R result temp1 temp2 例 例 求选修了其选修课为 001 号课程的学生名 哪个效率高 方案 1 SN PC 001 SC C S 方案 2 SN PC 001 C SC S 例 例 求未选修 001 号课程的学生号 哪些正确 方案 1 S C 001 SC 方案 2 S S S C 001 SC 例 例 求仅选修了 001 号课程的学生号 选修 001 号课程的学生 仅选 001 号课程之外的学生 S C 001 SC S SC C 001 SC S C 001 SC S C 001 SC 3 3 4 4 1212 广义投影广义投影 1 定义 在投影列表中使用算术表达式来对投影进行扩展 F1 F2 Fn E F1 F2 Fn 是算术表达式 例 例 求教工应缴纳的所得税 P SAL 5 100 PROF p INCOME TAX P SAL 5 100 PROF 3 3 4 4 1313 外连接外连接 1 定义 为避免自然连接时因失配而发生的信息丢失 可以假定往参与连接的一方表中附加一个取 值全为空值的行 它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配 称之为外连接 外连接 自然连接 失配的元组 2 外连接的形式 左外连接 右外连接 全外连接 左外连接 自然连接 左侧表中失配的元组 右外连接 自然连接 右侧表中失配的元组 全外连接 自然连接 两侧表中失配的元组 例 例 10 列出所有老师的有关信息 包括姓名 工资 所教授的课程 11 3 3 4 4 1414 聚集函数聚集函数 1 定义 求一组值的统计信息 返回单一值 使用聚集的集合可以是多重集 即一个值可以重复出现多次 如果想去除重复值 可以用连接符 将 distinct 附加在聚集函数名后 如 sum distinct A sum 求和 求全体教工的总工资 sum SAL PROF 求 001 号学生的总成绩 sum SCORE S 001 SC B avg 求平均 求 001 号同学选修课程的平均成绩 Avg SCORE S 001 SC C count 计数 求 001 号同学选修的课程数 countC S 001 SC 求任课老师的总数 count distinctP PC D max 求最大值 min 求最小值 求学生选修数学的最高成绩 Max SCORE CN 数学 C SC 2 分组 将一个元组集合分为若干个组 在每个分组上使用聚集函数 属性下标 G 聚集函数 属性下标 关系 分组运算 G 的一般形式 G1 G2 Gn G F1 A1 F2 A2 Fm Am E Gi 是用于分组的属性 Fi 是聚集函数 Ai 是属性名 G 将 E 分为若干组 满足 A 同一组中所有元组在 G1 G2 Gn 上的值相同 B 不同组中元组在 G1 G2 Gn 上的值不同 例 例 求每位学生的总成绩和平均成绩 S G sumSCORE avgSCORE SC 3 3 4 4 1515 数据库修改数据库修改 1 删除 将满足条件的元组从关系中删除 r r E 是对永久关系的赋值运算 12 例 例 删除 001 号老师所担任的课程 PC PC PC 001 PC 删除没有选课的学生 S S S S S SC S 2 插入 插入一个指定的元组 或者插入一个查询结果 r r E 例 例 新加入一个老师 PC PC P07 周正 750 D08 加入计算机系学生选修 数学 的信息 SC SC S S DN 计算机系 DEPT C CN 数学 C 3 更新 利用广
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技创业贷款合同
- 测绘项目跟踪合同
- VR品牌体验馆搭建合同
- 2025版环保节能型变形缝施工及效果评价合同
- 2025版电缆检测服务合同规范样本
- 2025版海绵城市建设内部承包合同
- 二零二五年度新能源汽车技术研发与推广服务合同
- 二零二五年度酒店餐饮服务员聘用合同范本
- 二零二五年度餐饮店面租赁合同附带设备租赁及升级服务
- 二零二五年大型工程用铲车租赁合同范本
- JJG 667-2025液体容积式流量计检定规程
- 介入术后迷走神经反射护理讲课件
- 2025至2030中国核桃油行业市场发展分析及投资前景与投资策略报告
- QGDW10212-2019电力系统无功补偿技术导则
- 2025年网络营销管理师考试试题及答案
- 标签印刷品质管理制度
- 农业高级工考试题及答案
- 银行设备间管理制度
- 城市韧性建设研究-洞察及研究
- 房屋建筑工程竣工验收技术资料统一用表(上册)
- 牛奶面包食品配送服务 投标方案(技术方案)
评论
0/150
提交评论