数据库原理--第五章作业(2013211534 刘凡)

2.

答:(1).关系模式

学生(学号、姓名、出生日期、系名、班号、宿舍区)

班级(班号、专业名、系名、人数、入校年份)

系(系名、系号、系办公室地点、人数)

学会(学会名、成立年份、地点、人数)

学生--学会(学号、学会名、入会年份)

(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={A-->C,C-->A,B-->A,B-->C,D-->A,D-->C,BD-->A}

第二步:依次查看各函数依赖的闭包,得出B-->C,D-->C冗余,所以F={A-->C,C-->A,B-->A,D-->A,BD-->A}

第三步:依次查看各函数依赖中,能否用X-Bi取代X,所以F={A-->C,C-->A,B-->A,D-->A}

最小函数依赖集:{A-->C,C-->A,B-->A,D-->A}

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

p={AC,CA,BA,DA,BD}


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={AB-->E,BC-->D,BE-->C,CD-->B,CE-->A,CE-->F,CF-->B,CF-->D,C-->A,D-->E,D-->F}

第二步:依次查看各函数依赖的闭包,得出BC-->D,CD-->B,CE-->A冗余,所以F={AB-->E,BE-->C,CE-->F,CF-->B,CF-->D,C-->A,D-->E,D-->F}

第三步:依次查看各函数依赖中,能否用X-Bi取代X,结果为F={AB-->E,BE-->C,CE-->F,CF-->B,CF-->D,C-->A,D-->E,D-->F}

所以F的最小函数依赖集为{AB-->E,BE-->C,CE-->F,CF-->B,CF-->D,C-->A,D-->E,D-->F}


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

答:(1).找出R的主码。

主码:BOI.

(2).把R分解为BCNF,且具有无损连接性 。

1.R的主码为BOI,选择S-->D分解,得出P1={B,I,O,S,Q},F1={I-->S,IS-->Q,B-->Q}

2.选择IS-->Q分解,得出P2={B,I,O,S},F2={I-->S}

3.选择I-->S分解,得出P3={B,O,I},F3=空集

最后的分解为P={SD,ISQ,IS,BOI}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值