数据库第五章课后知识题目解析
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
①相对于F,ρ是无损分解吗?为什么?
②试求F在ρ的每个模式上的投影。
③ρ保持F吗?为什么?
答:①用测试过程可以知道,ρ相对于F是损失分解。
②πAB(F)={A→B },πAC(F)={ A→C },πBD(F)=φ。
③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。
4.23 设关系模式R(ABCD),R上的FD集F={ A→C,D→C,BD→A},试说明ρ={ AB,ACD,BCD }相对于F是损失分解的理由。
违章日期:X X X X X X 日期:X X X X X X
地点:X X X X X X 违章记载:X X X X X X
处罚方法:
警告 罚款 暂扣驾驶执照
警察签字:X X X 警察编号:X X X X X X
被处罚人签字:X X X
图 5.30 交通违章处罚通知书
ER图如下
答:
1 1 1
N
N N
④ ρ中每个模式均是BCNF级别。
数据库设计题目
5.13 设某商业集团数据库中有3个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
② ρ是无损分解。
③ 因为πABC(F)={ A→BC,C→A },πAD(F)= { A→D },所以ρ保持FD。
④ 在模式ABC中,关键码是A或BC,属性全是主属性,但有传递依赖(A→BC,BC→A)。因此模式ABC是3NF,但不是BCNF。而模式AD显然已是BCNF。
(4) ① R的关键码为A。
③ ρ保持FD集F。
④ ρ中每一模式已达到BCNF级别。
(2) ① R有两个关键码:AB和BC。
② ρ是无损分解。
③ 因为πACD(F)={ C→A ,C→D },πBC(F)=φ(没有非平凡的FD),所以ρ不保持FD,丢失了AB→C。
④ρ中两模式均已达到BCNF级别。
(3) ① R有两个关键码:A和C
5.14 设某商业集团数据库中有3个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
解:(1)ER图如图所示。
MM
NN
(2)这个ER图可转换5个关系模式:
供应商(供应商编号,供应商名,地址)
商店(商店号,商店名,地址)
商品(商品号,商品名,规格,单价)
供应(供应商编号,商品号,月供应量)
销售(商店号,商品号,月计划数)
5.18某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。试为该锦标赛各个代表团、运动员、比赛项目、比赛情况设计一个ER模型。
②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。模式ACD应分解成{AC,AD}或{CD,AD}。但是这个分解不保持FD,丢失了FD D→C或A→C。
另外,模式BD已是BCNF。
4.25设关系模式R(ABCD),ρ={AB,BC,CD}是R的一个分解。设F1={A→B,B→C},F2={B→C,C→D}。
② ρ是无损分解。
③ 因为πAB(F)={ A→B },πACD(F)={ A→C,C→D },从这两个依赖集推不出原来的B→C,因此ρ不保持FD,丢失了B→C。
④ 模式AB是BCNF,模式ACD不是3NF,只达到2NF级别。
(5) ① R的关键码为A。
② ρ不是无损分解。
③ 因为πAB(F)={ A→B },πAD(F)={ A→D },πCD(F)={ C→D },从这三个依赖集推不出原来的B→C,因此ρ不保持FD,丢失了B→C。
供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有月计划数。
试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
(4)F={ A→B,B→C,C→D },ρ={ AB,ACD }
(5)F={ A→B,B→C,C→D },ρ={ AB,AD,CD }
试对上述五种情况分别回答下列问题:
① 确定R的关键码。
② 是否是无损分解?
③ 是否保持FD集?
④ 确定ρ中每一模式的范式级别。
解:(1) ① R的关键码为BD。
② ρ不是无损分解。
关系规范化理论题目
4.20 设关系模式R(ABC),F是R上成立的FD集,F={ B→A,C→A },ρ={ AB,BC }是R上的一个分解,那么分解ρ是否保持FD集F?并说明理由。
答:已知F={ B→A,C→A },而πAB(F)={ B→A },πBC(F)=φ,
显然,分解ρ丢失了FDC→A。
4.21 设关系模式R(ABC),F是R上成立的FD集,F={ B→C,C→A },那么分解ρ={ AB,AC }相对于F,是否无损分解和保持FD?并说明理由。
解:如下图是ER图的一种设计方案
5.19 假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业务管理规则如下:
该超市公司有若干仓库,若干连锁商店,供应若干商品。
每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。
每个商店销售多种商品,每种商品可在不同的商店销售。
每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。每种商品可以有多种销售价格。
试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
解:(1) ER图如图所示。
1
N
1
N
(2)这个ER图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
5.15 设某商业集团数据库有3个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此ρ相对于F是损失分解。
4.24设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。
① R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。
② ACD和BD是BCNF吗?如不是,望分解成BCNF。
解:① F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。
4.28 设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:
(1)根据上述规定,写出模式R的基本FD和关键码;
(2)说明R不是2NF的理由,并把R分解成2NF模式集;
姓名:X X X 驾驶执照号:X X X X X X
地址:X X X X X X X X X X X
邮编:X X X X X X 电话:X X X X X X X X
机动车牌照号:X X X X X X 型号:X X X X X X X X
制造厂:X X X X X X 生产日期:X X X X X X
超市公司的业务员负责商品的进货业务。
试按上述规则设计ER模型
解:如下图是ER图的一种设计方案。
5.21图5.30所示为一张交通违章处罚通知书,试根据这张通知书所提供的信息,设计一个ER模式,并将这个ER模式转换成关系数据模型,要求标明主键和外键。注:一张违章通知书可能有多项罚款,例如警告+罚款。
交通违章通知书 编号:TZ22719
答:①已知F={ B→C,C→A },
而πAB(F)=φ,πAC(F)={C→A }
显然,这个分解丢失了FD B→C
②用测试过程可以知道,ρ相对于F是损失分解。
4.22 设关系模式R(ABCD),F是R上成立的FD集,F={ A→B,B→C,A→D,D→C },ρ={ AB,AC,BD }是R的一个分解。
司机(驾照号,姓名,地址,邮编,电话)
机动车(牌照号,型号,制造厂,生产日期)
警察(警察编号,姓名)
通知书(编号,日期,时间,地址,违章记录,驾照号,牌照号,警察编号)
处罚(编号,处罚方式)
1 N
这个ER图有5个实体类型,其属性如下:
司机(驾照号,姓名,地址,邮编,电话)
机动车(牌照号,型号,制造厂,生产日期)
警察(警察编号,姓名)
通知书(编号,日期,时间,地址,违章记录)
处罚(编号,处罚方式)
这个ER图有4个联系类型,都是1:N联系。
根据ER图和转换规则,5个实体类型转换成5个关系模式,如下:
R12(部门名,部门经理)
这样,ρ= { R11,R12,R2 }是一个3NF模式集。
4.30 设关系模式R(ABCD),在R上有5个相应的FD集及分解:
(1)F={ B→C,D→A },ρ={ BC,AD }
(2)F={ AB→C,C→A,C→D },ρ={ ACD,BC }
(3)F={ A→BC,C→AD },ρ={ ABC,AD }
(3)进而分解成3NF模式集。
解:(1)基本的FD有三个:
(职工编号,日期)→ 日营业额
职工编号 → 部门名
部门名 → 部门经理
R的关键码为(职工编号,日期)。
(2)R中有两个这样的FD:
(职工编号,日期)→(部门名,部门经理)
职工编号 → (部门名,部经理)
可见前一个FD是局部依赖,所以R不是2NF模式。
4.26设关系模式R(ABCD),F是R上成立的FD集,F={ AB→CD,A→D }。
①试说明R不是2NF模式的理由。②试把R分解成2NF模式集。
答:①从已知FD集F,可知R的候选键是AB。
另外,AB→D是一个局部依赖,因此R不是2NF模式。
②此时R应分解成ρ={ AD,ABC },ρ是2NF模式集。
R应分解成R1(职工编号,部门名,部门经理)
R2(职工编号,日期,日营业额)
此处,R1和R2都是2NF模式。
(3)R2已是3NF模式。
在R1中,存在两个FD:职工编号 → 部门名
部门名 → 部门经理
因此,“职工编号 → 部门经理”是一个传递依赖,R1不是3NF模式。
R1应分解成R11(职工编号,部门名)
试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
解:(1) ER图如图所示。
M1
NN
(2)这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
① 如果F1是R上的FD集,此时ρ是否无损分解?若不是,试举出反例。
② 如果F2是R上的FD集呢?
解:① 据chase过程可知,相对于F1,R分解成ρ是损失分解。
据构造初始表的规则,这个反例可以是下面的表格:
rABCD
1100
0110
0011
对于这个r而言,显然r≠mρ(r)。
② 据chase过程可知,相对于F2,R分解成ρ是无损分解。
②试求F在ρ的每个模式上的投影。
③ρ保持F吗?为什么?
答:①用测试过程可以知道,ρ相对于F是损失分解。
②πAB(F)={A→B },πAC(F)={ A→C },πBD(F)=φ。
③显然,分解ρ不保持FD集F,丢失了B→C、A→D和D→C等三个FD。
4.23 设关系模式R(ABCD),R上的FD集F={ A→C,D→C,BD→A},试说明ρ={ AB,ACD,BCD }相对于F是损失分解的理由。
违章日期:X X X X X X 日期:X X X X X X
地点:X X X X X X 违章记载:X X X X X X
处罚方法:
警告 罚款 暂扣驾驶执照
警察签字:X X X 警察编号:X X X X X X
被处罚人签字:X X X
图 5.30 交通违章处罚通知书
ER图如下
答:
1 1 1
N
N N
④ ρ中每个模式均是BCNF级别。
数据库设计题目
5.13 设某商业集团数据库中有3个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
② ρ是无损分解。
③ 因为πABC(F)={ A→BC,C→A },πAD(F)= { A→D },所以ρ保持FD。
④ 在模式ABC中,关键码是A或BC,属性全是主属性,但有传递依赖(A→BC,BC→A)。因此模式ABC是3NF,但不是BCNF。而模式AD显然已是BCNF。
(4) ① R的关键码为A。
③ ρ保持FD集F。
④ ρ中每一模式已达到BCNF级别。
(2) ① R有两个关键码:AB和BC。
② ρ是无损分解。
③ 因为πACD(F)={ C→A ,C→D },πBC(F)=φ(没有非平凡的FD),所以ρ不保持FD,丢失了AB→C。
④ρ中两模式均已达到BCNF级别。
(3) ① R有两个关键码:A和C
5.14 设某商业集团数据库中有3个实体集。一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等。
公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用”联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
解:(1)ER图如图所示。
MM
NN
(2)这个ER图可转换5个关系模式:
供应商(供应商编号,供应商名,地址)
商店(商店号,商店名,地址)
商品(商品号,商品名,规格,单价)
供应(供应商编号,商品号,月供应量)
销售(商店号,商品号,月计划数)
5.18某体育运动锦标赛有来自世界各国运动员组成的体育代表团参赛各类比赛项目。试为该锦标赛各个代表团、运动员、比赛项目、比赛情况设计一个ER模型。
②由于模式ACD的关键码是AD,因此显然模式ACD不是BCNF。模式ACD应分解成{AC,AD}或{CD,AD}。但是这个分解不保持FD,丢失了FD D→C或A→C。
另外,模式BD已是BCNF。
4.25设关系模式R(ABCD),ρ={AB,BC,CD}是R的一个分解。设F1={A→B,B→C},F2={B→C,C→D}。
② ρ是无损分解。
③ 因为πAB(F)={ A→B },πACD(F)={ A→C,C→D },从这两个依赖集推不出原来的B→C,因此ρ不保持FD,丢失了B→C。
④ 模式AB是BCNF,模式ACD不是3NF,只达到2NF级别。
(5) ① R的关键码为A。
② ρ不是无损分解。
③ 因为πAB(F)={ A→B },πAD(F)={ A→D },πCD(F)={ C→D },从这三个依赖集推不出原来的B→C,因此ρ不保持FD,丢失了B→C。
供应商与商品之间存在“供应”联系,每个供应商可供应多种商品,每种商品可向多个供应商订购,每个供应商供应每种商品有个月供应量;商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品可在多个商店销售,每个商店销售每种商品有月计划数。
试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
(4)F={ A→B,B→C,C→D },ρ={ AB,ACD }
(5)F={ A→B,B→C,C→D },ρ={ AB,AD,CD }
试对上述五种情况分别回答下列问题:
① 确定R的关键码。
② 是否是无损分解?
③ 是否保持FD集?
④ 确定ρ中每一模式的范式级别。
解:(1) ① R的关键码为BD。
② ρ不是无损分解。
关系规范化理论题目
4.20 设关系模式R(ABC),F是R上成立的FD集,F={ B→A,C→A },ρ={ AB,BC }是R上的一个分解,那么分解ρ是否保持FD集F?并说明理由。
答:已知F={ B→A,C→A },而πAB(F)={ B→A },πBC(F)=φ,
显然,分解ρ丢失了FDC→A。
4.21 设关系模式R(ABC),F是R上成立的FD集,F={ B→C,C→A },那么分解ρ={ AB,AC }相对于F,是否无损分解和保持FD?并说明理由。
解:如下图是ER图的一种设计方案
5.19 假设某超市公司要设计一个数据库系统来管理该公司的业务信息。该超市公司的业务管理规则如下:
该超市公司有若干仓库,若干连锁商店,供应若干商品。
每个商店有一个经理和若干收银员,每个收银员只在一个商店工作。
每个商店销售多种商品,每种商品可在不同的商店销售。
每个商品编号只有一个商品名称,但不同的商品编号可以有相同的商品名称。每种商品可以有多种销售价格。
试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
解:(1) ER图如图所示。
1
N
1
N
(2)这个ER图可转换3个关系模式:
公司(公司编号,公司名,地址)
仓库(仓库编号,仓库名,地址,公司编号)
职工(职工编号,姓名,性别,仓库编号,聘期,工资)
5.15 设某商业集团数据库有3个实体集。一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
答:据已知的F集,不可能把初始表格修改为有一个全a行的表格,因此ρ相对于F是损失分解。
4.24设关系模式R(ABCD)上FD集为F,并且F={A→B,B→C,D→B}。
① R分解成ρ={ACD,BD},试求F在ACD和BD上的投影。
② ACD和BD是BCNF吗?如不是,望分解成BCNF。
解:① F在模式ACD上的投影为{A→C,D→C},F在模式BD上的投影为{D→B}。
4.28 设有关系模式R(职工编号,日期,日营业额,部门名,部门经理),该模式统计商店里每个职工的日营业额,以及职工所在的部门和经理信息。如果规定:每个职工每天只有一个营业额;每个职工只在一个部门工作;每个部门只有一个经理。试回答下列问题:
(1)根据上述规定,写出模式R的基本FD和关键码;
(2)说明R不是2NF的理由,并把R分解成2NF模式集;
姓名:X X X 驾驶执照号:X X X X X X
地址:X X X X X X X X X X X
邮编:X X X X X X 电话:X X X X X X X X
机动车牌照号:X X X X X X 型号:X X X X X X X X
制造厂:X X X X X X 生产日期:X X X X X X
超市公司的业务员负责商品的进货业务。
试按上述规则设计ER模型
解:如下图是ER图的一种设计方案。
5.21图5.30所示为一张交通违章处罚通知书,试根据这张通知书所提供的信息,设计一个ER模式,并将这个ER模式转换成关系数据模型,要求标明主键和外键。注:一张违章通知书可能有多项罚款,例如警告+罚款。
交通违章通知书 编号:TZ22719
答:①已知F={ B→C,C→A },
而πAB(F)=φ,πAC(F)={C→A }
显然,这个分解丢失了FD B→C
②用测试过程可以知道,ρ相对于F是损失分解。
4.22 设关系模式R(ABCD),F是R上成立的FD集,F={ A→B,B→C,A→D,D→C },ρ={ AB,AC,BD }是R的一个分解。
司机(驾照号,姓名,地址,邮编,电话)
机动车(牌照号,型号,制造厂,生产日期)
警察(警察编号,姓名)
通知书(编号,日期,时间,地址,违章记录,驾照号,牌照号,警察编号)
处罚(编号,处罚方式)
1 N
这个ER图有5个实体类型,其属性如下:
司机(驾照号,姓名,地址,邮编,电话)
机动车(牌照号,型号,制造厂,生产日期)
警察(警察编号,姓名)
通知书(编号,日期,时间,地址,违章记录)
处罚(编号,处罚方式)
这个ER图有4个联系类型,都是1:N联系。
根据ER图和转换规则,5个实体类型转换成5个关系模式,如下:
R12(部门名,部门经理)
这样,ρ= { R11,R12,R2 }是一个3NF模式集。
4.30 设关系模式R(ABCD),在R上有5个相应的FD集及分解:
(1)F={ B→C,D→A },ρ={ BC,AD }
(2)F={ AB→C,C→A,C→D },ρ={ ACD,BC }
(3)F={ A→BC,C→AD },ρ={ ABC,AD }
(3)进而分解成3NF模式集。
解:(1)基本的FD有三个:
(职工编号,日期)→ 日营业额
职工编号 → 部门名
部门名 → 部门经理
R的关键码为(职工编号,日期)。
(2)R中有两个这样的FD:
(职工编号,日期)→(部门名,部门经理)
职工编号 → (部门名,部经理)
可见前一个FD是局部依赖,所以R不是2NF模式。
4.26设关系模式R(ABCD),F是R上成立的FD集,F={ AB→CD,A→D }。
①试说明R不是2NF模式的理由。②试把R分解成2NF模式集。
答:①从已知FD集F,可知R的候选键是AB。
另外,AB→D是一个局部依赖,因此R不是2NF模式。
②此时R应分解成ρ={ AD,ABC },ρ是2NF模式集。
R应分解成R1(职工编号,部门名,部门经理)
R2(职工编号,日期,日营业额)
此处,R1和R2都是2NF模式。
(3)R2已是3NF模式。
在R1中,存在两个FD:职工编号 → 部门名
部门名 → 部门经理
因此,“职工编号 → 部门经理”是一个传递依赖,R1不是3NF模式。
R1应分解成R11(职工编号,部门名)
试画出ER图,并在图上注明属性、联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。
解:(1) ER图如图所示。
M1
NN
(2)这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
① 如果F1是R上的FD集,此时ρ是否无损分解?若不是,试举出反例。
② 如果F2是R上的FD集呢?
解:① 据chase过程可知,相对于F1,R分解成ρ是损失分解。
据构造初始表的规则,这个反例可以是下面的表格:
rABCD
1100
0110
0011
对于这个r而言,显然r≠mρ(r)。
② 据chase过程可知,相对于F2,R分解成ρ是无损分解。