关系规范化_第1页
关系规范化_第2页
关系规范化_第3页
关系规范化_第4页
关系规范化_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

关系规范化篇一:1 关系规范化自测一、选择题 1. 为了设计出性能较优的关系模式,必须进行规范化,规范化主要的理论依据是(A ) 。 A. 关系规范化理论 B. 关系代数理论 C数理逻辑 D. 关系运算理论 2. 规范化理论是关系数据库进行逻辑设计的理论依据,根据这个理论,关系数据库中的关系必须满足:每一个属性都是(B ) 。 A. 长度不变的 B. 不可分解的 C互相关联的 D. 互不相关的 3. 已知关系模式 R(A,B,C,D,E)及其上的函数相关性集合 FAD,BC ,EA ,该关系模式的候选关键字是(B ) 。 B. BE D. DE 4. 设学生关系S(SNO,SNAME,SSEX,SAGE,SDPART)的主键为 SNO,学生选课关系 SC(SNO,CNO,SCORE)的主键为 SNO 和 CNO,则关系 R(SNO,CNO,SSEX,SAGE,SDPART,SCORE)的主键为 SNO 和 CNO,其满足(AAAAAAAAAAAAAAAAAAAAAAAAAA) 。A. 1NF C. 3NF D. BCNF 注:存在非主属性对码的部分函数依赖:SNOSNAME; SNOSSEX; SNOSAGE; SNOSDPART.而主码为:SNO,CNO 5. 设有关系模式 W(C,P,S,G,T,R) ,其中各属性的含义是:C 表示课程,P 表示教师,S 表示学生,G 表示成绩,T 表示时间,R 表示教室,根据语义有如下数据依赖集:D= CP, (S,C)G, (T,R)C, (T,P)R, (T,S)R ,关系模式 W 的一个关键字是(D ) 。 A. (S,C) B. (T,R) C. (T,P) D. (T,S) 6. 关系模式中,满足 2NF 的模式(B ) 。 A. 可能是 1NF B. 必定是 1NF C. 必定是 3NF D. 必定是 BCNF 7. 关系模式 R 中的属性全是主属性,则 R 的最高范式必定是(CCCCCCCCCCCCCCCCCCCCCC ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 注:不存在非主属性对码的传递函数依赖 8. 消除了部分函数依赖的 1NF 的关系模式,必定是(B ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 9. 如果 AB ,那么属性 A 和属性 B 的联系是(BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ) 。 A. 一对多 B. 多对一 C多对多 D. 以上都不是 注:例如 sno-sdept (学号所在系) 10. 关系模式的候选关键字可以有 1 个或多个,而主关键字有(C ) 。 A. 多个 B. 0 个 C. 1 个 D. 1 个或多个 11. 候选关键字的属性可以有(D ) 。 A. 多个 B. 0 个 C. 1 个 D. 1 个或多个 12. 关系模式的任何属性(A ) 。 A. 不可再分 B. 可以再分 C. 命名在关系模式上可以不唯一 D. 以上都不是 13. 设有关系模式 W(C,P,S,G,T,R) ,其中各属性的含义是:C 表示课程,P 表示教师,S 表示学生,G 表示成绩,T 表示时间,R 表示教室,根据语义有如下数据依赖集:D= CP, (S,C)G, (T,R)C, (T,P)R, (T,S)R ,若将关系模式 W 分解为三个关系模式W1(C,P) ,W2(S,C,G) ,W2(S,T,R,C) ,则 W1 的规范化程序最高达到(D ) 。 A. 1NF C. 3NF D. BCNF 14. 在关系数据库中,任何二元关系模式的最高范式必定是(DDDDDDDDDDDDDDDDDDDDDD ) 。 A. 1NF C. 3NF D. BCNF 注:不存在主属性对码的部分和传递函数依赖 15. 在关系规范式中,分解关系的基本原则是(B ) 。I.实现无损连接 II.分解后的关系相互独立 III.保持原有的依赖关系 A. 和 B. 和 C. D. 16. 不能使一个关系从第一范式转化为第二范式的条件是(B ) 。 A.每一个非属性都完全函数依赖主属性 B.每一个非属性都部分函数依赖主属性 C.在一个关系中没有非属性存在 D.主键由一个属性构成 17. 任何一个满足 2NF 但不满足 3NF 的关系模式都存在(DDDDDDDDDDDDDDDDDDDD ) 。 A.主属性对键的部分依赖 B.非主属性对键的部分依赖 C.主属性对键的传递依赖 D.非主属性对键的传递依赖 18. 设数据库关系模式 R(A,B,C,D,E) ,有下列函数依赖:ABC,DE,CD;下述对 R 的分解中,哪些分解是 R 的无损连接分解(B ) 。 (超出,是节的 内容。你可以这样理解:分解后不丢失信息) I.(A,B,C) (C,D,E) II.(A,B) (A,C,D,E) III.(A,C) (B,C,D,E) IV.(A,B) (C,D,E) A.只有 B. 和 C. 、和 D. 都不是19. 设 U 是所有属性的集合,X、Y、Z 都是 U 的子集,且 ZUXY。下面关于多值依赖的叙述中,不正确的是(C ) 。 A.若 XY,则 XZ B.若 XY,则 XY C.若 XY,且 YY,则 XY D.若 Z,则 XY 20. 若关系模式 R(U,F)属于 3NF,则(C ) 。 A. 一定属于 BCNF B. 消除了插入的删除异常 C. 仍存在一定的插入和删除异常 D. 属于 BCNF 且消除了插入和删除异常 21. 下列说法不正确的是(CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC ) 。 A. 任何一个包含两个属性的关系模式一定满足 3NF B. 任何一个包含两个属性的关系模式一定满足 BCNF C. 任何一个包含三个属性的关系模式一定满足 3NF D. 任何一个关系模式都一定有码 22. 设关系模式 R(A,B,C) ,F 是 R 上成立的 FD 集,FBC,则分解 PAB,BC相对于 F (A ) 。 (不做) A. 是无损联接,也是保持 FD 的分解 B. 是无损联接,也不保持 FD 的分解 C. 不是无损联接,但保持 FD 的分解 D. 既不是无损联接,也不保持 FD 的分解 23. 关系数据库规范化是为了解决关系数据库中(A )的问题而引入的。 A. 插入、删除和数据冗余 B. 提高查询速度 C. 减少数据操作的复杂性 D. 保证数据的安全性和完整性 24. 关系的规范化中,各个范式之间的关系是(B) 。 A. 1NF2NF3NF B. 3NF2NF1NF C. 1NF=2NF=3NF D. 1NF2NFBCNF3NF 25. 数据库中的冗余数据是指可(D )的数据 。 A. 容易产生错误 B. 容易产生冲突 C. 无关紧要 D. 由基本数据导出 26. 学生表(id,name,sex,age,depart_id,depart_name) ,存在函数依赖是idname,sex,age,depart_id;dept_iddept_name,其满足(B ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 27. 设有关系模式 R(S,D,M) ,其函数依赖集:FSD,DM,则关系模式 R 的规范化程度最高达到(B ) 。 A. 1NF B. 2NFC. 3NF D. BCNF 28. 设有关系模式 R(A,B,C,D) ,其数据依赖集:F(A,B)C,CD,则关系模式 R 的规范化程度最高达到(B ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 29. 下列关于函数依赖的叙述中,哪一条是不正确的(BBBBBBBBBBBBBBBBBBBBBBBBBBBB ) 。 A.由 XY,YZ,则 XYZ B.由 XYZ,则 XY, YZ C.由 XY,WYZ,则 XWZ D.由 XY,ZY,则 XZ 注:X(Y,Z) 则:XY, YZ 30. XY,当下列哪一条成立时,称为平凡的函数依赖(B ) 。 A. XY B. YX C. XY D. XY 31. 关系数据库的规范化理论指出:关系数据库中的关系应该满足一定的要求,最起码的要求是达到 1NF,即满足(D ) 。 A.每个非主键属性都完全依赖于主键属性 B.主键属性唯一标识关系中的元组 C.关系中的元组不可重复 D.每个属性都是不可分解的 32. 根据关系数据库规范化理论,关系数据库中的关系要满足第一范式,部门(部门号,部门名,部门成员,部门总经理)关系中,因哪个属性而使它不满足第一范式(B ) 。 A. 部门总经理 B. 部门成员 C. 部门名 D. 部门号 33. 有关系模式 A(C,T,H,R,S) ,其中各属性的含义是: C:课程 T:教员 H:上课时间 R:教室 S:学生 根据语义有如下函数依赖集: F=CT, (H,R)C, (H,T)R,C, (H,S)R (1)关系模式 A 的码是(B ) 。 A. C B.(H,S) C.(H,R) D.(H,T) (2)关系模式 A 的规范化程度最高达到(B ) 。 A. 1NF B. 2NF C. 3NF D. BCNF (3)现将关系模式 A 分解为两个关系模式 A1(C,T) ,A2(H,R,S) ,则其中 A1 的规范化程度达到(D ) 。 A. 1NF B. 2NF C. 3NF D. BCNF 试举出三个多值依赖的实例。 篇二:关系规范化举例:图书管理数据库设计 R(书编号,书名,主编,页数,类别编号,类别名称,借书证号,借者名,借书人性别,借书人所在班号,所在班的名称,借书日期,还书日期,是否归还) 1) 因为所有分量都是原子项,所以 R 属于 1NF 2) R 的主码为书编号,借书证号,借书日期,因为书编号-书名, 所以 R 不满足 2NF 3) 列出 R 中所有的非平凡、完全的函数依赖 R1(书编号,书名,主编,页数,类别编号,类别名称) R2(借书证号,借者名,借书人性别,借书人,借书人所在班号,所在班的名称) R3(书编号,借书证号,借书日期,还书日期,是否归还) 将 R 拆分成 R1,R2,R3,R1,R2,R3 均满足 2NF,黑体部分为主码 4) R3 不存在相对于主码的传递函数依赖,所以 R3满足 3NF R1 存在 书编号-类别编号,类别编号-类别名称 所以 R1 不满足 3NF,继续拆分成: R4(书编号,书名,主编,页数,类别编号) R5(类别编号,类别名称) R2 存在 借书证号-借书人所在班号,借书人所在班号-所在班的名称 所以 R2 不满足 3NF,继续拆分成: R6(借书证号,借者名,借书人性别,借书人,借书人所在班号) R7(借书人所在班号,所在班的名称) 5) 最终结果:将 R 拆分成为 R3,R4,R5,R6,R7 五个关系模式,且每个关系模 式均满足NF R3(书编号,借书证号,借书日期,还书日期,是否归还) R4(书编号,书名,主编,页数,类别编号) R5(类别编号,类别名称) R6(借书证号,借者名,借书人性别,借书人,借书人所在班号) R7(借书人所在班号,所在班的名称) 应用要点: 1 使用自增表识列(主码为多个属性) R3(记录编号,书编号,借书证号,借书日期,还书日期,是否归还) 成绩表(记录编号,学号,课程号,成绩) 2 使用自增表识列(主码为单个属性) 省市表(省市编号,省市名) 城市表(城市编号,城市名称,所属省市编号) 例:增加子类编号,子类名称,父类编号,父类名称 3 编码表 例:公司性质包括:外企,国企,合资 婚姻状况包括:已婚,未婚,丧偶,离异 公司规模:100 人以下,100-500,500-3000,3000以上 4 结合实际情况A: 举例:一本书可能有两个出版社联合出版 R(书编号,书名.,出编号,出名称,出地址,出编号,出名称,出地址) B: 举例:一本书可能有多个出版社联合出版 5 BCNF 举例 鲍依斯-科得范式(BCNF):在第三范式的基础上,数据库表中如果不存在任何字段对任一候选关键字段的传递函数依赖则符合第三范式。 假设仓库管理关系表为 StorehouseManage(仓库 ID, 存储物品 ID, 管理员 ID, 数量),且有一个管理员只在一个仓库工作;一个仓库可以存储多种物品。这个数据库表中存在如下决定关系: (仓库 ID, 存储物品 ID) (管理员 ID, 数量) (管理员 ID, 存储物品 ID) (仓库 ID, 数量) 所以,(仓库 ID, 存储物品 ID)和(管理员 ID, 存储物品 ID)都是 StorehouseManage 的候选关键字,表中的唯一非关键字段为数量,它是符合第三范式的。但是,由于存在如下决定关系: (仓库 ID) (管理员 ID) (管理员 ID) (仓库 ID) 即存在关键字段决定关键字段的情况,所以其不符合BCNF 范式。它会出现如下异常情况: (1) 删除异常: 当仓库被清空后,所有“存储物品 ID“和“数量“信息被删除的同时,“仓库 ID“和“管理员 ID“信息也被删除了。 (2) 插入异常: 当仓库没有存储任何物品时,无法给仓库分配管理员。(3) 更新异常: 如果仓库换了管理员,则表中所有行的管理员 ID 都要修改。 把仓库管理关系表分解为二个关系表: 仓库管理:StorehouseManage(仓库 ID, 管理员 ID);仓库:Storehouse(仓库 ID, 存储物品 ID, 数量)。 这样的数据库表是符合 BCNF 范式的,消除了删除异常、插入异常和更新异常。 范式应用 我们来逐步搞定一个论坛的数据库,有如下信息: (1) 用户:用户名,email,主页,电话,联系地址 (2) 帖子:发帖标题,发帖内容,回复标题,回复内容 表的整行,唯一的关键字段用户名也不能完全决定整个元组。我们需要增加“发帖 ID“、“回复 ID“字段,即将表修改为: (用户名,发帖 ID,回复 ID) (email,主页,电话,联系地址,发帖标题,发帖内容,回复标题,回复内容) 但是,这样的设计不符合第二范式,因为存在如下决定关系: (用户名) (email,主页,电话,联系地址) (发帖 ID) (发帖标题,发帖内容) (回复 ID) (回复标题,回复内容) 即非关键字段部分函数依赖于候选关键字段,很明显,这个设计会导致大量的数据冗余和操作异常。 我们将数据库表分解为(带下划线的为关键字): (1) 用户信息:用户名,email,主页,电话,联系地址 (2) 帖子信息:发帖 ID,标题,内容 (3) 回复信息:回复 ID,标题,内容 (4) 发贴:用户名,发帖 ID (5) 回复:发帖 ID,回复 ID 这样的设计是满足第 1、2、3 范式和 BCNF 范式要求的,但是这样的设计是不是最好的呢? 不一定。 观察可知,第 4 项“发帖“中的“用户名“和“发帖 ID“之间是 1:N 的关系,因此我们可以把“发帖“合并到第 2 项的“帖子信息“中;第 5 项“回复“中的“发帖 ID“和“回复 ID“之间也是 1:N 的关系,因此我们可以把“回复“合并到第 3 项的“回复信息“中。这样可以一定量地减少数据冗余,新的设计为: (1) 用户信息:用户名,email,主页,电话,联系地址 (2) 帖子信息:用户名,发帖 ID,标题,内容 (3) 回复信息:发帖 ID,回复 ID,标题,内容 数据库表 1 显然满足所有范式的要求; 数据库表 2 中存在非关键字段“标题“、“内容“对关键字段“发帖 ID“的部分函数依赖,即不满足第二范式的要求,但是这一设计并不会导致数据冗余和操作异常; 数据库表 3 中也存在非关键字段“标题“、“内容“对关键字段“回复 ID“的部分函数依赖,也不满足第二范式的要求,但是与数据库表 2 相似,这一设计也不会导致数据冗余和操作异常。 由此可以看出,并不一定要强行满足范式的要求,对于 1:N 关系,当 1 的一边合并到 N 的那边后,N 的那边就不再满足第二范式了,但是这种设计反而比较好! 对于 M:N 的关系,不能将 M 一边或 N 一边合并到另一边去,这样会导致不符合范式要求,同时导致操作异常和数据冗余。 对于 1:1 的关系,我们可以将左边的 1 或者右边的1 合并到另一边去,设计导致不符合范式要求,但是并不会导致操作异常和数据冗余。 结论 满足范式要求的数据库设计是结构清晰的,同时可避免数据冗余和操作异常。这并意味着不符合范式要求的设计一定是错误的,在数据库表中存在 1:1 或 1:N 关系这种较特殊的情况下,合并导致的不符合范式要求反而是合理的。 在我们设计数据库的时候,一定要时刻考虑范式的要求。篇三:关系规范化关系规范化规范化理论是数据库逻辑设计的指南和工具,具体步骤如下: (1)考察关系模型的函数依赖关系,确定范式等级。逐一分析各关系模式,考察是否存在部分函数依赖、传递函数依赖等,确定它们分别属于第几范式。(2)对关系模式进行合并或分解。根据应用要求,考察这些关系模式是否合乎要求,从而确定是否要对这些模式进行合并或分解,例如,对于具有相同主码的关系模(转载于: 小 龙文档 网:关系规范化)式一般可以合并;对于非BCNF 的关系模式,要考察“异常弊病”是否在实际应用中产生影响,对于那些只是查询,不执行更新操作,则不必对模式进行规范化(分解) ,实际应用中并不是规范化程度越高越好,有时分解带来的消除更新异常的好处与经常查询需要频繁进行自然连接所带来的效率低相比会得不偿失。对于那些需要分解的关系模式,可以用规范化方法和理论进行模式分解。最后,对产生的各关系模式进行评价、调整,确定出较合适的一组关系模式。 关系规范化理论提供了判断关系逻辑模式优劣的理论标准,帮助预测模式可能出现的问题,是产生各种模式的算法工具,因此是设计人员的有力工具。扩展阅读: ? 1 数据库设计解决方案 关系规范化 http:/ XX-04-07 13:31 史创明、王俊伟 清华大学出版社 我要评论(0) ? 摘要:在数据库中,数据之间存在着密切的联系。关系数据库由相互联系的一组关系所组成,每个关系包括关系模式和关系值两个方面。关系模式是对关系的抽象定义,给出关系的具体结构;关系的值是关系的具体内容,反映关系在某一时刻的状态。 ? 标签: 微软 数据库 ? 在数据库中,数据之间存在着密切的联系。关系数据库由相互联系的一组关系所组成,每个关系包括关系模式和关系值两个方面。关系模式是对关系的抽象定义,给出关系的具体结构;关系的值是关系的具体内容,反映关系在某一时刻的状态。一个关系包含许多元组,每个元组都是符合关系模式结构的一个具体值,并且都分属于相应的属性。在关系数据库中的每个关系都需要进行规范化,使之达到一定的规范化程度,从而提高数据的结构化、共享性、一 数据库表的创建、修改和删除 XX-04-07 13:53 史创明、王俊伟 清华大学出版社 我要评论(0) 字号: | 综合评级: 想读(6)在读(0)已读(2) 品书斋鉴(0) 已有 8 人发表书评 一个数据库中包含一个或多个的表。表是数据的集合,按行和列排列。每个表都有一个特定的主题,例如,“图书管理系统”数据库中包含有“作者表” 、 “图书明细表”以及“出版社表”等。本章介绍表的管理。 AD: 建立完数据库后,就可以创建数据库表。表属于数据库对象中的一种,是数据存储的基本单位,它包含了所有的数据内容。在 SQL Server 中,一个数据库中可以创建多个表,而且每一个表内可以包含多达 1 024 个列。列的数目及表的总大小仅受限于可用的硬盘存储容量。另外,每一个列最多可以有 8 092 字节(不包括 image、text 或者ntext 数据) 。下面我们开始创建表。 表 表是 SQL Server 中最主要的数据库对象,它是用来存储和操作数据的一种逻辑结构。表由行和列组成,因此也称之为二维

温馨提示

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

评论

0/150

提交评论