第六章补充作业(共3页).doc
精选优质文档-倾情为你奉上 ( 关系代数运算 ER图 SQL 第六章 书的匹配习题 补充作业 ) 第六章补充作业1.设有关系R(ABC),其关系r如下表所示。试判断下列三FD在关系r中是否成立? AB,BC A,B A(1)因为A有一个值B也有一个相同的值与之对应 (2)因为BC相同但决定A不一样。(3)因为B相同但决定不同A。根据关系r,你能断定哪些FD在关系模式R上不成立?在关系r中,AB成立,BCA不成立,BA不成立。在关系r中,不成立的FD有:BA,CA,CB,CAB,BCA A B C 1 2 3 4 2 3 5 3 43.设关系模式R(ABCD),F是R上成立的FD集,F=AB, BC。试写出属性集BD的闭包(BD)+F试写出所有左部是B的函数依赖。(即形为“B”)。因为X(0)=BD BC,所以X(1)=X(0)并C=BCD 由于B+=BC因此左部是B的FD有四个 BBBBCBBC。4. 设关系R(ABCD),F是R上成立的FD集,F=AB, CB,则相对于F,试写出关系模式R的关键码,并说明理由。解:R的关键码为ACD。因为A,C出现在F的左部,必是主属性。D既不出现在左部也不出现在右部,D必是主属性。又设X(0)=ACD,因为AB,X(1)=X(0)并B,(ACD)+=ABCD,所以R的关键码是ACD5. 设关系模式R=A,B,C,D,E,G,函数依赖F=BADE,AE,ACG,BCD,找出R的所有候选码。解:出现在左部的属性有B,CX(0)=BC,因为BADE,X(1)=ABCD;因为AE,X(2)=ABCDE,;ACG,X(3)=ABCDEG,即(BC)+=ABCDEG,则R的候选码是BC。6. 设有依赖集:F=ABC,C A,BC D,ACDB,DEG , BE C, CGBD,CE AG,计算其等价的最小依赖集。解:(1)将左部属性单一化 DE,EG,CGB,CGD,CEA,CEG因为CA,CEA,所以去掉CEA。因为EG,CEG,所以去掉CEG。得到的函数依赖集为F1=ABC,C A,BC D,ACDB, DE,EG,CGB,CGD (2)将F1中去掉左部多余的属性C A,CE A,去掉属性E。因为ACDB,(CD)+=ABCDEG,去掉属性A。F2=ABC,C A,BC D,DE,DG, CGB,CGD,CEG (3)将F2中去掉多余FD因为(CG)+=ABCDEG,CGB是多余的。所以最小函数依赖集为 ABC,C A,BC D,DE,DG,CGD,CEG7.设关系模式R(ABCD),在R上有两个相应的FD集及分解:F=BC,DA,=BC,ADF= ABC,CA, CD,=ACD,BC试对上述两种情况分别回答下列问题:确定R的关键码。是否无损分解?是否保持FD集?确定中每一个模式的范式级别。 R的关键码为BD。设X(0)=BD,因为BC,X(1)=X(0)并C=BCD;DA,X(2)=X(1)并A=ABCD,所以(BD)+=ABCD。不是无损分解。因为BC,DA没有使矩阵发生变化保持FD集F。中每一模式已达到BCNF级别。8对于关系模式r(R)=r(A,B,C.D,E,G)和函数依赖集F=ABC,ACB,ADE,BD,BCA,EG,判断下列分解是否是保持依赖函数分解?是否是无损连接分解?AB,BC,ABDE,EG ABC,ACDE,ADG9.设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工只有一个营业额,每个部门只有一个经理。试回答下列问题:根据上述规定,写出模式R的基本FD和关键码。说明R不是2NF的理由,并把R分解成2NF。进而分解成3NF解:(1)基本的FD有三个: (职工编号,日期) 日营业额职工编号 部门名职工编号 部门经理部门名 部门经理R的关键码为(职工编号,日期)。(2)R中有两个这样的FD:(职工编号,日期)部门名职工编号 部门名可见前一个FD是部分函数依赖,所以R不是2NF模式。R应分解成R1(职工编号,部门名,部门经理)R2(职工编号,日期,日营业额)此处,R1和R2都是2NF模式。(3)R2已是3NF模式。在R1中,存在两个FD:职工编号 部门名部门名 部门经理因此,“职工编号 部门经理”是一个传递依赖,R1不是3NF模式。R1应分解成R11(职工编号,部门名)R12(部门名,部门经理)这样,= R11,R12,R2 是一个3NF模式集。10.设有关系模式R(ABC),其关系r如下表所示。试判断下列FD和MVD在关系r中是否成立?AB AB BCA BCA BC BCAB145522333334解: AB在r中成立, AB在r中成立 BCA在r中不成立 BCA在r中成立 BC在r中不成立 BC在r中成立11.设关系R(ABC)上有MVDAB。如果已知R的当前关系存在3个元组(ab1c1)、(ab2c2) 和(ab3c3),那么这个关系中至少还应存在哪些元组?解:这个关系中至少还应存在下面6个元组:(ab1c2),(ab2c1),(ab1c3),(ab3c1),(ab2c3),(ab3c2)。专心-专注-专业