您的当前位置:首页正文

数据库模式设计

来源:画鸵萌宠网
数据库模式设计

1.设有关系R(A,B,C,D,E,F)及其上的函数依赖集合F={A→B,C→F,E→A,CE→D}

(1)求R的所有候选关键字 答:(CE)

(2)R最高满足第几范式?为什么? 答:1NF,因为存在非主属性对候选键的部分依赖,所以R不是2NF. (3)将R无损联接的分解到BCNF 5.设关系模式R(S#,C#,GRADE,TNAME,TADDR),其属性分别表示学生学号、选修课的编号、成绩、任课教师姓名、教师地址等意义。 如果规定,每个学生每学一门课只有一个成绩,每门课只有一个教师任教,每个教师只有一个地址(教师不同名同姓)。

(1)试写出关系模式R基本的函数依赖 候选键的部分依赖。 R2(BD)是

R1(ACD)进一步分解为ρ

或ρ1={R1(AD),R2(AC)}

2

={R1(AD),R2(DC)}

8.现有某个应用,涉及到两个实体集,

相关的属性为:

实体集R(A#,A1,A2,A3),其中A#为码

实体集S(B#,B1,B2),其中B#为码 答:{(CF), (AB), (CED),(EA) } 2.设R=ABCD,R上的函数依赖集F={A→B, B→C, D→B,A→C } (1)求R的候选键。

答:R的候选键是(AD) (2)求F的最小覆盖

答:FMIN={ A→B, B→C, D→B } (3)R最高满足几范式,为什么?

答:该关系最高满足1NF,因为存在非主属性对候选键的部分依赖。 3.设有关系R(A,B,C,D)及其上的函数依赖集合F={A→C,C→A,B→AC, D→AC, BD→A}

(1)求R的所有候选码(5分)

答:(BD) (2)R是否满足2NF范式?为什么? 答:不满足,因为存在非主属性对候选键的部分依赖,例如B→AC, D→AC (3)将R无损联接且保持依赖地分解为3NF(5分)

答:{(AC),(BC),(DC),(BD)}

或者{(AC),(BA),(DA),(BD)}

或者{(AC),(BC),(DA),(BD)} 或者{(AC),(BA),(DC),(BD)} 4.现有如下关系模式: R(A,B,C,D,E)

其中:AB组合为码

R上存在的函数依赖有AB→E,B→C,C→D

(1)该关系模式满足2NF吗?为什么? 答:不满足。 因为码为AB,并且B→C,而C是非主属性。

(2)如果将关系模式R分解为: R1(A,B,E) R2(B,C,D)

分别求R1和R2的候选码 答:R1的候选码为{AB},R2的候选码为B

(3)将关系模式R保持函数依赖地分解到BCNF

答:R1(A,B,E), R2(B,C), R3(C,D), 都满足BCNF

答:F={ (S#,C#)→GRADE, C#→TNAME, TNAME→TADDR}

(2)试写出关系模式R候选键 答:候选键:(S#,C#) (3)试把R保持函数依赖以及保持无损联接地分解成3NF模式集

答:R1(S#,C#,GRADE),R2(C#,TNAME),R3(TNAME,TADDR)

6.已知关系模式学生(学号,姓名,系名,系主任,课程号,成绩),其上的函数依赖集F={ 学号→姓名, 学号→系名, 系名→系主任,(学号,课程号)→成绩 }(注:系名不重复)

(1)根据函数依赖,找出该模式的候选键。 答:该关系的候选键是(学号,课程号) (2)该关系最高满足几范式?为什么?

答:该关系最高满足1NF,因为存在非主属性对候选键的部分依赖。 (3)把该关系模式分解成3NF集。 答:{学生基本信息(学号,姓名,系名),系(系名,系主任), 成绩(学号,课程号,成绩)} (注:关系名称可任意)

7.设R=ABCD,R上的函数依赖集F={A→B, B→C, D→B}

(1)根据函数依赖,给出候选键的形式化的定义。

答:候选键的定义:设有关系模式R(A1,A2,…,AN),F是R上的函数依赖集,X是{ A1,A2,…,AN }的一个子集。

如果X→A+

1A2…AN∈F,并且不存在X的真子集Y,使得Y→A1A2…AN成立,则称X是R的一个候选键。 (2)找出该模式的候选键

答:该关系的候选键是(AD) (3)若把R分解成{R1(ACD),R2(BD)},那么R1,R2是BCNF吗?如果不是,请进一步分解为BCNF.

答:R1(ACD)不是,存在非主属性对

从实体集R到S存在多对一的联系,联系属性是D1。

(1)设计相应的关系数据模型;

答:R1 (A#, A1,A2,A3,B#,D1)  R2 (B#, B1, B2) 或者

R1 (A#, A1,A2,A3)  R2 (B#, B1, B2)  R3(A#,B#,D1)

(2)如果将上述应用的数据库设计为一个关系模式,如下:

RS(A#,A1,A2,A3,B#,B1,B2,D1) 求该关系模式的候选码。

答:候选码是A# (3)指出上述模式RS最高满足第几范式?(在1NF~BCNF之内)为什么?

答:RS满足2NF, 因为不存在非

主属性对候选码的部分依赖,同时存在非主属性对候选码的传递依赖,因此最高满足2NF.

9.某汽车运输公司数据库中有一个记录司机运输里程的关系模式: R(司机编号,汽车牌照,行使公里,车队编号,车队主管)

规定每个汽车牌照对应一辆汽车,行使公里为某司机驾驶某辆汽车行驶的总公里数,每个司机属于一个车队,每个车队只有一个主管。 (1)试写出R的基本FD

答:F={ 司机编号→车队编号 , 车队编号→车队主管 , (司机编号,汽车牌照)→行使公里 } (2)求R的候选键

答:(司机编号,汽车牌照) (3)把R分解成3NF模式集

答:R1(司机编号,汽车牌照,行使公里),R2(司机编号,车队编号,车队主管)

五、模式分解特性

1. 设有关系模式R(A,B,C),分析以下分解的特性

(1)函数依赖集F={A→C,B→C},将R分解成{R1(AB), R2(AC)}

答:因为R1∩R2=AB∩AC=A, R2-R1=AC-AB=C, A→C在R上成立,所以具备无损联接特性。令G=ПAB(F)∪ПAC(F)={A->C },由于{ B→C }不属于G+,即F+不等于G+,所以F与G不等价,所以不具备保持函数依赖的特性。 (2)函数依赖集F={A→B,B→C},将R分解成{R1(AC), R2(BC)}

答:因为R1∩R2=AC∩BC=C, R2-R1=BC-AC=B, R1-R2=AC-BC=A, C→A或C→B在R上都不成立,所以不具备无损联接特性。

令G=ПAC(F)∪ПBC(F)={B->C },由于{ A→B }不属于G+,即F+不等于G+,所以F与G不等价,所以不具备保持函数依赖的特性。

(3) 函数依赖集F={A→B},将R分解成{R1(AB), R2(BC)}

答:因为R1∩R2=AB∩BC=B, R2-R1=BC-AB=C, R1-R2=AB-BC=A, B→C或B→A在R上都不成立,所以不具备无损联接特性。令G=ПAB(F)∪ПBC

(F)={A->B },F与G等价,所以具备保持函数依赖的特性。

2.设有关系模式R(ABCD),其函数依赖集F={A→B,B→C,A→D, D→C} 将R分解为{(AB),(AC),(BD)} (1)该分解是否具备无损联结的特性? 答:不具备。具体如下:

首先,根据已知条件构造一张3行4列的表1

A B C D AB a1 a2 b13 b14 AC a1 b22 a3 b24 BD b31 a2 b33 a4 (表1) 然后,根据A->B对表进行处理,将b22改为a2;考虑B->C,将b13和b33改为a3;考虑A->D,将b24改为b14,得到下表2:

A B C D AB a1 a2 a3 b14 AC a1 a2 a3 b14 BD b31 a2 a3 a4 (表2) 至此,表格已修改完毕,由于无一行为

全a,所以该分解不具备无损联接特性。 (2)该分解是否具备保持函数依赖的特性?

答:不具备, 令G=ПAB(F)∪ПAC(F)∪ПBD(F)={A→B},由于{ B→C,A→D, D→C }不属于G+,即F+不等于G+,所以F与G不等价,所以不具备保持函数依赖的特性 。

3.设有关系模式R(ABCD),将R分解为{(AB),(BC),(CD)}

如果其函数依赖集F={A→B,B→C},该分解是无损联接分解吗?

答:不是。 首先,根据已知条件构造一张3行4列的表1

A B C D AB a1 a2 b13 b14 BC b21 a2 a3 b24 CD b31 b32 a3 a4 (表1) 然后,根据B->C,将b13改为a3,得表2

A B C D AB a1 a2 a3 b14 BC b21 a2 a3 b24 CD b31 b32 a3 a4 (表2) 至此,表格已经修改完毕,由于无一行为全a,所以该分解不是无损联接分解。 (2)如果其函数依赖集F={C→D,B→C},该分解具备保持函数依赖的特性吗? 答:具备, 令G=ПAB(F)∪ПBC(F)∪ПCD(F)={B->C,C->D},F与G等价,所以具备保持函数依赖的特性。

4.设有关系模式R(ABCDE),其函数依赖集F={A→BC,CD→E, B→D, E→A} 将R分解成{R1(ABC), R2(ADE)},试问: (1)该分解是否具备无损联结的特性? 答:具备, R1∩R2={A},R1-R2={BC},R2-R1={DE},因为A→BC(即R1∩R2→R1-R2)在R上成立,所以该分解是无损联结

(2)该分解是否具备保持函数依赖的特性?

答:不具备 , 令G=ПABC(F)∪ПADE(F)={A->BC,E->A},由于{ B→D, CD→E }不属于G+,即F+不等于G+,所以F与G不等价,所以不具备保持函数依赖的特性。

5.设有关系模式R(B,O,I,S,Q,D),其函数依赖集F={S→D,I→B,IS→Q,B→

O}

试问:

(1)将R分解成{SD,IB,ISQ,BO}是否具备无损联结的特性? 答:具备。具体如下:

首先,根据已知条件构造一张4行6列的表1 B O I S Q D SD b11 b12 b13 a4 b15 a6 IB a1 b22 a3 b24 b25 b26 ISQ b31 b32 a3 a4 a5 b36 BO a1 a2 b43 b44 b45 b46 (表1)

根据S->D,将b36改为a6;I->B,将b31改为a1;B->O,将b22,b32改为a2。得到表2: B O I S Q D SD b11 b12 b13 a4 b15 a6 IB a1 a2 a3 b24 b25 b26 ISQ a1 a2 a3 a4 a5 a6 BO a1 a2 b43 b44 b45 b46 (表2) 至此,表格修改完毕,由于第三行全a,所以该分解具备无损联接特性。 (2)将R分解成{ISQ,IB,SD,ISO}是否具备保持函数依赖的特性? 答:不具备, 令G=ПISQ(F)∪ПIB(F) ∪ПSD(F) ∪ПISO(F)={IS->Q,I->B, S->D },由于{ B→O}不属于G+,即F+不等于G+,所以F与G不等价,所以不具备保持函数依赖的特性。

6.设有关系模式R(ABCD),将R分解为{(AB),(BC),(CD)}

(1)如果其函数依赖集F={C→D,B→C},该分解是无损联接分解吗? 答:是。 首先,根据已知条件构造一张3行4列的表1 A B C D AB a1 a2 b13 b14 BC b21 a2 a3 b24 CD b31 b32 a3 a4 (表1) 然后,根据R上的函数依赖进行变换,得表2

AB BC CD A a1 b21 b31 B a2 a2 b32 C a3 a3 a3 D a4 a4 a4 (表2)

至此,表格已经修改完毕,由于第一行为全a,所以该分解是无损联接分解。 (2)如果其函数依赖集F={A→B,B→C},该分解具备保持函数依赖的特性吗? 答:具备, 令G=ПAB(F)∪ПBC(F)∪ПCD(F)={A->B,B->C},F与G等价,所以具备保持函数依赖的特性。

7.设有关系模式R(A,B,C,D),其函数依赖集F={A→C,BD→A, D→C },将R分解成{R1(AB), R2(ACD),R3(BCD)} 试问: (1)该分解是否具备无损联结的特性? 答:不具备。 首先,根据已知条件构造一张3行4列的表1

AB A a1 B a2 B22 a2 C b13 a3 a3 D b14 a4 a4 ACD a1 BCD b31 (表1) 然后,根据函数依赖集进行变换,得表2

A B a2 B22 a2 C a3 a3 a3 D b14 a4 a4 AB a1 ACD a1 BCD b31 (表2) 至此,表格已经修改完毕,由于无一行为全a,所以该分解不是无损联接分解。 (2)该分解是否具备保持函数依赖的特性?

答:不具备, 令G=ПAB(F)∪ПACD(F) ∪ПBCD(F)={A->C , D→C },由于{ BD→A }不属于G+,即F+不等于G+,所以F与G不等价,所以不具备保持函数依赖的特性。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top