




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
现代制造信息技术基础第一部分数据库系统概论关系数据理论 徐世新北京航空航天大学机械学院7202002年7月 主要内容 问题的提出回顾关系模型的形式化定义数据依赖的描述 规范化函数依赖码范式2NF3NFBCNF多值依赖4NF 数据依赖的公理系统模式的分解 问题的提出 回顾 关系模型的形式化定义 问题 针对一个具体问题 应该如何构造一个适合于它的数据模式 即应该构造几个关系模式 每个关系由哪些属性组成等 关系模式 关系的描述 关系模式可以形式化地表示为 R R 关系名U 组成该关系的属性名集合D 属性组U中属性所来自的域dom 属性向域的映象集合F 属性组U上的一组数据依赖 关系模式所有可能的关系必须满足一定的完整性约束条件 这些约束或者通过对属性取值范围的限定 或者通过属性值间的相互关连反映出来 属性值间的相互关连称为数据依赖 1 由于 U中属性所来自的域D 和 属性到域的映射dom 对模式设计关系不大 因此我们这里将关系模式看作一个三元组 R 当且仅当U上的一个关系r满足F时 r称为关系模式R的一个关系 2 对关系的基本要求 每一个分量必须是不可分的数据项 满足了这个条件的关系模式就属于第一范式 1NF 3 题目 在模式设计中 假设已知一个模式S 它仅由单个关系模式组成 问题是要设计一个模式SD 它与S 等价 但在某些指定的方面 更好 一些 对数据依赖的描述 数据依赖是通过一个关系中属性间值的相等与否体现出来的数据间的相互关系 数据依赖中最重要的是函数依赖 FD 和多值依赖 MVD 对数据依赖的描述 例如 描述一个学生的关系 可以有学号 SNO 姓名 SNAME 系名 SDEPT 等几个属性 由于一个学号只对应一个学生 一个学生只在一个系学习 因而当SNO值确定之后 SNAME和SDEPT的值也就被唯一地确定了 称SNO函数决定SNAME和SDEPT 或者说SNAME SDEPT函数依赖于SNO 记为 SNO SNAME SNO SDEPT 示例 建立一个数据库来描述学生的一些情况 对象有 学生 SNO 系 SDEPT 系负责人 MN 课程 CNAME 和成绩 G 对数据依赖的描述 已知的事实有 1 一个系有若干学生 但一个学生只属于一个系 2 一个系只有一名 正职 负责人 3 一个学生可以选修多门课程 每门课程有若干学生选修 4 每个学生学习一门课程有一个成绩 描述学校数据库的模式S 它由一个单一的关系模式构成 注 在此模式中 SNO和CNAME不能为空 此模式有下述缺陷 1 插入异常 对数据依赖的描述 属性组U SNO SDEPT MN CNAME G U上的一组函数依赖F SNO SDEPT SDEPT MN SNO CNAME G 2 删除异常 若某系的学生全部毕业了 在删除该系学生选修课程的同时 把该系及其负责人的信息也丢掉了 3 冗余太大 比如 每个系负责人的姓名要与该系每个学生的每门功课出现的次数一样多 若一个系刚成立尚无学生 或虽有学生但尚未排课 则无法将该系及其负责人的信息存入数据库 因为在上述情况下 SNO或CNAME不存在 对数据依赖的描述 模式R SNO SDEPT MN CNAME G SNO SDEPT SDEPT MN SNO CNAME G 中的函数依赖存在某些不好的性质 假如把它分成如下的三个模式 S SNO SDEPT SNO SDEPT SG SNO CNAME G SNO CNAME G DEPT SDEPT MN SDEPT MN 就不会发生插入异常 删除异常的毛病 数据的冗余也得到了控制 规范化 1 X Y 但Y X且Y X 则称X Y是非平凡的函数依赖 2 X Y 但Y X 则称X Y是平凡的函数依赖 3 若X Y Y X 则记作X Y 4 若Y不依赖于X 则记作X Y 定义 设R U 是属性集U上的关系模式 X Y是U的子集 若对于R U 的任意一个可能的关系r r中不可能存在两个元组在X上的属性值相等 而在Y上的属性值不等 则称X函数确定Y或Y函数依赖于X 记作X Y 其中X叫做决定因素 函数依赖 定义 在R U 中 若X Y 且对于X的任何一个真子集X 都有X Y 则称Y对X完全函数依赖 记作XF Y 若X Y 但Y不完全函数依赖于X 则称Y对X部分函数依赖 记作XP Y 在关系S SNO SNAME SDEPT SAGE 中 SNO SDEPT SNO SAGE SNO SNAME 假设无重名 在关系SC SNO CNO G 中 SNO CNO SNO G SNO CNO F G 定义 在R U 中 若X Y Y X且Y X Y X Y Z 则称Z对X传递函数依赖 码 定义 设K为R中的属性或属性组 若KF U 则K为R的候选码 若候选码多于一个 则选定其中的一个为主码 包含在任何一个候选码中的属性 叫做主属性 不包含在任何码中的属性称为非主属性 关系模式R Performer Opus Audience 假设一个演奏者可以演奏多个作品 某一作品可被多个演奏者演奏 听众可以欣赏不同演奏者的不同作品 这个关系模式的码为Performer Opus Audience 即全码 All key 定义 关系模式R中属性或属性组X并非R的码 但X是另一个关系模式的码 则称X为R的外码 例如 SC SNO CNO G 中 SNO不是码 但SNO是关系模式S SNO SDEPT SAGE 的码 则SNO是关系模式SC的外码 关系数据库中的关系是要满足一定要求的 满足不同程度要求的为不同范式 满足最低要求的叫第一范式 简称1NF 在第一范式中满足进一步要求的为第二范式 其余以此类推所谓 第几范式 是指符合某一级别的关系模式的集合 R为第几范式就可以写成R xNF各种范式之间的联系 5NF 4NF BCNF 3NF 2NF 1NF一个低一级范式的关系模式 通过模式分解可以转换为若干个高一级范式的关系模式的集合 这种过程就叫规范化 范式 反例 关系模式S L C SNO SDEPT SLOC CNO G 其中 SLOC为学生的住处 且每个系的学生住在同一个地方函数依赖有 SNO CNO F GSNO SDEPT SNO CNO P SDEPTSNO SLOC SNO CNO P SLOCSDEPT SLOC 2NF 定义 若R 1NF 且每一个非主属性完全函数依赖于码 则R 2NF 可以看到非主属性SDEPT SLOC并不完全函数依赖于码 SNO CNO 因此S L C 2NF 2NF 一个关系模式R 2NF 会产生下述问题 1 插入异常 假如要插入一个学生SNO S7 SDEPT PHY SLOC DORM2 但该生还未选课 即该生无CNO 这样的元组就插不进S L C中 因为码值的一部分为空 因而学生的固有信息无法插入 2 删除异常 假定学生S4原来只选一门课C3 现C3这门课他也不选了 那么C3这个数据项就要删除 而C3是主属性 删除了C3 整个元组就必须跟着删除 使得S4的其他信息也被删除了 从而造成删除异常 即不该删除的信息也被删除了 3 修改复杂 某学生从MA系转到CS系 这本来只需修改此学生的元组中的SDEPT分量 但因为S L C中还含有系的住处SLOC属性 学生转系将同时改变住处 因而还必须修改元组中的SLOC分量 另外 若该生选修了k门课 SDEPT SLOC重复存储了k次 不仅冗余度大 且必须无遗漏地修改k个元组中全部SDEPT SLOC信息 造成修改的复杂化 解决办法 用投影分解问题在于非主属性有两种 一种如G 它对码是完全函数依赖 另一种如SDEPT SLOC 对码是部分函数依赖 解决办法是用投影分解把关系模式S L C分解为两个关系模式 SC SNO CNO G 和S L SNO SDEPT SLOC 使得非主属性对码都是完全函数依赖 2NF 推论 若R 3NF 则每个非主属性既不部分依赖于码也不传递依赖于码 3NF 定义 关系模式R中若不存在这样的码X 属性组Y及非主属性Z Z Y且Z Y 使得X Y Y X Y Z成立 则称R 3NF 例子 在关系模式R 职工号 工资级别 应发工资 中 职工号 工资级别 而工资级别 应发工资 因此有职工号传递 应发工资 R 3NF 关系模式S L SNO SDEPT SLOC 中 由SNO SDEPT SDEPT SNO SDEPT SLOC 可得SNO传递 SLOC 因此S L 3NF 关系模式SC SNO CNO G 中没有传递依赖 SC 3NF 解决办法也用投影分解 将S L SNO SDEPT SLOC 分解为S D SNO SDEPT 和D L SDEPT SLOC 分解后S D 3NF D L 3NF 一个满足BCNF的关系模式有 所有非主属性对每个码都是完全函数依赖 所有主属性对每个不包含它的码 也是完全函数依赖 没有任何属性完全函数依赖于非码的任何一组属性 BCNF 定义 关系模式R 1NF 若X Y Y X且Y X 时X必包含有码 则称R BCNF 推论 关系模式R中 若每个决定因素都包含码 则R BCNF 例子 关系模式C CNO CNAME PCNO C 3NF 同时C中CNO是唯一的决定因素 所以C BCNF 对于关系模式S SNO SNAME SDEPT SAGE 假定SNAME具有唯一性 则S有两个码 其他属性不存在对码的部分依赖和传递依赖 所以S 3NF 同时S中除SNO SNAME外没有其他决定因素 所以S BCNF BCNF 例子 关系模式SCP Student Course Place 每个学生选修每门课程的成绩有一定的名次 每门课程中每一名次只有一个学生 由语义可得到函数依赖 Student Course Place Course Place Student 所以 Student Course Course Place 都可作为候选码 SCP中无非主属性 故SCP 3NF SCP中无其他决定因素 故SCP BCNF 关系模式STC S T C 中 S学生 T教师 C课程 每一教师只教一门课 每门课有若干教师 某一学生选定某门课 就对应一个固定的教师 由语义可得到函数依赖 S C T T C S C 是STC的码 因为 S C F T 且T无对 S C 的传递依赖 故STC 3NF 但STC BCNF 因为T是决定因素 而T不包含码 BCNF 非BCNF的关系模式可通过投影分解成为BCNF 例如 STC可分解为ST S T 和TC T C 它们都是BCNF 一个模式中的关系模式若都属于BCNF 则在函数依赖范畴内 它已实现了彻底的分离 已消除了插入和删除的异常 3NF的 不彻底 性表现在可能存在主属性对码的部分依赖和传递依赖 例子 关系模式R BNO BName Author 中 BNO表示书号 Bname表示书名 Author表示作者 有如下约定 每个书号只有一个书名 但不同书号可以有相同的书名 每本书可以有多个作者合写 但每个作者参与编写的书的书名互不相同 于是可得到两个函数依赖 BNO BName Author BName BNO 因此R的候选码有 BName Author 和 BNO Author R的所有属性都是主属性 故R 3NF 但R BCNF 因为BNO是决定因素 而BNO不包含码 多值依赖 例1 学校中某一门课程由多个教员讲授 他们使用一套相同的参考书 每个教员可以讲授多门课程 每种参考书可以供多门课程使用 关系模式TEACHING C T B 多值依赖 定义 设R U 是属性集U上的一个关系模式 X Y Z是U的子集 且Z U X Y R U 中多值依赖X Y成立 当且仅当对R U 的任一关系r 给定的一对 x z 值 有一组Y的值 这组值仅仅决定于x值而与z值无关 对于多值依赖的另一个等价的形式化定义是 定义 设R U 是属性集U上的一个关系模式 X Y Z是U的子集 且Z U X Y 在R U 的任一关系r中 若存在元组t s使得t X s X 则必然存在元组w v r w v可以与s t相同 使得w X v X t X 而w Y t Y w Z s Z v Y s Y v Z t Z 即交换s t元组的Z值所得的两个新元组必在r中 则Y多值依赖于X 记为X Y 定义 若X Y 而Z 则称X Y为平凡的多值依赖 在关系模式R U 中 X Y Z是U的子集 且Z U X Y 小写xyz表示属性集XYZ的值 只要r是R的关系 r中存在元组 x y1 z1 和 x y2 z2 时 就也存在元组 x y1 z2 和 x y2 z1 则称多值依赖在X Y在R上成立 多值依赖 例2 关系模式WSC W S C 中 W仓库 S保管员 C商品 假设每个仓库有若干保管员 有若干商品 每个保管员保管所在的仓库的所有商品 每种商品被所有保管员保管 按照语义对于W的每一个值Wi S有一个完整的集合与之对应而不论C取何值 故W S 同样 对于W的每一个值Wi C有一个完整的集合与之对应而不论S取何值 故W C 多值依赖 多值依赖具有以下性质 多值依赖具有对称性 即若X Y 则X Z 其中Z U X Y 多值依赖的传递性 即若X Y Y Z 则X Z 函数依赖可以看作是多值依赖的特殊情况 即若X Y 则X Y 若X Y X Z 则X YZ 若X Y X Z 则X Y Z 若X Y X Z 则X Y Z X Z Y 多值依赖 多值依赖与函数依赖相比 有下面两个基本的区别 1 多值依赖的有效性与属性集的范围有关若X Y在U上成立 则在W XY W U 上一定成立 反之则不然 即X Y在W W U 上成立 在U上不一定成立 这是因为多值依赖的定义中不仅涉及属性组X和Y 而且涉及U中其余属性Z 但在关系模式R U 中函数依赖X Y的有效性仅决定于X Y这两个属性集的值 只要在R U 的任何一个关系r中 函数依赖X Y成立 则X Y在任何属性集W XY W U 上也成立 2 若函数依赖X Y在R U 上成立 则对于任何Y Y均有X Y 成立 而多值依赖X Y若在R U 上成立 却不能断言对于任何Y Y有X Y 成立 4NF 定义 关系模式R U 1NF 若对于R的每个非平凡多值依赖X Y Y X且Y X X都含有码 则称R 4NF 4NF就是限定关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖 4NF所允许的非平凡的多值依赖实际上是函数依赖 例子 关系模式WSC W S C 的码是 W S C 即全码 W S W C 它们都是非平凡的多值依赖 而W不是码 故WSC 4NF 但WSC BCNF 存在的问题 数据冗余度大 若某一仓库Wi有n个管理员 存放m件物品 则关系WSC中分量为Wi的元组数目是m n个 每个保管员重复存储m次 每种物品重复存储n次 解决方法 用投影分解的方法消去非平凡且非函数依赖的多值依赖 例如 可把WSC分解为WS W S 和WC W C 在WS中虽然有W S 但这是平凡的多值依赖 WS中已不存在非平凡的非函数依赖的多值依赖 故WS 4NF 同理WC 4NF 规范化小结 1 规范化的目的 在关系数据库中 对关系模式的基本要求是1NF 但人们发现有些关系模式存在插入异常 删除异常 修改复杂 数据冗余等毛病 规范化就是寻求解决这些问题的方法 2 规范化的基本思想 逐步消除数据依赖中不合适的部分 使模式中的各关系模式达到某种程度的 分离 让一个关系描述一个概念 一个实体或者实体间的一种联系 若多余一个概念就把它们 分离 出去 3 规范化理论为数据库设计提供了理论的指南和工具 我们必须结合应用的具体环境和现实世界的具体情况合理地选择数据库模式 规范化小结 4 关系模式的规范化过程是通过对关系模式的分解来完成的 把低一级的关系模式分解为若干个高一级的关系模式 数据依赖的公理系统 定义 对于满足一组函数依赖F的关系模式R 其任何一个关系r 若函数依赖X Y都成立 即r中任意两元组t s 若t X s X 则t Y s Y 则称F逻辑蕴涵X Y 数据依赖的公理系统 Armstrong公理系统 设U为属性集总体 F是U上的一组函数依赖 于是有关系模式R 对R来说 有以下的推理规则 A1自反律 若Y X U 则X Y为F所蕴涵 A2增广律 若X Y为F所蕴涵 且Z U 则XZ YZ A3传递律 若X Y及Y Z为F所蕴涵 则X Z为F所蕴涵 由自反律所得到的函数依赖均是平凡的函数依赖 自反律的使用并不依赖于F 证 因为不可能在一个关系中存在两个元组在X上是相等的 而在X的某个子集Y上不相等 证 设R的任一关系r中任意的两个元组t s 若t XZ s XZ 则t X s X 和t Z s Z 由X Y 得t Y s Y 故t YZ s YZ 故XZ YZ为F所蕴涵 证 设R的任一关系r中任意的两个元组t s 若t X s X 由X Y 得t Y s Y 再由Y Z 得t Z s Z 故X Z为F所蕴涵 数据依赖的公理系统 引理 X A1A2 Ak成立的充分必要条件是X Ai成立 i 1 2 k 合并规则 由X Y X Z 有X YZ 证 由增广律得 X XY XY ZY 再由传递律得X YZ 伪传递规则 由X Y WY Z 有XW Z 证 由增广律得 WX WY 再由传递律得WX Z 即XW Z 分解规则 由X Y Z Y 有X Z 证 Z Y 由自反律得 Y Z 再由传递律得X Z 定义 在关系模式R中为F所逻辑蕴涵的函数依赖的全体叫做F的闭包 记为F Armstrong公理的有效性指的是 由F出发根据Armstrong公理推导出来的每一个函数依赖一定在F 中 Armstrong公理的完备性指的是 F 中的每一个函数依赖 必定可以由F出发根据Armstrong公理推导出来 数据依赖的公理系统 定义 设F为属性集U上的一组函数依赖 X U XF A X A能由F根据Armstrong公理导出 XF 称为属性集X关于函数依赖集F的闭包 引理 设F为属性集U上的一组函数依赖 X Y U X Y能由F根据Armstrong公理导出的充分必要条件是Y XF 算法 求属性集X X U 关于U上的函数依赖集F的闭包XF 输入 X F输出 XF 步骤 令X 0 X i 0 求B 这里B A V W V W F V X i A W X i 1 B X i 判断X i 1 X i 吗 若相等或X i 1 U 则X i 1 就是XF 算法终止 若否 则i i 1 返回第 步注 该算法最多 U X 次循环就会终止 证 设Y A1A2 Ak 充分性 Y XF 据XF 定义可知 X Ai i 1 2 k 能由F据Armstrong公理导出 再据合并规则可得X A1A2 Ak 即X Y 必要性 X Y能由F据Armstrong公理导出 据分解规则可得 X Ai i 1 2 k 再据XF 定义有Ai XF 故A1A2 Ak XF 即Y XF 数据依赖的公理系统 例1 已知关系模式R 其中U A B C D E F AB C B D C E EC B AC B 求 AB F 解 X 0 AB 计算X 1 逐一扫描F集合中各个函数依赖 找左部A B或AB的函数依赖 得到两个 AB C B D X 1 AB CD ABCD 因为X 0 X 1 所以再找出左部为ABCD子集的那些函数依赖 又得到C E AC B 于是X 2 X 1 BE ABCDE因为X 2 已等于全部属性集合 AB F ABCDE 定理 Armstrong公理系统是有效的 完备的 有效性是指 由F出发据Armstrong公理导出的每一个函数依赖一定在F 中 完备性是指 F 中的每一个函数依赖 必定可以由F出发据Armstrong公理导出 分析 证明完备性的逆否命题 即若函数依赖X Y不能由F从Armstrong公理导出 则它必然不为F所蕴涵 X Y不在F 现在要证明X Y不在F 中 即X Y在模式R的某个关系r上不成立 因此可采用构造r的方法来证明 数据依赖的公理系统 证 若V W成立 且V XF 则W XF 由V XF 故有X V成立 于是X W成立 因X V V W 故W XF 构造一张表r 它仅有下列两个元组t1和t2 其中t1在XF 中的属性上的值为1 但在其他属性上的值为0 t2在全部属性上的值均为1 现在来证明r一定是R的一个关系 即证明F中的每一个函数依赖V W在r上均成立 V有两种情况 或者V XF 或者V XF V不是XF 的子集 若V XF 由第 步 W XF 所以V XF 和W XF 同时成立 从关系r上可以看出 V W在r上是成立的 若V不是XF 的子集 即V中含有XF 外的属性 此时关系r的两个元组在V值上不相等 因此V W在r上成立 若X Y不能由F从Armstrong公理导出 则Y不是XF 的子集 因此必有Y的子集Y 满足Y U XF 则X Y在r中不成立 即X Y必不为R蕴含 数据依赖的公理系统 定义 如果G F 就说函数依赖集F覆盖G F是G的覆盖 或G是F的覆盖 或F与G等价 引理 F G 的充分必要条件是F G G F Armstrong公理的完备性及有效性说明了 导出 与 蕴含 是两个完全等价的概念 于是也可以这样说 F 是由F出发借助Armstrong公理导出的函数依赖的集合 证 证明充分性 若F G G F 则F G 若F G 则XF X G 对于任意一个属性A XF 根据定义 X A能由F据Armstrong公理导出 另方面 由于F G 当然X A也能由G 据Armstrong公理导出 根据定义有A X G 所以XF X G 必要性 若F G 则有F G G F 显然F F G G G F 数据依赖的公理系统 任取X Y F 由Armstrong公理系统的完备性可知 X Y必定可由F据Armstrong公理导出 所以Y XF 又由第 步得 Y X G 这说明X Y也能由G 出发据Armstrong公理系统导出 根据Armstrong公理系统的有效性 X Y G G 所以F G 同理可证 G F 所以F G 定义 如果函数依赖集F满足下列条件 则称F为一个极小函数依赖集 亦称为最小依赖集或最小覆盖 F中任一函数依赖的右部仅含有一个属性 F中不存在这样的函数依赖X A 使得F与F X A 等价 F中不存在这样的函数依赖X A X有真子集Z使得F与F X A Z A 等价 例2 考察关系模式S 其中 U SNO SDEPT MN CNAME G F SNO SDEPT SDEPT MN SNO CNAME G F SNO SDEPT SNO MN SDEPT MN SNO CNAME G SNO SDEPT SDEPT 可以验证 F是极小依赖集 而F 不是 因为F SNO MN 与F 等价 F SNO SDEPT SDEPT 与F 等价 数据依赖的公理系统 定理 每一个函数依赖集F均等价于一个极小函数依赖集Fm 此Fm称为F的最小依赖集 证 这是一个构造性的证明 分三步对F进行 极小化处理 找出F的一个最小依赖集来 逐一检查F中各函数依赖FDi X Y 若Y A1A2 Ak k 2 则用 X Aj j 1 2 k 来取代X Y 逐一检查F中各函数依赖FDi X A 令G F X A 若A XG 则从F中去掉此函数依赖 因为F与G等价的充要条件是A XG 证 G F X A 充分性 若A XG 则F G A XG 依定义 X A能由G据Armstrong公理导出 故X A G 因此G X A F G 另有G F F 所以F G 必要性 若F G 则A XG 由F G 得F G 所以X A G 据Armstrong公理的完备性 X A必定可由G出发据Armstrong公理导出 再据XG 的定义 所以有A XG 数据依赖的公理系统 逐一取出F中各函数依赖FDi X A 设X B1B2 Bm 逐一考查Bi i 1 2 m 若A X Bi F 则以X Bi取代X 因为F与F X A X Bi A 等价的充要条件是A X Bi F 最后剩下的F就一定是极小依赖集 且与原来的F等价 因为对F的每一次 改造 都保证了改造前后的两个函数依赖集等价 例3 F A B B A B C A C C A 这里给出F的两个最小覆盖 Fm1 A B B C C A Fm2 A B B A A C C A 两个关系模式R1和R2 若F与G等价 则R1的关系一定是R2的关系 反之亦然 故在R中用与F等价的依赖集G来取代F是允许的 证 G F X A X Bi A 充分性 若A X Bi F 则F G A X Bi F 依定义 X Bi A能由F据Armstrong公理导出 故X Bi A F 因此G F 另方面 X A能由G中的函数依赖X Bi A据Armstrong公理的自反律导出 所以X A G 从而F G 所以F G 必要性 若F G 则A X Bi F 由F G 得G F 所以X Bi A F 据Armstrong公理的完备性 X Bi A必定可由F出发据Armstrong公理导出 所以有A X Bi F 模式的分解 模式的分解 简介 定义 关系模式R的一个分解是指 R1 R2 Rn 其中U Ui 且没有Ui Uj 1 i j n Fi是Ui上的投影 定义 函数依赖集合 X Y X Y F XY Ui 的一个覆盖Fi叫做F在属性Ui上的投影 对一个模式的分解是多种多样的 但分解后产生的模式应与原模式等价 对 等价 的概念有三种不同的定义 分解具有 无损连接性 Losslessjoin 分解要保持 保持函数依赖 Preservedependency 分解既要 保持函数依赖 又要具有 无损连接性 按模式分解的定义 首先要求R分解后的各关系模式所含属性的 并 等于U 但仅有这个限定是很不够的 一个关系分解为多个关系 相应地原来存储在一张二维表内的数据就要分散存储到多张表中 要使这个分解有意义 起码的要求是后者不能丢失前者的信息 模式的分解 简介 例4 已知关系模式R 其中 U SNO SDEPT MN F SNO SDEPT SDEPT MN R的元组语义是学生SNO正在SDEPT系学习 其系主任是MN 并且每个学生 SNO 只在一个系学习 一个系只有一名主任 由于R中存在传递函数依赖SNO MN 它会发生更新异常 于是进行了如下分解 1 R1 R2 R3 r1 S1 S2 S3 S4 r2 D1 D2 D3 r3 张五 李四 王一 对于分解后的数据库 要回答 S1在哪个系学习 是不可能的了 这样的分解丢失了原有信息 没有用处 模式的分解 简介 如果分解后的数据库能够恢复到原来的情况 不丢失信息的要求也就达到了 Ri向R的恢复是通过自然连接来实现的 这就产生了无损连接性的概念 对R进行另一种分解 2 R1 R2 可以证明 2对R的分解是可恢复的 但前面提到的更新异常仍未解决 原因在于原来在R中存在的函数依赖SDEPT MN 现在在R1和R2中都不存在了 因此人们又要求分解具有 保持函数依赖 的特性 模式的分解 简介 最后对R进行以下一种分解 3 R1 R2 可以证明分解 3对R的分解既具有无损连接性 又保持函数依赖 它解决了更新异常 又没有丢失原有信息 这是所希望的分解 关于模式分解的几个重要事实 若要求分解保持函数依赖 则模式分离总可以达到3NF 但不一定能达到BCNF 若要求分解既保持函数依赖 又具有无损连接性 则可以达到3NF 但不一定能达到BCNF 若要求分解具有无损连接性 则一定可以达到4NF 习题 建立一个关于系 学生 班级 学会等诸信息的关系数据库 描述学生的属性有 学号 姓名 出生年月 系名 班号 宿舍区 描述班级的属性有 班号 专业名 系名 人数 入校年份 描述系的属性有 系名 系号 系办公室地点 人数 描述学会的属性有 学会名 成立年份 地点 人数 有关语义如下 一个系有若干专业 每个专业只招一个班 每个班有若干学生 一个系的学生住在同一宿舍区 每个学生可参加若干学会 每个学会有若干学生 学生参加某学会有一个入会年份 请给出关系模式 写出每个关系模式的函数依赖集 指出各关系的候选码 外部码 习题 1 由语义可以得到如下的函数依赖专业名 系号 专业名 入校年份 F 班号学号 班号系号 宿舍区 学号 学会名 F 入会年份 2 关系模式SpecDept 专业名 系号 DeptDorm 系号 宿舍区 Enroll 学号 学会名 入会年份 学生 学号 姓名 出生年份 班号 班级 班号 专业名 入校年份 人数 专业名 入校年份 是侯选码系 系号 系名 系办公室地点 人数 学会 学会名 成立年份 地点 人数 习题 下图表示一个公司各部门的层次结构 对每个部门 数据库中包
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州安顺市紫云苗族布依族自治县利源融资担保有限责任公司招聘1人模拟试卷及答案详解(夺冠)
- 2025年湖南娄底市城市发展控股集团有限公司外派人员选聘模拟试卷附答案详解(突破训练)
- 2025广西河池市教师招聘中小学幼儿园教师565人考前自测高频考点模拟试题及答案详解(必刷)
- 2025安徽安庆职业技术学院招聘33人考前自测高频考点模拟试题及答案详解(新)
- 2025河南新乡市碳汇计量检测中心招聘模拟试卷及答案详解(典优)
- 2025黑龙江鸡西市中级人民法院招聘临时聘用人员2人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025北京市高校毕业生到农村从事支农工作招聘473人模拟试卷及答案详解(各地真题)
- 2025北京华商电力产业发展有限公司2025年搞笑毕业生招聘29人(第三批)考前自测高频考点模拟试题带答案详解
- 2025安徽合力股份有限公司校园招聘考前自测高频考点模拟试题附答案详解
- 2025贵州机电职业技术学院第十三届贵州人才博览会引进人才15人模拟试卷附答案详解(典型题)
- 小学科学教学仪器配备标准
- 中医护理技术的质量与安全管理
- 证据法学-证明标准课件
- 质量管理程序文件汇总
- (完整版)高考英语考纲3500词汇表
- 国家开放大学电大《课程与教学论》形考任务3试题及答案
- 商务英语口语900句
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
- 药敏试验结果的解读
- DB14∕T 1319-2021 公路工程标准工程量清单及计量规范
评论
0/150
提交评论