根据问题描述,补充四个联系,完善图3-1的实体联系图。
【问题2】(8 )
根据你的实体联系图,完成关系模式,并给出训练记录和比赛记录关系模式的主键和外键。 【问题3】(2 分)
如果考虑记录一些特别资深的热心球迷的情况,每个热心球迷可能支持多个球队。热心球迷的基本信息包括:姓名、住址和喜欢的俱乐部等。根据这一要求修改图3-1的实体联系图,给出修改后的关系模式。
试题四(共15 分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某企业的生产管理部门拟开发生产计划管理系统,该系统负责管理生产计划信息, 记录生产安排和采购的情况。现有的表格信息如表4-1、表4-2和4-3所示。
表 4-1 某企业布艺玩具生产计划
编号:LFX/JL7.5.1-01 计划名称:10月份布艺玩具生产计划 起止时间 产品编号 B0710-2 2007.10.10~2007.10.19 产品名称 玩具熊 生产数量 1000 只 500只 生产小组编号 A1 B2 B1 预算总金额 10 万 生产小组名安排人 称 裁剪1组 缝纫2组 缝纫1组 5 6 4 玩具猫 C0710-2
表 4-2 产品用料信息 产品名称 材料编号 MC005 ML008 MC011
表 4-3 采购信息 采购单号 地址 总价格 MC005 玩具熊 材料名称 米色布 米色缎带 棕色布 产品编号 数量 1.7米 0.8米 1.5米 B0710-2 P0005 上海市××路 8420元 米色布 供应商 电话 成交日期 12 上海××集团 52387717 2007-10-11 30 元/米 31元/米 棕色布 MC011 260
根据上述需求设计的生产计划数据库的关系模式如图4-1所示。
生产计划 (生产计划编号,生产计划名称,起始时间,截止时间,预算总金额,产品编号,产品名称,生产数量,生产小组编号,生产小组名称,安排人力) 产品用料 (产品编号,材料编号,材料名称,材料数量,单位) 采购 (采购单号,供应商,地址,电话,材料编号,数量,单价,总价格,日期) 图 4-1 生产计划数据库
关系模式的主要属性、含义及约束如表4-4所示。
表 4-4 主要属性、含义及约束 属性 生产计划编号 产品编号 生产小组编号 含义及约束条件 唯一标识该企业的某个生产计划的编号。 生产计划包括多个生产产品,产品编号唯一标识一个产品。 一个产品可由多个生产小组共同生产。生产小组编号唯一标识一个生产 小组。 材料编号 一种产品固定由多个材料构成。材料编号唯一标识一种材料。不同供应 商提供的相同材料对应一个材料编号。 唯一标识一个供应商。该企业有多个供应商,每个供应商可提供若干种材料。 采购单号唯一标识一次采购。一次采购从一个供应商购买多种材料。 供应商 采购单号
该企业的生产管理部门可根据需求制定多个生产计划。每个生产计划包含多个生产
产品。一个生产产品可由多个生产小组共同生产。一个产品基于固定数量的用料来生产。 企业有多个供应商,每个供应商可以提供若干种材料,每种材料可以由多个供应商提供。 企业根据不同生产计划,从供应商处购买材料。 属性间的函数依赖关系如下:
对于 对于 对于 对于“ ““ “生产计划 生产计划 生产计划 生产计划” ”” ”关系模式 关系模式 关系模式 关系模式: :: : 生产计划编号 → 生产计划名称,起始时间,截止时间,预算总金额 生产计划编号,产品编号 → 生产数量 产品编号 → 产品名称
生产小组编号 → 生产小组名称
生产计划编号,生产小组编号,产品编号 → 安排人力 生产计划编号,产品编号 →→ 生产小组编号,安排人力 对于 “产品用料”关系模式: 材料编号 → 材料名称,单位
产品编号,材料编号 → 材料数量 对于“采购”关系模式:
采购单号 → 供应商,地址,电话,总价格,日期 采购单号,材料编号 → 数量 供应商,材料编号 → 单价 供应商 → 地址,电话
【问题1】(7 分)
对关系“生产计划” ,请回答以下问题:
(1)关系“生产计划”是否满足第四范式?用不超过200个字的内容叙述理由。 (2)把“生产计划”分解为第四范式,分解后的关系名依次为:生产计划1,生产计 划2,?。
【问题2】(6 分)
对关系“采购” ,请回答以下问题:
(1)若“采购”关系中不考虑折扣情况,则该关系是否存在派生属性?若存在, 指出其中的派生属性。
(2)针对“采购”关系,用100字以内文字简要说明会产生什么问题。 (3)分解“采购”关系,分解后的关系名依次为:采购1,采购2,?。 【问题3】(2 分)
试分析可否根据图4-1生产计划数据库,统计出某一个生产计划所采购的某个供应 商的总金额?并用不超过100个字的内容叙述理由。
试题五(共15 分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】
某银行的转帐业务分为如下两类操作:
(1)读取帐户A 余额到变量x,记为x = R(A);
(2)将变量x值写入帐户A 中的余额,记为W(A, x)。
从帐户A 向帐户B 转帐金额x元的伪代码操作序列为:a = R(A), a = a-x, W(A, a), b = R(B), b = b+x, W(B,b)。
针对上述业务及规则,完成下列问题:
【问题1】(5 分)
根据业务规则,转帐业务要么被全部执行,要么全部不执行,应如何保障?假设参与转帐的帐户余额有大于等于0的约束,上述伪代码执行中可能出现什么情况,应如何处理?(100字以内)
【问题2】(5分)
若允许对同一帐号同时进行转帐,要保证转帐程序的并发执行,引入共享锁指令SLock(b)和独占锁指令XLock(A)对数据A 进行加锁,解锁指令Unlock(A)对数据A 进行解锁。 请补充上述转帐业务的伪代码序列,使其满足2PL协议。
【问题3】(5 分)
若用SQL语句编写的转帐业务事务程序如下:
START TRANSACTION; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE UPDATE Accounts
SET CurrentBalance = CurrentBalance - Amount WHERE AccountID = A;
if error then ROLLBACK; COMMIT;
UPDATE Accounts
SET CurrentBalance = CurrentBalance + Amount WHERE AccountID = B;
if error then ROLLBACK; COMMIT;
其中:Accounts为帐户表,CurrentBalance为当前余额,Amount为新存入的金额。 该事务程序能否保证数据的一致性?如不能,请说明原因并改正。(100字以内)
试题中通用的表示规则
关于概念模型、关系模式的标记,试题中若无特殊声明,将使用如下的通用标记规 则。
1.概念模型的标记规则分别如图1、图2和图3所示。其中:
(1)实体类型用长方形表示。长方形内为实体类型名称。
(2)实体类型间的联系用菱形表示。在联系与实体间的连线上注明联系的类型。
图 1 实体类型和联系的标记规则
(3)超类型和子类型之间的联系,从超类型到子类型之间画连线,连线上加注小圆 圈,子类型加双线竖框。
图 2 超类型和子类型的标记规则
(4)实体和联系的属性用椭圆表示,并用直线将属性与其所属的实体或联系连接 起来。
图 3 实体类型及联系与其属性的标记规则 2.关系模式的标记规则如下:
关系名(属性名1,属性名2,? ,属性名n)
其中:
(1)若该属性仅为主键属性,则该属性名下画实下划线; (2)若该属性仅是外键属性,则该属性名下画虚下划线;
(3)若该属性既是主键属性,又是外键属性,则在该属性名下面画实下划线和虚 下划线;
(4)若该属性既不是主键属性,又不是外键属性,则在该属性名下不做标记。