数据库第五章作业

本文详细分析了一个关系数据库的设计,包括学生、班级、系和学会四个关系模式,明确了属性、函数依赖和传递依赖,并探讨了候选码、外码和3NF分解。此外,还介绍了两个关系模式R和R1的候选码、最小依赖集以及无损连接性的3NF分解过程。
摘要由CSDN通过智能技术生成

作业完成者:王典 2013211958

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

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

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

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

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

(1) 请写出关系模式

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

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

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

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

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

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

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

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

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

关系模式学生的最小依赖集:{ 学号->姓名,学号->出生日期,学号->班号,班号->系名,系名->宿舍区}

传递依赖:

关系模式班级的最小依赖集{ 班号->人数,班号->入校年份,班号->专业名,专业名->系名}

传递依赖:

关系模式系的最小依赖集:{ 系号->系名,系号->系办公室地点,系号->人数}

传递关系:

关系模式学会的最小依赖集:{学会名->成立年份,学会名->地点,学会名->人数}

传递依赖:

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

 

候选码

外码

全码

学生

学号

系名,班号

系号

学会

学会名


3、设关系模式R<A,B,C,D>,函数依赖集F={A->C,C->A,B->AC,D->AC,BD->A }.

(1)求出R的候选码。

答:BD

(2)求出F的最小依赖集

  • 将函数依赖集F右部分解为单属性有F={A->C,C->A,B->C,D->C,BD->A,B->A,D->A}
  • 删除传递函数依赖B->C,D->C得F={A->C,C->A,BD->A,B->A,D->A}
  • 删除部分函数依赖BD->A得F={A->C,C->A,B->A,D->A}
  • 即最小函数依赖集Fm={A->C,C->A,B->A,D->A}

(3)将R分解为3NF,使其既具有无损连接性又具有函数依赖保持性。

  • 由(2)已知最小函数依赖集Fm={A->C,C->A,B->A,D->A}
  • 由(1)已知主码为BD
  • 将函数分解为3NF使其既具有无损连接性又具有函数依赖保持性有ρ={BD,CA,BA,DA}

5、设关系模式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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值