数据库范式理解例题要领.docVIP

  • 13
  • 0
  • 约1.82千字
  • 约 15页
  • 2017-06-07 发布于湖北
  • 举报
范式分解 主属性 包含在任一候选关键字中的属性称主属性。 非主属性 不包含在主码中的属性称为非主属性。 存在部分依赖, 若所有的属性都是主属性,则属于第三范式 要求一个数据库表中不包含已在其它表中已包含的非主关键字信息 【例】: 不符合第三范式的例子: 学号, 姓名, 年龄, 所在学院, 学院联系电话,关键字为单一关键字学号; 存在依赖传递: (学号) → (所在学院) → (学院地点, 学院电话) 存在问题: 数据冗余:有重复值; 更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况 删除异常 修正: 学生:(学号, 姓名, 年龄, 所在学院); 学院:(学院, 地点, 电话)。 总结:1nf:不可分 2nf:一个表说明一个事物,唯一性 3nf:对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。 bcnf:是3NF的改进形式 BCNF意味着在关系模式中每一个决定因素都包含候选键,也就是说,只要属性或属性组A能够决定任何一个属性B,则A的子集中必须有候选键。BCNF范式排除了任何属性对候选键的传递依赖与部分依赖。 满足BCNF条件 1 所有非主属性对每一个候选键都是完全函数依赖; 2 所有的主属性对每一个不包含它的候选键,也是完全函数依赖; 3 没有任何属性完全函数依赖于非候选键的任何一组属性。 设有关系模式R(A,B,C,D,E,G)上的函数依赖集为:? ?F={?A→B,B→C,AD→G,D→E?}?。求解:? 31.求关系模式R的所有侯选键。 解:?求出侯选键AD。(2分)? 首先在F中函数依赖右边不出现的属性必在侯选键中,即AD?(1分);由于(AD)+=ABCDEG,?即AD能函数决定所有的属性,?所以侯选键只有一个?AD(1分)?。?AD+=AD?BEG?C? 32.分别求属性集G、AD、CD、BC的闭包。? G+=G(1分);??????(AD)+=ABCDEG(1分);? (CD)+=?CDE(1分);(BC)+=BC(1分)? 33.将关系模式R保持依赖地且无损地分解成3NF,要求写出分解过程。 解:F={?A→B,B→C,AD→G,D→E?}? F是最小依赖集,所有属性在F中出现,将F中是每个函数依赖组成一个关系模式得保持函数依赖的分解:{AB,BC,ADG,?DE}?(2分);?并上一个侯选键{AD}得无损分解:? {AB,BC,ADG,DE}∪{AD}={?AB,BC,ADG,DE?}?(2分)? F={?A→B,B→C,AD→G,D→E?}? ?34.将关系模式R无损地分解成BCNF,要求写出分解过程。 解:根据转换为BCNF的无损连接分解算法6.5??1)由于候选键为AD,? F中存在不符合BCNF要求的函数依赖,所以R不是BCNF,?? 选?A→B?分解为:R1=AB,R2=ACDEG?;(1分)? R1上保持的函数依赖集为A→B,键为A,所以是BCNF;? R2?上保持的函数依赖集为A→C,AD→G,D→E,键为AD,所以不是BCNF;?(1分)? 选A→C进一步分解为:R21=AC,R22=ADEG;(1分)?R21上保持的函数依赖为A→C,键为A,所以是BCNF;? R22上保持的函数依赖为AD→G,D→E键为AD,所以不是BCNF;?选D→E进一步分解为:R221=DE,R222=ADG;(1分)?R221上保持的函数依赖为D→E,键为D,所以是BCNF;?R222上保持的函数依赖为AD→G,键为AD,所以是BCNF;?? 最后得保持无损连接特征的分解:{R1,R21,R221,R222}或表示为{AB,AC,DE,ADG}(1分)? 注:由于选择不符合BCNF要求的函数依赖有多个,因此选择次序可有不同,最后的结果也不同,原则上按上述评分标准分步给分。 35.说明分解ρ={R1,R2},R1(ABC)、R2(ADEG)的范式级别并说明理由? ?答:R1是2NF?(1分),R2是1NF;(1分)? R1上的函数依赖集为:A→B,B→C,码为:A,不存在部分依赖,存在非主属性C对码A的传递依赖。(1分)? R2上的函数依赖集为:AD→G,D→E码为:AD,存在非主属性E对码AD的部分依赖。。(1分)? ρ={R1,R2},R1(ABC)、R2(ADEG)

文档评论(0)

1亿VIP精品文档

相关文档