作业题答案及BCNF分解算法案例资料.docVIP

作业题答案及BCNF分解算法案例资料.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
分解为BCNF的例子: 例如:有U = {学号, 课程号, 课程名, 学习期限, 成绩, 奖学金}, F= {课程号→学习期限,( 学号, 课程号)→成绩,成绩→ 奖学金,课程名 →课程号,课程号→课程名}。现将函数依赖模式( U, F) 做转化为BCNF的分解。步骤如下: ( 1) 求出F的等价的最小函数依赖集合F’=F,令ρ1 = {( U, F) }; ( 2) 因检查到:成绩→ 奖学金∈F,但这里成绩不属于KEY(U, F),所以(U, F)不属于 BCNF,应做如下分解: U 1 ={成绩,奖学金}(= X∪{A}) F 1 = {成绩→ 奖学金} U 2 = {学号, 课程号, 课程名, 学习期限, 成绩} ( = U - {A}) F 2 = {课程号→ 学习期限,(学号, 课程号) → 成绩,课程号→课程名,课程名→ 课程号} 令ρ2 = {( U 1 , F 1 ) , (U 2 , F 2 ) } (3) ρ2 中(U 1 , F 1 )已属于BCNF,但在(U 2 , F 2 )中检查到:课程号→学习期限∈F 2,但这里课程号不属于KEY(U 2 , F 2 ),所以(U 2 , F 2 )仍不属于BCNF,于是将(U 2 , F 2 )再做如下分解: U 3 = {课程号, 学习期限} ( = X∪{A}) F 3 = {课程号→ 学习期限}* U 4 = {学号, 课程号, 课程名, 成绩} ( = U 2 - {A}) F 4 = {(学号, 课程号) → 成绩, 课程号→ 课程名, 课程名→ 课程号}令ρ3 = {( U 1 , F 1 ) , (U 3 , F 3 ) , (U 4 , F 4 ) } (4) ρ3 中(U 1 , F 1 ) , (U 3 , F 3 )都已属于BCNF,但在(U 4 , F 4 ) 中仍检查到:课程号→ 课程名∈ F 4 ,但课程号不属于KEY(U 4 , F 4 ),所以知(U 4 , F 4 )仍不属于BCN F,于是再做如下的分解: U 5 = {课程号, 课程名} ( = X ∪ {A}) F 5 = {课程号→ 课程名, 课程名→ 课程号}* U 6 = {课程号, 学号, 成绩} ( = U 4 - {A}) F 6 = {( 学号, 课程号) → 成绩}* 令ρ4 = {( U 1 , F 1 ) , (U 3 , F 3 ) , (U 5 , F 5 ) , (U 6 , F 6 ) } ρ4 中的所有函数依赖模式全属于BCN F,算法终止。 但算法3. 4 给出的转化为BCN F的分解, 可保证无损连接, 而有时不能保证无损依赖。例如: U = {学生, 课程, 教师}, 规定一个教师教一门课, 但一门课可由多个教师教, 则有F= {教师→ 课程, (学生, 课程) → 教师}。显然(学生, 课程) 是(U, F) 的关键字, 但在F中有教师→ 课程, 所以(U, F) 不属于BCN F 。按以上算法(U, F) 分解为 U 1 = {教师, 课程} ( = X ∪ {A}) F 1 = {教师→课程} U 2 = {学生, 教师} ( = R - {A}) F 2 = { } 显然这样分解后( 学生, 课程)→教师的函数依赖丢失了。 1、已知:关系模式R(U,F)U=ABCD F={A→C,C→A, B→AC,D→AC}求:(1)(AD)F+。 (2)R的候选码。 (3)求F的最小函数依赖集,并将模式R无损失连接且保持函数依赖分解为3NF 2、设有一个反映学生及其所选课程信息的关系模式: R(学生号,学生名,学生系别,系办公地点,课程号,课程名,授课教师,成绩) 如果规定: 学生号、课程号惟一;每门课程只有一位授课教师;每个系的办公地点固定。学生名和课程名有可能重复。每个学生可以选修多门课程,每门课程可以有多个学生选修;学生选修课程最终会有选修成绩。 问题(1)根据上述规定,写出模式R的基本FD和关键码。 问题(2)R最高达到第几范式,并说明理由。 问题(3)将R规范到3NF。 1、解:(1)(AD)F+=ADC,候选码:BD (2)最小函数依赖集: 先分解为F={A→C,C→A,B→A, B→C, D→A ,D→C}; 再去除冗余函数依赖,检查D→C,G=F-{ D→C }={ A→C,C→A,B→A, B→C, D→A },DG+={A,D,C},因C∈{A,D,C},多余,去掉; 检查D→A,G=F-{ D→A }={ A→C,C→A,B→A, B→C },DG+={D},A ?{D}。保留;同理:A→C,C→A,B→A保留,B→C多余,去掉。因此,Fm={A→C,C→A,B→A,D→A}。 (3)将模式R分解为

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档