中级数据库系统工程师-2021年上半年《数据库系统工程师》案例分析真题.docx
中级数据库系统工程师-2021年上半年《数据库系统工程师》案例分析真题
问答题(共5题,共5分)
(1.)某竞赛管理系统的部分数据库关系模式如下:
选手:PLAYER(PnOPha(江南博哥)me,Sex.Region,Tel),各属性分别表示参赛选手的编号、姓名、性别、地区和联系电话:竞赛项目:CONTEST(CnO,Chame,Type,Date),各属性分别表示竞赛项目的编号、名称、类别和举办日期;
选手参赛:PC(Pno.Cno,City,Rank,Point),各属性分别表示选手编号、竞赛项目编号、竞赛所在城市、选手取得的名次和积分。
有关关系模式的说明如下:
(1)下划线标出的属性是表的主码。
(2)选手参赛表的属性Pno和Cno分别参照了选手表和竞赛项目表的主码。
(3)一个选手参加一项竞赛有一个名次和一-个积分,名次有4个取值(“一”“二”“三”无”)。另外,竞赛所在城市不能为空。
根据以上描述,回答下列问题,将SQL语句的空缺部分补充完整。
【问题1】(5分)
请将下面创建选手参赛表PC的SQL语句补充完整,要求定义实体完整性约束、参照完整性约束,以及其他完整性约束。
CREATETABLEPC(
PnoCHAR(10)REFERENCES(a)(Pno),
CnoCHAR(3)REFERENCES(b)(Cno),
CityCHAR(20)(c)
RankCHAR(20)(d)
PointSMALLIT,
(e)
【问题2】(6分)
查询所有未参加
正确答案:
参考解析:【问题1】
(a):PLAYER
(b):CONTEST
(c):NOTNULL
(d):CHECK(Rankin(’一’,’二’,’三’,’无’))
(e):PRIMARYKEY(Pno,Cno)
【问题2】
f:PLAYER
g:notin
h:pno
i:pc.cno=contest.cno
j:and
k:orderby
【问题3】
l:delete
m:PC
n:delete
o:CONTEST
(2.)某数据库系统采用数据转储方式对数据和日志文件进行离线备份,用检查点机制进行恢复。
假设部分其日志文件如表5-1所示。日志记录内容中:
【问题1】(6分)
假设各数据项的初始值为:1-22,J=45,K-9,系统出错恢复后,I,J,K的数值会恢复为多少?
【问题2】(4分)
请给出系统恢复时需要重做(Redo)的事务列表和需要撤销(undo)的事务列表。
【问题3】(5分)
假设掉电造成磁盘介质损坏,数据库无法启动,请用100字以内的文字简要说明其恢复过程。
正确答案:
参考解析:【问题1】
I,J,K的数值会恢复为I=3,J=5,K=9
【问题2】
Redo:T2
Undo:T3
【问题3】
由于掉电造成磁盘介质损坏,数据库已经无法启动,恢复过程的步骤如下所示:
(1)装入最新的数据库后备副本,使数据库恢复到最近一次转储时的一致性状态。
(2)转入相应的日志文件副本,重做已完成的事务。
(3.)某社区蔬菜团购网站,为规范商品收发流程,便于查询客户订单情况,需要开发个信息系统。请根据下述需求描述完成该系统的数据库设计。
[需求描述]
(1)记录蔬菜供应商的信息,包括供应商编号、地址和一个电话。
(2)记录社区团购点的信息,包括团购点编号、地址和一个电话。
(3)记录客户信息,包括客户姓名和一个电话。客户可以在不同的社区团购点下订单,不直接与蔬菜供应商发生联系。
(4)记录客户订单信息,包括订单编号、团购点编号、客户电话、订单内容和日期。
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图(不完整)如图1-1所示。
[逻辑结构设计]
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
蔬菜供货商(供货商编号,地址,电话)
社区团购点(团购点编号,地址,电话)
供货(供货商编号,(a))
客户(姓名,客户电话)
订单(订单编号,团购点编号,订单内容,日期,(b))
【问题1】(6分)
根据问题描述,补充图1-1的实体联系图。
【问题2】(4分)
补充逻辑结构设计结果中的(a)、(b)两处空缺及完整性约束关系。
【问题3】(5分)
若社区蔬菜团购网站还兼有代收快递的业务,请增加新的“快递”实体,并给出客户实体和快递实体之间的“收取’联系,对图1进行补充。“快递”关系模式包括快递编号、客户电话和日期。
正确答案:
参考解析:【问题1】
依据题干中的关系设计(a)处应该为主键的定义,(b)和(c)处应该为外键的定义:
(a)PRIMARYKEY
(b)REFERENCESVEM(VEMno)
(c)REFERENCES