习题四

二、现需要建立关于系、学生、班级、学会等信息的一个关系数据库。语义为:一个系有若干个专业,每个专业每年招收一个班,每个班有若干个学生,一个系的学生住在同一个宿舍区,每个学生可参加若干学会,每个学会女有若干学生

描述学生的属性有:学号、姓名、出生日期、系名、班号、宿舍区。

描述班级的属性有:班号、专业名、系名、人数、入校年份。

描述系的属性有:系名、系号、系办公室地点、人数。

描述学会的属性有:学会名、成立年份、地点、人数、入会年份

1、 请写出关系模式

学生 U={学号、姓名、出生日期、系名、班号、宿舍区}

     F={学号-〉姓名,学号-〉出生日期,学号-〉系名,系名-〉宿舍区,学号-〉宿舍区,班号-〉系名,学号-〉班号}

班级 U={班号,专业名,系名,人数,入校年份}

     F={班号-〉专业名,专业名-〉系名,班号-〉人数,班号-〉入学年份}

系   U={系名,系号,系办公室地点,人数}

     F={系号->系名,系号->系办公室地点,系号->人数}

学会 U={学会名,成立年份,地点,人数,入会年份}

     F={学会名->成立年份,学会名->地点,学会名->人数}

2、写出每个关系模式的最小依赖集,指出是否存在传递依赖。在函数依赖左部是多属性的情况下,讨论函数依赖是完全依赖还是部分函数依赖。

{学号->姓名,学号->出生日期,学号->班号,班号->系名,系名->宿舍区}

{班号->人数,班号->入校年份,班号->专业名,专业名->系名}

{系号->系名,系号->系办公室地点,系号->人数}

{学会名->成立年份,学会名->地点,学会名->人数}

3、 指出各关系模式的候选码、外码、有没有全码。


学生:候选码是学号,外码是系号、班号,没有全码

班级:候选码是班号,外码是系名,没有全码

系:候选码是系号,无外码,无全码

学会:候选码是学会名,无外码,无全码

三、设关系模式为R〈A,B,C,D〉,函数依赖集是F={A——〉C,C——〉A,B——〉AC,D——〉AC,BD——〉A}

1、求出R的候选码

   BD

五、设关系模式R(A,B,C,D,E,F),函数依赖集F={AB->E,BC->D,BE->C,CD->B,CE->AF,CF->BD,C->A,D->EF},

求函数F的最小依赖集

  • 将函数依赖集F右部分解为单属性有F{AB->E,BC->D,BE->C,CD->B,CF->B,CE->A,CE->F,CF->D,C->A,D->E,D->F}
  • 设AB->E冗余,则求剩余部分(AB)的闭包=AB,所以AB->E保留
  • 设BC->D冗余,则求剩余部分(BC)的闭包=ABCDEF,所以BC->D删除
  • 设BE->C冗余,则求剩余部分(BE)的闭包=BE,所以BE->C保留
  • 设CD->B冗余,则求剩余部分(CD)的闭包=ABCDEF,所以CD->B删除
  • 设CF->B冗余,则求剩余部分(CF)的闭包=CFA,所以CF->B保留
  • 设CF->D冗余,则求剩余部分(CF)的闭包=CFA,所以CF->D保留
  • 设CE->A冗余,则求剩余部分(CE)的闭包=CEAFDB,所以CE->A删除
  • 设CE->F冗余,则求剩余部分(CE)的闭包=CEA,所以CE->F保留
  • 设C->A冗余,则求剩余部分(C)的闭包=C,所以C->A保留
  • 设D->E冗余,则求剩余部分(D)的闭包=D,所以D->E保留
  • 设D->F冗余,则求剩余部分(D)的闭包=D,所以D->F保留
  • 因此最小函数依赖集Fm={AB->E,BE->C,CE->F,CF->B,CF->D,C->A,D->E,D->F}

八、设关系模式R(B,O,I,S,Q,D),函数依赖集F={S->D,I->S,IS->Q,B->Q}.

1、找出R的主码

   IBO

2、把R分解成BCNF,且具有无损连接性

  由(1)得知主码为IBO

令S1=(S,D)(S->D),则有S'1=(B,O,I,S,Q)不满足条件

令S2=(I,S,Q),则有S'2=(B,O,I)满足条件

所以分解为ρ={SD,ISQ,IBO}



  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值