数据库模拟试题1(含答案)(2)

2019-06-11 17:23

(1)完备性条件:指全局关系中所有数据均应映射到片段中。目的是保证所

有数据均在DB中存储,不会丢失数据。

(2)重构条件:由各个片段可以重建全局关系。目的是可以像无损联接那样

不丢失信息。

(3)不相交条件:数据片段相互之间不应该重叠(主键除外)。目的是为了防止数据冗余。

四.设计题答案

36.解:关系代数表达式:πS#,SNAME(σGNAME='冰箱'(SHOP?SALE?GOODS))

元组表达式:{ t | (?u) (?v) (?w) (SHOP (u)∧SALE (v)∧GOODS (w)

∧u[1]=v[1]∧v[2]=w[1]∧w[2]= '冰箱'∧t[1]=u[1]

∧t[2]=u[2])}

关系逻辑规则:W(u1,u2)?SHOP(u1,u2,u3,u4)∧SALE(u1,v2,v3)∧GOODS(v2, '冰箱',w3)

37.解:SELECT语句如下: SELECT A.S#,SNAME

FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND GNAME='冰箱';

该查询语句的图示形式如下:

SHOP S# SNAME AREA MGR_NAME P._X P. SALE S# G# QUANTITY GOODS G# GNAME PRICE _X _Y _Y 冰箱 38.解:DELETE FROM SALE WHERE S# IN(SELECT S# FROM SHOP

WHERE SNAME='开开商店') AND G# IN(SELECT G#

FROM GOODS

WHERE PRICE>1000); 39.解:CREATE ASSERTION ASSE8 CHECK (100<=ALL(SELECT PRICE

FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST')); 或 CREATE ASSERTION ASSE8 CHECK (NOT EXISTS(SELECT *

FROM SHOP A,SALE B,GOODS C WHERE A.S#=B.S# AND B.G#=C.G#

6

AND AREA='EAST' AND PRICE<100));

40.解:SELECT C.G#,GNAME,SUM(QUANTITY)AS SUM_QUANTITY,

PRICE*SUM(QUANTITY)AS SUM_VALUE

FROM SHOP A,SALE B,GOODS C

WHERE A.S#=B.S# AND B.G#=C.G# AND AREA='EAST' GROUP BY C.G#,GNAME;

(注:SELECT子句中的属性C.G#,GNAME应在分组子句中出现)

五.综合题答案

41.解:(1)根据已知条件,可写出基本的FD有三个:

司机编号 → 车队编号

车队编号 → 车队主管

(司机编号,汽车牌照)→ 行驶公里

从上述三个FD,可知R的关键码为(司机编号,汽车牌照)。 (2)从上述三个FD,可推出下列FD成立:

(司机编号,汽车牌照)→(车队编号,车队主管)

这是一个局部FD。因此R不是2NF模式。

此时在R的关系中,每个司机只属于一个车队及主管人员,但要记载某司机驾驶过10辆汽车的行驶公里数,在R的关系中要出现10个元组。也就是这10个元组的司机相同,其车队编号和车队主管要重复出现10次,这就是数据冗余。

R应分解成 R1(司机编号,汽车牌照,行驶公里)

R2(司机编号,车队编号,车队主管)

这两个模式都是2NF模式。

(3)R1已是3NF模式,但R2不是3NF模式。 因为在R2中的基本FD有两个:

司机编号 → 车队编号, 车队编号 → 车队主管。

显然,存在传递依赖:司机编号 → 车队主管。

此时在R2的关系中,一个车队只有一个主管人员,但这个车队有20名司机,则在关系中就要有20个元组。这20个元组的车队编号相同,而车队主管要重复出现20次,这就是数据冗余。

R2应分解成 R21(司机编号,车队编号) R22(车队编号,车队主管)

这样,ρ={ R1,R21,R22 },其中每个模式均是3NF模式。 42.解:(1)ER图如图1所示。

7

仓库号 仓库名 地址 M 日期 库存 库存量 N 商品 N M 仓库 M 供应 月份 月供应量 图1 销售 P 商店 N (2)据转换规则,图2的ER图可转换成6个关系模式: 仓库(仓库号,仓库名,地址) 商品名 地址 商店号 商店名 单价 商品号 商品(商品号,商品名,单价) 商店(商店号,商店名,地址) 月份 月销售量 库存(仓库号,商品号,日期,库存量) 销售(商店号,商品号,月份,月销售量) 供应(仓库号,商店号,商品号,月份,月供应量) (3)图1的ER图的对象联系图如图2所示。其转换规则基本上与转换成关系模型的规则类似。三个实体类型转换成三个对象类型,两个M:N联系类型和一个M:N:P联系类型也转换成三个对象类型。因此对象联系图中共有六个对象类型,如图2所示。图中未标出基本数据类型属性,具体如下:

仓库(仓库号,仓库名,地址) 商品(商品号,商品名,单价) 商店(商店号,商店名,地址) 库存(日期,库存量) 销售(月份,月销售量) 供应(月份,月供应量)

仓库

库存

供应

商品 销售 商店

图2

(4)图1的ER图的UML类图如图3所示。三个实体类型转换成三个类,三个联

8

系类型转换成三个关联类,如图3所示。

仓库 仓库号 * 仓库名

库存 地址 日期 * 库存量

* 商品 * 商品号 商品名 单价 * 销售 月份

月销售量 图3

供应 月份 月供应量 商店 * 商店号 商店名 * 地址 9


数据库模拟试题1(含答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:图像增强与MATLAB实现

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: