数据库第四章作业

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4.11 如果下列推理规则成立,则用推理规则A1~A8证明;否则举出一个关系实例说明规则不成立。

①{w→Y,X→Z} |= { WX→Y}

证明:此规则成立

因为w→Y且X {w→Y,X→Z}中,所以根据增广性有WX→Y成立。

②{X→Y,X→W,WY→Z} |= { X→Z}

证明:此规则成立

因为X→Y,X→W,根据合并性规则有X→WY,

又因为X→WY ,WY→Z,所以根据传递性规则有X→Z;

③{XY→Z,Y→W} |= { XW→Z}

证明:此规则不成立

④{X→Z,Y→Z} |= { X→Y}

证明:此规则不成立

⑤{X→Y,XY→Z} |= { X→Z}

证明:此规则成立

因为X→X ,X→Y,所以根据合并性X→XY,又因为X→XY,XY→Z,所以根据传递性有X→Z。

⑥{X→Y,Z→W} |= { XZ→YW}

证明:此规则成立

因为X→Y,Z→W,根据复合性就有XZ→YW。

⑦{XY→Z,Z→X} |= { Z→Y}

证明:此规则不成立

⑧{X →Y ,Y →Z} |= { X →YZ}

证明:此规则成立

因为X →Y ,Y →Z ,根据传递性规则有X →Z ,又因为X →Y ,X →Z ,所以根据合并性就有X →YZ 。

⑨{XY →Z,Z →W} |= { X →W}

4.20 设关系模式R(ABC),F 是R 上成立的FD 集,F={B →A,C →A},ρ={ AB,BC}是R 上的一个分解,那么分解ρ是否保持FD 集F ?说明理由。

解:分解ρ不保持FD 集F ,因为F 是R 上成立的FD 集,F={B →A,C →A},而π(F )={B →A},BC π(F)为空集。显然分解ρ丢失了FD ,C →A 。

4.21设关系模式R(ABC),F 是R 上成立的FD 集,F={B →C,C →A},那么分解ρ={ AB,AC}相对于F ,是否是无损分解和保持FD ?说明理由。

解:分解ρ不保持FD 集F.

因为F={B →C,C →A},则AB π(F )为空集,AC π(F)={ C →A},因此这个分解丢

失了F 中的 B →C;因为分解丢失了FD 中的 B →C ,根据无损分解的定义,分解ρ={ AB,AC}相对于F 不是无损分解。

4.26 设关系模式R(ABCD),F 是R 上成立的FD 集,F={AB →CD,A →D} ①试说明R 不是2NF 模式的理由

②试把R 分解成2NF 模式集。

解:从FD 集中的F 中可以看出AB 为R 的候选键,且AB →D 是一个部分依赖。所以R 不是2NF 模式。

要把R 分解成2NF 模式集就要消除部分依赖,因此要把R 分解为ρ={ AD,ABC}.

4.27设关系模式R(ABC),F是R上成立的FD集,F={C→B,B→A}.

①试说明R不是3NF模式的理由

②试把R分解成3NF模式集。

解:因为F是R上成立的FD集,F={C→B,B→A}.,且C→A属于传递依赖,所以R不是3NF模式。

要使R分解成3NF模式集就应该消除传递依赖,因此要把R分解为

ρ={BC,BA}.

4.28 设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式记录商店里每个职工的日营业额以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:

(1)根据上述规定,写出模式R的基本FD和关键码。

(2)说明R不是2NF的理由,并把R分解成2NF模式集。

(3)进而分解成3NF模式集。

解:模式R的关键码为{职工编号,日期}

R的基本FD为:

{职工编号,日期} →日营业额

职工编号→部门名

部门名→部门经理

因为R的基本FD中含有{职工编号,日期}→ {部门名,部门经理}

职工编号→ {部门名,部门经理}部分依赖,所以R不是2NF;要把R分解成2NF 模式集

就要消除部分依赖,R应分解为R1(职工编号,日期,日营业额)和R2(职工编号,部门名,部门经理)。

因为职工编号→部门名,部门名→部门经理,从而有职工编号→部门经理,所以R不是3NF,把R分解成,3NF模式集,要把R2分为S(职工编号,部门名)和W(部门名,部门经理)。所以ρ={S,W,R1}是一个3NF模式集。

4.29设有关系模式

R(运动员编号,比赛项目,成绩,比赛类别,比赛主管)存储运动员比赛成绩及比赛类别、主管等信息。

如果规定:每个运动员每参加一个比赛项目,只有一个成绩;每个比赛项目只属于一个比赛类别;每个比赛类别只有一个比赛主管。

试回答下列问题:

(1)根据上述规定,写出模式R的基本FD和关键码;

(2)说明R不是2NF的理由,并把R分解成2NF模式集;

(3)进而分解成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模式集。

相关文档
最新文档