试题四(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司拟开发一套招聘信息管理系统,以便对整个公司的各个部门的招聘信息进行统一管理。
【需求分析】
(1)该公司招聘的职位有:测试人员、开发人员、文员秘书和销售代表等职位。公司将职位划分为三种专业类型:技术类型、行政类型和销售类型。每个职位对应一种专业类型,如:测试人员职位属于技术类型。每个职位可以属于一个或多个部门。
(2)面试官由公司员工担任,每个面试官可以负责一个或多个职位的面试。一个职位可由多名面试官负责面试。
(3)应聘人员可以注册应聘的职位成为候选人,并填报自己的简历信息。一个候选人可以应聘多个职位。系统记录候选人每次应聘的面试时间和面试成绩。初步设计的招聘信息数据库关系模式如图4-1所示。
【问题1】(6分)
对关系“候选人”,请回答以下问题:
(1)列举出所有不属于任何候选键的属性(非键属性)。
(2)关系“候选人”可达到第几范式,用60字以内文字简要叙述理由。
【问题2】(5分)
对关系“面试官”,请回答以下问题:
(1)针对“面试官”关系,用60字以内文字简要说明会产生什么问题。
(2)把“面试官”分解为第三范式,分解后的关系名依次为:面试官1,面试官2,…
(3)列出修正后的各关系模式的主键。
【问题3】(4分)
对关系“招聘安排”,请回答以下问题:
(1)关系“招聘安排”是不是第四范式,用60字以内文字叙述理由。
(2)把“招聘安排”分解为第四范式,分解后的关系名依次为:招聘安排1,招聘安排2,…
第1题
试题四(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某学校拟开发一套校友捐赠管理系统,以便对校友的捐赠资金进行管理。
【需求分析】
校友可以向学校提出捐赠申请,说明捐赠的金额、捐赠类型和使用方式。捐赠类型
包括一次性捐赠和周期性捐赠。捐赠的使用方式分为两种:一种用于资助个人,即受益人为多名学生或老师,主要用于奖学金、奖教金和助学金等;另一种用于资助捐赠项目,即资助已有的捐赠项目和设立新的捐赠项目,主要用于改善教学设施、实验室建设和设备购买等。一个捐赠项目可以涉及校内的多个受益单位,每个单位在该项目中有确定的受益比例。每个单位的受益比例是指在一个捐赠项目中的每个单位所应得的金额占该捐赠项目总受益金额的比例。一个捐赠项目可以由多个捐赠来资助,一个捐赠也可以资助多个捐赠项目。系统需记录一个捐赠给所资助的每个捐赠项目的具体的捐赠金额,即每个捐赠项目能从一个捐赠中受益的金额。
初步设计了校友捐赠信息数据库,其关系模式如图4.1所示。
【问题1】 (5分)
对关系“校友信息”,请回答以下问题:
(1)列举出所有候选键的属性。
(2)它可达到第几范式,用60字以内文字简要叙述理由。
【问题2】 (6分)
对关系“捐赠信息”,请回答以下问题:
(1)用100字以内文字简要说明它会产生什么问题。
(2)将其分解为第三范式,分解后的关系名依次为:捐赠信息1,捐赠信息2,…
(3)列出其被修正后的各关系模式的主键。
【问题3】(4分)
对关系“项目受益情况”,请回答以下问题:
(1)它是否是第四范式,用100字以内文字叙述理由。
(2)将其分解为第四范式,分解后的关系名依次为:项目受益情况l,项目受益情2,…
第2题
试题三(共15分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某医院拟开发一套住院病人信息管理系统,以方便对住院病人、医生、护士和手术等信息进行管理。
【需求分析】
(1)系统登记每个病人的住院信息,包括:病案号、病人的姓名、性别、地址、身份证号、电话号码、入院时间及病床信息等,每个病床有唯一所属的病房及病区。如表3-1所示。其中病案号唯一标识病人本次住院的信息。
(2)在一个病人的一次住院期间,由一名医生对该病人的病情进行诊断,并填写一份诊断书,如表3-2所示。对于需要进行一次或多次手术的病人,系统记录手术名称、手术室、手术日期、手术时间、主刀医生及多名协助医生,每名医生在手术中的责任不同,如表3-3所示,其中手术室包含手术室号、楼层、地点和类型等信息。
(3)护士分为两类:病床护士和手术室护士。每个病床护士负责护理一个病区内的所有病人,每个病区由多名护士负责护理。手术室护士负责手术室的护理工作。每个手术室护士负责多个手术室,每个手术室由多名护士负责,每个护士在手术室中有不同的责任,并由系统记录其责任。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
病床(病床号,病房,病房类型,所属病区)
护士(护士编号,姓名,类型,性别,级别)
病床护士( (1) )
手术室(手术室号,楼层,地点,类型)
手术室护士((2) )
病人( (3) ,姓名,性别,地址,身份证号,电话号码,入院时间)
医生(医生编号,姓名,性别,职称,所属科室)
诊断书( (4) ,诊断,诊断时间)
手术安排(病案号,手术室号,手术时间,手术名称)
手术医生安排( (5) ,医生责任)
【问题1】(7分)
补充图3-1中的联系和联系的类型。
【问题2】(5分)
根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(5)补充完整,并用下划线指出主键。
【问题3】(3分)
如果系统还需要记录医生给病人的用药情况,即记录医生给病人所开处方中药品的名称、用量、价格、药品的生产厂家等信息。请根据该要求,对图3-1进行修改,画出补充后的实体、实体间联系和联系的类型。
第3题
试题一(共15分)
阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某学校欲开发图书管理系统,以记录图书馆所藏图书及其借出和归还情况,提供给借阅者借阅图书功能,提供给图书馆管理员管理和定期更新图书表功能。主要功能的具体描述如下:
(1)处理借阅。借阅者要借阅图书时,系统必须对其身份(借阅者ID)进行检查。通过与教务处维护的学生数据库、人事处维护的职工数据库中的数据进行比对,以验证借阅者ID是否合法。若合法,则检查借阅者在逾期未还图书表中是否有逾期未还图书,以及罚金表中的罚金是否超过限额。如果没有逾期未还图书并且罚金未超过限额,则允许借阅图书,更新图书表,并将借阅的图书存入借出图书表。借阅者归还所借图书时,先由图书馆管理员检查图书是否缺失或损坏,若是,则对借阅者处以相应罚金并存入罚金表;然后,检查所还图书是否逾期,若是,执行“处理逾期”操作;最后,更新图书表,删除借出图书表中的相应记录。
(2)维护图书。图书馆管理员查询图书信息;在新进图书时录入图书信息,存入图书表:在图书丢失或损坏严重时,从图书表中删除该图书记录。
(3)处理逾期。系统在每周一统计逾期未还图书,逾期未还的图书按规则计算罚金,并记入罚金表,并给有逾期未还图书的借阅者发送提醒消息。借阅者在借阅和归还图书时,若罚金超过限额,管理员收取罚金,并更新罚金表中的罚金额度。
现采用结构化方法对该图书管理系统进行分析与设计,获得如图1-1所示的顶层数据流图和图1-2所示的0层数据流图。
【问题1】 (4分)
使用说明中的词语,给出图1-1中的实体E1~E4的名称。
【问题2】 (4分)
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】(5分)
在DFD建模时,需要对有些复杂加工(处理)进行进一步精化,绘制下层数据流图。针对图1-2中的加工“处理借阅”,在1层数据流图中应分解为哪些加工?(使用说明中的术语)
【问题4】 (2分)
说明【问题3】中绘制1层数据流图时要注意的问题。
第4题
试题四(15 分)
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某科研项目管理机构拟开发科研管理系统,以便管理科研项目信息。设计了科研信息数据库,其关系模式如图 4-1 所示。
关系模式的主要属性、含义及约束如表 4-1 所示。
一个科研项目(课题)由一位科研专家作为负责人。一个科研项目可以由多个单位参与,这些单位可以作为承担单位或者合作单位来参与科研项目。一个科研项目可以有
多个拨款单位,每个单位按合同经费的一定百分比拨款。科研专家是具有科研项目申请资格的科研人员。一位科研专家可以参与不同的科研项目。参与科研项目的每个单位可以有多个除科研专家外的单位员工参与项目的研发。 属性间的函数依赖关系如下:
对于“项目信息”关系模式:
课题编号,单位名称,拨款单位 → 课题名称,负责人,单位类别,单位排名,合
同经费,拨款百分比
课题编号,单位名称 → 课题名称,负责人,课题类别,单位排名,合同经费
课题编号,拨款单位 → 课题名称,负责人,合同经费,拨款百分比
课题编号 → 课题名称,负责人,合同经费
课题编号 →→ 拨款单位,拨款百分比
课题编号 →→ 单位名称,单位类别,单位排名
对于“科研专家”关系模式:
人员编号 → 姓名,性别,出生年月,身份证号,最高学位,职称,研究方向,所在单位,单位地址
所在单位 → 单位地址
身份证号 → 人员编号
对于“项目研发人员”关系模式:
课题编号,所在单位,职工号 → 姓名,年龄,学历,职称,分工,排名,参加月数
所在单位,职工号 → 姓名,年龄,学历,职称
【问题 1】(5 分)
对关系“科研专家” ,请回答以下问题:
(1)列举出所有不属于任何候选键的属性(非键属性)。
(2)关系“科研专家”可达到第几范式,用 60 字以内文字简要叙述理由。
【问题 2】(6 分)
对关系“项目研发人员” ,请回答以下问题:
(1)针对“项目研发人员”关系,用 100 字以内文字简要说明会产生什么问题。
(2)把“项目研发人员”分解为第三范式,分解后的关系名依次为:项目研发人员 1,
项目研发人员 2,…
(3)列出修正后的各关系模式的主键。
【问题 3】(4 分)
对关系“项目信息” ,请回答以下问题:
(1)关系“项目信息”是不是第四范式,用 100 字以内文字叙述理由。
(2)把“项目信息”分解为第四范式,分解后的关系名依次为:项目信息 1,项目信息 2,…
第5题
试题 四( 15 分)
阅读下列说明,回答问题1和问题2,将解答填入答题纸的对应栏内。
【说明】
某学校为实现无纸化、网络化的教材管理,拟开发一套教材管理系统。该系统主要负责统计全校的教学用书的需求信息,以便教材的统一购买。
【 需求分析结果】
(1) 教学计划
各学院的教学计划是教材需求的来源。各学院的教学管理人员为本学院的各个专业方向制定教学计划。教学计划主要是描述每个专业方向不同学期所开设的课程信息。教学计划的示例如表4-1。
(2) 课程信息 课程信息包括课程编号、课程名、教材编号,由课程编号唯一标识。如表4-1中, 《数
据库技术》课程因其使用的教材不同而分别编号。
(3) 专业方向、班级
学校根据学院和专业方向将学生划分班级。一个学院可有多个专业方向,不同学院可以有相同名字的专业方向。一个专业方向可有多个班级,班级包含入学年份和人数。
(4) 教材信息
教材信息记录教材的基本信息,包括教材编号、教材名称、ISBN 号、出版社名称、作者、版本号。同一种教材版本不同编号也不同,一种教材可以有多个作者。
(5) 教材需求
根据各学院的教学计划和对应的班级人数,统计全校各系各专业各班级的教材需求情况。教材需求量是根据现有的教学计划和班级人数计算得到的。
【 逻辑结构设计】
根据需求阶段收集的信息,设计的关系模式如图4-1所示。
关系模式的主要属性、含义及约束如表4-2所示。
根据图4-1关系模式,给出班级、教材的函数依赖(不完整)如下。
(1)班级关系函数依赖FD1
班级号 → { 入学年份, 人数, 院系名称, 专业名称 }
(2)教材关系函数依赖FD2
教材编号 →{ 教材名称, ISBN, 出版社, 版本号 } (不完整)
【问题1】 (8分)
根据图4-1的关系模式,回答以下问题:
(1) 分析“教材”关系,给出除FD2外其余的函数依赖和多值依赖;
(2) 列出“教材”关系的所有候选键;
(3) 分析“教材”关系所属范式,并说明原因;
(4) 对“教材”关系进行分解,使其达到 4NF。分解后各关系模式分别命名为:教材1,教材2,……。
【 问题2】(7分)
分析以上各关系模式,请回答以下问题:
(1) “教学计划”关系是否存在冗余?请简要说明。
(2) 根据现有关系模式,能否获得学校每学期的各种教材的需求总量?请简要说明。
(3) 考虑到任选课只有部分学生选修,需要增加或修改哪些关系模式,请给出修改结果并简要说明。
第6题
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某服装销售公司拟开发一套服装采购管理系统,以方便对服装采购和库存进行管理。
【需求分析】
(1)采购系统需要维护服装信息及服装在仓库中的存放情况。系统按服装的销售种类记录服装信息。服装信息主要包括:服装编码、服装描述、服装类型、销售价格、尺码和面料,其中,服装类型为销售分类,服装按销售分类编码。仓库信息主要包括:仓库编码、仓库位置、仓库容量和库管员。系统记录库管员的库管员编码、姓名和级别。一个库管员可以管理多个仓库,每个仓库有一名库管员。一个仓库中可以存放多类服装,一类服装可能存放在多个仓库中。
(2)当库管员发现有一类或者多类服装缺货时,需要生成采购订单。一个采购订单可以包含多类服装。每类服装可由多个不同的供应商供应,但具有相同的服装编码。采购订单主要记录订单编码、订货日期和应到货日期,并需详细记录所采购的每类服装的数量、采购价格和对应的多个供应商。
(3)系统需记录每类服装的各个供应商信息和供应情况。供应商信息包括:供应商编码、供应商名称、地址、企业法人和联系电话。供应情况记录供应商所供应服装的服装类型和服装质量等级。一个供应商可以供应多类服装,一类服装可由多个供应商供应。库管员根据入库时的服装质量情况,设定或修改每个供应商所供应的每类服装的服装质量等级,用以作为后续采购服装时,选择供应商的参考标准。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
库管员( (1) ,姓名,级别)
仓库信息((2) ,仓库位置,仓库容量)
服装(服装编码,服装描述,服装类型,尺码,面料,销售价格)
供应商( (3) ,供应商名称,地址,联系电话,企业法人)
供应情况((4) ,服装质量等级)
采购订单( (5) )
采购订单明细( (6) )
【问题1】
补充图3-1中的联系和联系的类型。
【问题2】
根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(6)补充完整。对所有关系模式,用下划线指出各关系模式的主键。
【问题3】
如果库管员定期需要轮流对所有仓库中的服装质量进行抽查,对每个仓库中的每一类被抽查服装需要记录一条抽查结果,并且需要记录抽查的时间和负责抽查的库管员。请根据该要求,对图3-1进行修改,画出修改后的实体间联系和联系的类型。
第7题
试题三(15 分)
阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。
【说明】
某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。
【需求分析】
1.对于前来维修的车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位) 、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表 3-1 所示。
2.维修站的业务员对车辆进行检查和故障分析后,与客户磋商,确定车辆的故障现象及维修范围,填写维修委托书,包括:维修类型(普通、加急) 、作业分类(大、中、小修) 、结算方式(自付、三包、索赔)等信息。维修委托书如表 3-2 所示。
3.维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择一个或多个具体的维修项目, 安排相关的维修工及工时, 生成维修派工单。 维修派工单如表 3-3所示。
4.客户车辆修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图 3-1 所示。图 3-1 中业务员和维修工是员工的子实体。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整) :
客户( (1),折扣率,联系人,联系电话)
车辆( (2) ,车型,颜色,车辆类别)
委托书( (3) ,维修类型,作业分类,结算方式,进厂时间, 预计完工时间,登记日期,故障描述,总费用)
维修项目( 维修项目编号,维修项目,单价)
派工单( (4) ,工时)
员工( (5) ,工种,员工类型,级别)
【问题 1】 (6 分)
补充图 3-1 中的联系和联系的类型。
【问题 2】 (5 分)
根据图 3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(5)补充完整。对所有关系模式,用下划线指出各关系模式的主键。
【问题 3】 (4 分)
若车辆可购买多种不同的保险,则对应有多个保险单。如果考虑需要理赔的情况,则在结算车辆维修费用时,需要用户指定此次委托维修的车辆的不同保险单所负担的总维修费用的比例。请对增加了“保险单”实体的图 3-1 进行修改,画出修改后的实体间联系和联系的类型。
第8题
试题三(共15 分)
阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某学校拟开发一套实验管理系统,对各课程的实验安排进行管理。
【需求分析】
每个实验室可进行的实验类型不同。由于实验室和实验员资源有限,需根据学生人数分批次安排实验室和实验员。一门含实验的课程可以开设给多个班级,每个班级每学期可以开设多门含实验的课程。每个实验室都有其可开设的实验类型。一门课程的一种实验可以根据人数、实验室的可容纳人数和实验室类型,分批次开设在多个实验室的不同时间段。一个实验室的一次实验可以分配多个实验员负责辅导实验,实验员给出学生
的每次实验成绩。
1.课程信息包括:课程编号、课程名称、实验学时、授课学期和开课的班级等信息;实验信息记录该课程的实验进度信息,包括:实验名、实验类型、学时、安排周次等信息,如表3-1所示。
4.学生的实验课程总成绩根据每次实验的成绩以及每次实验的难度来计算。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图(不完整)如图3-1所示。
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
【问题1】(5 分)
补充图3-1中的联系和联系的类型。
【问题2】(8 分)
根据图3-1,将逻辑结构设计阶段生成的关系模式中的空(1)~(6)补充完整。对所有关系模式,用下划线标出各关系模式的主键。
【问题3】(2 分)
如果需要记录课程的授课教师,新增加“授课教师”实体。请对图 3-1 进行修改,画出修改后的实体间联系和联系的类型。
第9题
试题五(共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实现的机票销售程序的一部分,请补全空缺处的代码。
EXEC SQL SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
EXEC SQL SELECT balance INTO :x FROM tickets WHERE flight = ‘A’ ;
printf("航班A 当前剩余机票数为:%d\n请输入购票数:", x );
scanf("%d", &a);
x = x – a ;
if (x<0)
EXEC SQL ROLLBACK WORK;
printf("票数不够,购票失败!");
else{
EXEC SQL UPDATE tickets SET (a) ;
if (SQLCA.sqlcode <> SUCCESS)
EXEC SQL ROLLBACK WORK;
else
(b) ;
}
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!