logo资料库

2011上半年数据库系统工程师考试真题及答案-下午卷.doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
【需求分析】
【概念模型设计】
【需求分析】
(1)此时会出现什么问题? (100字以内)
2011 上半年数据库系统工程师考试真题及答案-下午卷 试题一 某医院欲开发病人监控系统。该系统通过各种设备监控病人的生命特征,并在生命特征 异常时向医生和护理人员报警。该系统的主要功能如下: (1)本地监控:定期获取病人的生命特征,如体温、血压、心率等数据。 (2)格式化生命特征:对病人的各项重要生命特征数据进行格式化,然后存入日志文件 并检查生命特征。 (3)检查生命特征:将格式化后的生命特征与生命特征范围文件中预设的正常范围进行 比较。如果超出了预设范围,系统就发送一条警告信息给医生和护理人员。 (4)维护生命特征范围:医生在必要时(如,新的研究结果出现时)添加或更新生命特 征值的正常范围。 (5)提取报告:在医生或护理人员请求病人生命特征报告时,从日志文件中获取病人生 命特征生成特征报告,并返回给请求者。 (6)生成病历:根据日志文件中的生命特征,医生对病人的病情进行描述,形成病历存 入病历文件。 (7)查询病历:根据医生的病历查询请求,查询病历文件,给医生返回病历报告。 (8)生成治疗意见:根据日志文件中的生命特征和病历,医生给出治疗意见,如处方等, 并存入治疗意见文件。 (9)查询治疗意见:医生和护理人员查询治疗意见,据此对病人进行治疗。 现采用结构化方法对病人监控系统进行分析与设计,获得如图 1-1 所示的顶层数据流图和图 1-2 所示的 0 层数据流图。
【问题 1】 使用说明中的词语,给出图 1-1 中的实体 E1〜E3 的名称。 E1:病人 E2:护理人员 E3:医生 本问题考查顶层 DFD。顶层 DFD —般用来确定系统边界,将待开发系统看作一个加工,因此 图中只有唯一的一个处理和一些外部实体,以及这两者之间的输入输出数据流。题目要求根 据描述来确定图中的外部实体。分析题目中的描述,并结合已经在顶层数据流图中给出的数 据流进行分析。从中可以看出,与系统的交互者包括病人、医生和医护人员。其中,本地监 控定期获取病人的生命特征,病人是生命特征数据来源,医生和护理人员会得到相关报告的 结果,如请求病人生命特征报告,并获得相关报告。医生还需要在必要时添加或更新生命特 征范围。对应图 1-1 中数据流和实体的对应关系,可知 E1 为病人,E2 为护理人员,E3 为医 生。 【问题 2】
使用说明中的词语,给出图 1-2 中的数据存储 D1〜D4 的名称。 D1:生命特征范围文件 D2:日志文件 D3:病历文件 D4:治疗意见文件 解析:本问题考查 0 层 DFD 中数据存储的确定。根据说明中的描述:(2)格式化生命特征: 对病人的各项重要生命特征数据进行格式化,然后存入日志文件并检查生命特征(4)维护生 命特征范围:医生在必要时(如,新的研究结果出现时)添加或更新生命特征值的正常范围; (6)生成病历:根据日志文件中的生命特征,医生对病人的病情进行描述,形成病历存入病 历文件;(8)生成治疗意见:根据日志文件中的生命特征和病历,医生给出治疗意见,如处 方等,并存入治疗意见文件。因此,D1 为生命特征范围文件,D2 为日志文件,D3 为病例文 件,D4 为治疗意见文件。 【问题 3】 图 1-2 中缺失了 4 条数据流,使用说明、图 1-1 和图 1-2 中的术语,给出数据流的名称 及其起点和终点。 解析:本问题考查 0 层 DFD 中缺失的处理和数据流。从说明中的描述及图 1-2 可知,本地监 控之后要对重要生命特征存储日志文件进行格式化,所以在本地监控和格式化生命特征之间 缺少了数据流重要生命特征;检查生命特征是对格式化后的生命特征进行检查,所以在格式 化生命特征和检查生命特征之间缺少了数据流格式化后的生命特征;根据曰志文件中的生命 特征,医生对病人的病情进行描述,形成病历存入病历文件。 【问题 4】 说明实体 E1 和 E2 之前可否有数据流,并解释其原因。 E1 和 E3 之间不可以有数据流,因为数据流的起点和终点中必须有一个是加工(处理)。 解析:本问题考查绘制 DFD 时的注意事项。在 DFD 中,每条数据流的起点和终点之一必须是 加工(处理)。本题中,医生和护理人员根据查询到的治疗意见对病人进行治疗属于系统之
外的行为,所以两个实体之间不可以有数据流。 试题二 某法院要开发一个诉讼案件信息处理系统,该信息系统的部分关系模式如下: 职工(职工编号,姓名,岗位) 律师(律师编号,姓名) 被告(被告编号,姓名,地址) 案件(案件编号,案件类型,案件描述,被告,律师,主审法官,立案日期,状态,结案日 期,结案摘要) 审理(审理编号,案件编号,审理日期,摘要) 有关关系模式的属性及相关说明如下: (1)职工关系模式的岗位有“法官”、“书记员”和“其他”。 (2)诉讼立案后,即在案件关系中插入一条相应记录。案件关系模式的状态有“待处理”、“审 理中”、“结案”和“撤销”,一个案件开始立案时其案件状态为“待处理”。 (3)案件关系模式的案件类型有“偷窃”、“纵火”等。 (4) 一个案件自立案到结案的整个过程由一位法官和一位律师负责,一个案件通常经过一次 到多次审理。 【问题 1】 假设案件编号唯一标识一个案件,且立案日期小于等于结案日期。请将如下创建案件关 系的 SQL 语句的空缺部分补充完整。 (a) PRIMARY KEY 或 NOT NULL UNIQUE (b) REFERENCES 职工(职工编号) (c) CHECK VALUES IN ('待处理','审理中','结案','撤销')
(d) CHECK (立案日期<=结案日期) 本问题考查 SQL 中的数据定义语言 DDL 和完整性约束。完整性约束包括三类:实体完整性、 参照完整性和用户定义的完整性。实体完整性约束规定关系的主属性不能取空值,关系模型 中以主码作为唯一性标识;参照完整性约束规定若属性(或属性组)A 是关系 R 上的主码, B 是关系 S 上的外码,A 与 B 相对应(来自相同的域),则 B 取值为空或者来自于 R 上的某个 A 的值;用户定义的完整性约束是针对具体的数据库应用而定义的,它反映该应用所涉及的 数据必须满足用户定义的语义要求。 (a)考查实体完整性约束,案件编号是案件关系模式的主码,用关键字 PRIMARY KEY 或者 NOT NULL UNIQUE 表示。 (b)考查参照完整性约束,主审法官属性参照职工关系模式中的职工编号属性,由于这两个 属性名称不同,因此用 REFERENCES 职工(职工编号)表示,此处不能省略职工编号。 (c)、(d)考查用户定义的完整性约束。(c)是在状态属性上定义列级约束,用 CHECK VALUES IN ('待处理','审理中','结案','撤销')表示。(d)在立案日期和结案日期上定义约束, 用 CHECK(立案日期<=结案日期)表示。 【问题 2】 请完成下列查询的 SQL 语句。 (1)查询当前待处理的诉讼案件,显示案件的案件编号、立案日期、被告姓名、被告地址、 案件描述、律师姓名和主审法官姓名。 (2)査询 2009 年立案的各类案件数,并按案件数降序排序。(日期格式举例:2009 年 1 月 1 日表示为 01-JAN-2009,2009 年 12 月 31 日表示为 31-DEC-2009) (3)查询立案次数超过 5 次的被告姓名和地址。
(1) (e)职工.姓名 AS 主审法官姓名 (f)案件,被告,律师,职工(关系模式的顺序无关) (g)案件.主审法官=职工.职工编号 (2) (h) 立 案 日 期 BETWEEN '01-JAN-2009' AND '31-DEC-2009' 或 者 立 案 日 期>='01-JAN-2009'AND 立案日期 <='31-DEC-2009, (i)ORDER BY 案件数 DESC (3) (j)案件.被告=被告.被告编号 (k)姓名,地址 (l)HAVING count(*) > 5 本问题考查 SQL 中的数据操作语言 DML。 (1)考查别名和连接查询条件。(e)处考核别名定义,用 AS 关键字,且别名根据题干给出, 应填“职工.姓名 AS 主审法官姓名”;(f)处考查该查询涉及到的关系模式,此处应涉及到案 件、被告、律师和职工 4 个关系模式,在 FROM 子句中关系模式是顺序无关的;(g)处考核 案件关系模式和职工关系模式的连接条件,即“案件.主审法官=职工.职工编号”。 (2)考查日期属性并对査询结果进行分组和排序。(h)处主要考核日期作为条件属性的语法, 题干中已经给出日期格式的提示。在两个日期之间的时间的语法可以用 BETWEEN…AND…, 也可以用>=…<=,因此,此处可以填“立案日期 BETWEEN '01-JAN-2009' AND '31-DEC-2009' ” 或者“立案日期>='01-JAN-2009'AND 立案日期<= '31-DEC-2009'”; (i)处考核查询结果的 排序,用“ORDER BY 案件数 DESC”表示,其中的 DESC 关键字不能省略。在 ORDER BY 子句 中,若不用表示升序的关键字 ASC 或表示降序的关键字 DESC 表示,则默认为升序排序。 (3)考查对查询结果进行分组,并指定满足条件的分组才能输出。(j)处考核两个关系模式的 连接关系,应填“案件.被告=被告.被告编号”;(k)处考核分组,此处填“姓名,地址”,不 能仅填姓名或者地址;(1)处考核分组条件,用 HAVING 关键字,应填“ HAVING count(*)> 5”。 【问题 3】
当插入一个审理记录时,检查案件的状态,若状态为“未处理”,则将其修改为“审理 中”。下面是用触发器实现该需求的 SQL 语句,请将空缺部分补充完整. (m) INSERT (n) SET 状态='审理中' (o)案件编号=nrow.案件编号 本问题考查触发器。 触发器是一个能由系统自动执行对数据库修改的语句。一个触发器由事件、条件和动态三部 分组成:事件即对数据库的插入、删除和修改等操作。触发器在这些事件发生时,将开始工 作;条件是指触发器将测试条件是否成立,若成立就执行相应的动作,否则就什么也不做; 动态是指若触发器测试满足预定的条件,那么就由数据库管理系统执行这些动作。本题首先 定义触发器的事件,即对审理关系模式插入后激活触发器。接下来定义触发器的动作,即修 改案件关系模式的状态为“审理中”,测试条件为若该案件原来状态为“待处理”,需要关联 的两个关系模式是案件和审理。
试题三 【说明】 某服装销售公司拟开发一套服装采购管理系统,以方便对服装采购和库存进行管理。 【需求分析】 (1)采购系统需要维护服装信息及服装在仓库中的存放情况。系统按服装的销售种类记 录服装信息。服装信息主要包括:服装编码、服装描述、服装类型、销售价格、尺码和面料, 其中,服装类型为销售分类,服装按销售分类编码。仓库信息主要包括:仓库编码、仓库位 置、仓库容量和库管员。系统记录库管员的库管员编码、姓名和级别。一个库管员可以管理 多个仓库,每个仓库有一名库管员。一个仓库中可以存放多类服装,一类服装可能存放在多 个仓库中。 (2)当库管员发现有一类或者多类服装缺货时,需要生成采购订单。一个采购订单可以 包含多类服装。每类服装可由多个不同的供应商供应,但具有相同的服装编码。采购订单主 要记录订单编码、订货日期和应到货日期,并需详细记录所采购的每类服装的数量、采购价 格和对应的多个供应商。 (3)系统需记录每类服装的各个供应商信息和供应情况。供应商信息包括:供应商编码、 供应商名称、地址、企业法人和联系电话。供应情况记录供应商所供应服装的服装类型和服 装质量等级。一个供应商可以供应多类服装,一类服装可由多个供应商供应。库管员根据入 库时的服装质量情况,设定或修改每个供应商所供应的每类服装的服装质量等级,用以作为 后续采购服装时,选择供应商的参考标准。 【概念模型设计】 根据需求阶段收集的信息,设计的实体联系图(不完整)如图 3-1 所示。 【逻辑结构设计】 根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整):
分享到:
收藏