数据库系统工程师问答题33道.docx
- 文档编号:11685525
- 上传时间:2023-03-30
- 格式:DOCX
- 页数:55
- 大小:1.91MB
数据库系统工程师问答题33道.docx
《数据库系统工程师问答题33道.docx》由会员分享,可在线阅读,更多相关《数据库系统工程师问答题33道.docx(55页珍藏版)》请在冰豆网上搜索。
数据库系统工程师问答题33道
数据库系统工程师问答题33道
1.[ 问答题 ]
试题四(20分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
M公司为某旅游公司设计机票销售专用数据库,其关系模式如图4-1所示。
图4-1机票销售专用数据库
关系模式的主要属性、含义及约束如表4-1所示,属性间的函数依赖关系如图4-2所示,属性间函数依赖的标记方法如图4-3所示。
表4-1主要属性、含义及约束
旅客旅行前需要向旅行社提出申请,说明要参加的旅行团队。
旅行社建立的旅行申请包括,旅行出发日期和到达日期的机票预订、购票等信息。
旅行社还需要为每个团队制定“旅程”和“搭乘航班”表。
有关“旅程”和“搭乘航班”的示例如表4-2、表4-3所示。
【问题1】对关系“航班”,请回答以下问题:
(6分)
(1)列举出所有不属于任何候选键的属性(非键属性)。
(2)关系“航班”可达到第几范式,用不超过60个字的内容叙述理由。
【问题2】对关系“旅客”,请回答以下的问题:
(6分)
(1)针对“旅客”关系,用100字以内文字简要说明会产生什么问题,并加以修正。
(2)列出修正后的关系模式的所有候选键。
(3)把“旅客”分解为第三范式,并用图4-1所示的关系模式的形式表示,分解后的关系名依次取旅客1、旅客2、…。
【问题3】对关系“搭乘航班”,请回答以下的问题:
(8分)
(1)把非平凡的多值依赖属性(图4-2中没有表示)的例子用满足图4-3的方式表示出来。
(2)关系“搭乘航班”是boycecodd范式而不是第四范式,请用200字以内文字阐述理由。
(3)把“搭乘航班”关系分解成第四范式,并采用图4-1所示的关系模式的形式表示,分解后的关系名依次取搭乘航班1、搭乘航班2、…。
2 [ 问答题 ]
试题三(20分)
阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
某仓储超市采用POS(PointofSale)收银机负责前台的销售收款,为及时掌握销售信息,并依此指导进货,拟建立商品进、销、存数据库管理系统。
该系统的需求分析已经基本完成,下面将进入概念模型的设计。
【需求分析结果】
1.销售业务由POS收银机来辅助实现。
POS机外接条码阅读器,结帐时收银员将商品的条码通过阅读器输入POS机中。
所售商品数量默认值为1,可以由收银员修改。
POS机根据输入的商品信息,打印出图3-1所示的购物清单。
2.将经销的商品分为直销商品和库存商品两大类。
直销商品的保质期较短,如食品类,由供应商直接送达超市,管理员将过期的商品返还给供应商处理;库存商品由采购员向供应商提交订购单,供应商根据订购单送货。
超市会不定期对库存商品按照折扣率进行打折优惠。
直销商品和库存商品的送货单样表分别如图3-2、图3-3所示,其中直销商品生产批号的前六位表示生产日期。
3.超市的硬件拓扑结构如图3-4所示。
4.业务处理过程:
由POS机存储每一笔销售记录,在每个工作日结束前汇总当日各商品的销售量至中心数据库(销售日汇总);根据当日的销售日汇总更新存货表;每笔进货记入进货表中,并及时更新存货表。
【概念模型设计】根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下:
1.实体联系图
2.关系模式
销售详单(销售流水号,商品编码,数量,金额,收银员,时间)
销售日汇总(日期,商品编码,数量)
存货表(商品编码,数量)
进货表(送货号码,商品编码,数量,日期)
商品((b))
【问题1】
对直销商品和库存商品进行概括,给出超类和子类,填入图3-5中(a)处所示的虚线框内,并补充联系。
(5分)
【问题2】
根据你的实体联系图,完成(b)处的商品关系模式,并增加子类型的实体关系模式。
(3分)
【问题3】
对所有关系模式,以下划线指出各关系模式的主键。
(4分)
【问题4】
如果将商品信息只存储在中心数据库中,与在各POS机上存储其备份相比,从前台销售效率和更新商品库两方面论述各自的优缺点(不超过300字)。
(4分)
【问题5】
如果考虑引入积分卡,根据累积消费金额计算积分点,再根据积分点在顾客购物时进行现金返还,并修改顾客的累积消费金额和积分点。
请给出新增加的积分卡关系模式,并对销售详单关系模式进行修正,指出修正后关系模式和新增关系模式的候选键和外键。
(4分)
参考答案:
3 [ 问答题 ]
试题一(15分)
阅读下列说明和数据流图,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某图书管理系统的主要功能是图书管理和信息查询。
对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位、地址等)一起写入读者文件。
系统的图书管理功能分为四个方面:
购入新书、读者借书、读者还书以及图书注销。
1.购入新书时需要为该书编制入库单。
入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为
止,购入此种图书的数量)。
2.读者借书时需填写借书单。
借书单内容包括读者号和所借图书分类目录号。
系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过5本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。
3.读者还书时需填写还书单。
系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。
4.注销图书时,需填写注销单并修改图书目录文件中的库存总量。
系统的信息查询功能主要包括读者信息查询和图书信息查询。
其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。
图书管理系统的顶层图如图1-1所示;图书管理系统的第0层DFD图如图1-2所示,其中,加工2的细化图如图1-3所示。
【数据流图1-1】
【数据流图1-2】
【数据流图1-3】
【问题1】(2分)
数据流图1-2中有两条数据流是错误的,请指出这两条数据流的起点和终点。
【问题2】(6分)
数据流图1-3中缺少三条数据流,请指出这三条数据流的起点和终点。
【问题3】(7分)
根据系统功能和数据流图填充下列数据字典条目中的
(1)和
(2):
查询请求信息=[查询读者请求信息|查询图书请求信息]
读者情况=读者号+姓名+所在单位+{借书情况}
管理工作请求单=
(1)
入库单=
(2)
参考答案:
4 [ 问答题 ]
试题二(20分)
阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
某工厂的信息管理数据库的部分关系模式如下所示:
职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)
部门(部门号,部门名,负责人代码,任职时间)
关系模式的主要属性、含义及约束如表2-1所示,“职工”和“部门”的关系示例分别如表2-2和表2-3所示。
【问题1】根据上述说明,由SQL定义的“职工”和“部门”的关系模式,以及统计各部门的人数C、工资总数Totals、平均工资Averages的D_S视图如下所示,请在空缺处填入正确的内容。
(6分)
CreateTable部门(部门号CHAR
(1)(a),
部门名CHAR(16),
负责人代码CHAR(4),
任职时间DATE,
(b)(职工号));
CreateTable职工(职工号CHAR(4),
姓名CHAR(8),
年龄NUMBER(3),
月工资NUMBER(4),
部门号CHAR
(1),
电话CHAR(8),
办公室CHAR(8),
(a)(职工号),
(b)(部门号),
CHECK((d)));
CreateViewD_S(D,C,Totals,Averages)As
(Select部门号,(e)
from职工
(f))
【问题2】对于表2-2、表2-3所示的“职工”和“部门”关系,请指出下列各行是否可以插入,为什么?
(3分)
【问题3】在问题1定义的视图D_S上,下面哪个查询或更新是允许执行的,为什么?
(3分)
(1)UpdateD_SsetD=3whereD=4;
(2)DeletefromD_SwhereC>4;
(3)SelectD,AveragesfromD_S
whereC>(SelectCfromD_SwhereD=:
dept);
(4)SelectD,CFromD_S
whereTotals>10000;
(5)Select*fromD_S;
【问题4】查询每个部门中月工资最高的“职工号”的SQL查询语句如下:
Select职工号from职工E
where月工资=(SelectMax(月工资)
from职工asM
whereM.部门号=E.部门号)
(1)请用30字以内文字简要说明该查询语句对查询效率的影响。
(3分)
(2)对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。
(3分)
【问题5】假定分别在“职工”关系中的“年龄”和“月工资”字段上创建了索引,如下的Select查询语句可能不会促使查询优化器使用索引,从而降低查询效率,请写出既可以完成相同功能又可以提高查询效率的SQL语句。
(2分)
Select姓名,年龄,月工资from职工
where年龄>45or月工资<1000;
参考答案:
5 [ 问答题 ] (分)
试题五(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。
各售票网点使用相同的售票程序。
假设售票程序中用到的伪指令如下表5-1所示:
假设某售票网点一次售出a张航班A的机票,则售票程序的伪指令序列为:
R(A,x);W(A,x–a)。
根据上述业务及规则,完成下列问题:
【问题1】(5分)
若两个售票网点同时销售航班A的机票,在数据库服务器端可能出现如下的调度:
A:
R1(A,x),R2(A,x),W1(A,x–1),W2(A,x–2);
B:
R1(A,x),R2(A,x),W2(A,x–2),W1(A,x–1);
C:
R1(A,x),W1(A,x–1),R2(A,x),W2(A,x–2);
其中Ri(A,x),Wi(A,x)分别表示第i个销售网点的读写操作,其余类同。
假设当前航班A剩余10张机票,分析上述三个调度各自执行完后的剩余票数,并指出错误的调度及产生错误的原因。
【问题2】(6分)
(1)判定事务并发执行正确性的准则是什么?
如何保证并发事务正确地执行?
(2)引入相应的加解锁指令,重写售票程序的伪指令序列,以保证正确的并发调度。
【问题3】(4分)
下面是用E-SQL实现的机票销售程序的一部分,请补全空缺处的代码。
EXECSQLSETTRANSACTIONISOLATIONLEVELSERIALIZABLE
EXECSQLSELECTbalanceINTO:
xFROMticketsWHEREflight=‘A’;
printf("航班A当前剩余机票数为:
%d\n请输入购票数:
",x);
scanf("%d",&a);
x=x–a;
if(x<0)
EXECSQLROLLBACKWORK;
printf("票数不够,购票失败!
");
else{
EXECSQLUPDATEticketsSET _____(a)_____;
if(SQLCA.sqlcode<>SUCCESS)
EXECSQLROLLBACKWORK;
else
_____(b)_____;
}
参考答案:
6 [ 问答题 ] (分)
试题二(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
天津市某银行信息系统的数据库部分关系模式如下所示:
客户(客户号,姓名,性别,地址,邮编,电话)
账户(账户号,客户号,开户支行号,余额)
支行(支行号,支行名称,城市,资产总额)
交易(交易号,账户号,业务金额,交易日期)
其中,业务金额为正值表示客户向账户存款;为负值表示取款。
【问题1】(3分)
以下是创建账户关系的SQL语句,账户号唯一识别一个账户,客户号为客户关系的唯一标识,且不能为空。
账户余额不能小于1.00元。
请将空缺部分补充完整。
CREATETABLE账户(
账户号CHAR(19) _____(a)_____,
客户号CHAR(10) _____(b)_____,
开户支行号CHAR(6) NOTNULL,
余额NUMBER(8,2)_____(c)_____);
【问题2】(7分)
(1)现银行决策者希望查看在天津市各支行开户且2009年9月使用了银行存取服务的所有客户的详细信息,请补充完整相应的查询语句。
(交易日期形式为’2000-01-01’)
SELECTDISTINCT客户.*
FROM客户,账户,支行,交易
WHERE客户.客户号=账户.客户号AND
账户.开户支行号=支行.支行号AND
_____(d)_____AND
交易.账户号=账户.账户号AND
_____(e)_____;
上述查询优化后的语句如下,请补充完整。
SELECTDISTINCT客户.*
FROM客户,账户, _____(f)_____AS新支行,_____(g)_____AS新交易
WHERE客户.客户号=账户.客户号AND
账户.开户支行号=新支行.支行号AND
新交易.账户号=账户.账户号;
(2)假定一名客户可以申请多个账户,给出在该银行当前所有账户余额之和超过百万的客户信息并按客户号降序排列。
SELECT *
FROM客户
WHERE_____(h)_____
(SELECT客户号FROM账户GROUPBY客户号 _____(i)_____)
ORDERBY_____(j)_____;
【问题3】(5分)
(1)为账户关系增加一个属性“账户标记”,缺省值为0,取值类型为整数;并将当前账户关系中所有记录的“账户标记”属性值修改为0。
请补充相关SQL语句。
ALTERTABLE账户 _____(k)_____ DEFAULT0;
UPDATE账户_____(l)_____;
(2)对于每笔金额超过10万元的交易,其对应账户标记属性值加1,给出触发器实现的方案。
CREATETRIGGER交易_触发器_____(m)_____ ON交易
REFERENCINGNEWROWAS新交易
FOREACHROW
WHEN _____(n)_____
BEGINATOMIC
UPDATE账户SET账户标记=账户标记+1
WHERE _____(o)_____;
COMMITWORK;
END
参考答案:
7 [ 问答题 ] (分)
试题三(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某学校拟开发一套实验管理系统,对各课程的实验安排进行管理。
【需求分析】
每个实验室可进行的实验类型不同。
由于实验室和实验员资源有限,需根据学生人数分批次安排实验室和实验员。
一门含实验的课程可以开设给多个班级,每个班级每学期可以开设多门含实验的课程。
每个实验室都有其可开设的实验类型。
一门课程的一种实验可以根据人数、实验室的可容纳人数和实验室类型,分批次开设在多个实验室的不同时间段。
一个实验室的一次实验可以分配多个实验员负责辅导实验,实验员给出学生的每次实验成绩。
1.课程信息包括:
课程编号、课程名称、实验学时、授课学期和开课的班级等信息;实验信息记录该课程的实验进度信息,包括:
实验名、实验类型、学时、安排周次等信息,如表3-1所示。
2.以课程为单位制定实验安排计划信息,包括:
实验地点,实验时间、实验员等信息。
实验计划如表3-2所示。
3.由实验员给出每个学生每次实验的成绩,包括:
实验名,学号,姓名,班级,实验成绩等信息。
实验成绩如表3-3所示。
4.学生的实验课程总成绩根据每次实验的成绩以及每次实验的难度来计算。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
课程(课程编号,课程名称,授课院系,实验学时)
班级(班级号,专业,所属系)
开课情况(
(1),授课学期)
实验(
(2),实验类型,难度,学时,安排周次)
实验计划((3) ,实验时间,人数)
实验员((4),级别)
实验室(实验室编号,地点,开放时间,可容纳人数,实验类型)
学生((5),姓名,年龄,性别)
实验成绩((6),实验成绩,评分实验员)
【问题1】(5分)
补充图3-1中的联系和联系的类型。
【问题2】(8分)
根据图3-1,将逻辑结构设计阶段生成的关系模式中的空
(1)~(6)补充完整。
对所有关系模式,用下划线标出各关系模式的主键。
【问题3】(2分)
如果需要记录课程的授课教师,新增加“授课教师”实体。
请对图3-1进行修改,画出修改后的实体间联系和联系的类型。
参考答案:
8 [ 问答题 ] (分)
试题四(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某旅行社拟开发一套旅游管理系统,以便管理旅游相关的信息。
1.旅行社可发布旅游线路的信息,包含:
线路的价格、天数、住宿情况,以及具体的行程安排等。
不同的线路参观的景点及住宿情况不相同,如表4-1所示。
2.游客与旅行社沟通,选择适合自己的线路,并由旅行社为其生成订单,以记录游客联系人的姓名、身份证号、联系方式、人数、所选线路、导游安排和票务信息。
旅行社为游客在行程中的每个城市安排一个负责导游,负责游客在该城市的具体旅行安排。
同一城市的负责导游相同,不同城市的负责导游有可能不同。
3.旅行社的每位员工只属于一种固定的员工类别,系统可记录员工的多部手机号。
旅行社按月统计导游每月的带团人数和游客投诉次数,以计算导游的当月月薪。
根据上述需求,初步设计了旅游信息数据库,其关系模式如图4-1所示。
关系模式中主要属性的含义及约束如表4-2所示。
【问题1】(3分)
对关系“线路信息”,请回答以下问题:
(1)列举出所有不属于任何候选键的属性(非键属性)。
(2)关系“线路信息”是否为BCNF范式,用60字以内文字简要叙述理由。
【问题2】(7分)
对关系“订单信息”,请回答以下问题:
(1)“订单信息”是否为2NF范式,用100字以内文字简要说明会产生什么问题。
(2)把“订单信息”分解为第三范式,分解后的关系名依次为:
订单信息1,订单信息2,…。
(3)列出分解后的各关系模式的主键。
【问题3】(5分)
对关系“员工信息”,请回答以下问题:
(1)关系“员工信息”是不是第四范式,用100字以内文字叙述理由。
(2)若“员工信息”不是第四范式,将其分解为第四范式,分解后的关系名依次为:
员工信息1,员工信息2,…。
参考答案:
9 [ 问答题 ] (分)
试题一(共15分)
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大型企业的数据中心为了集中管理、控制用户对数据的访问并支持大量连接需求,欲构建数据管理中间件。
其主要功能如下:
(1)数据管理员可通过中间件进行用户管理、操作管理和权限管理。
用户管理维护用户信息,用户信息(用户名、密码)存储在用户表中;操作管理维护数据实体的标准操作及其所属的后端数据库信息,标准操作和后端数据库信息存放在操作表中;权限管理维护权限表,该表存储用户可执行的操作信息。
(2)中间件验证前端应用提供的用户信息。
若验证不通过,返回非法用户信息;若验证通过,中间件将等待前端应用提交操作请求。
(3)前端应用提交操作请求后,中间件先对请求进行格式检查。
如果格式不正确,返回格式错误信息;如果格式正确,则进行权限验证(验证用户是否有权执行请求的操作),若用户无权执行该操作,则返回权限不足信息,否则进行连接管理。
(4)连接管理连接相应的后台数据
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 工程师 问答题 33