1、中级软件设计师下午试题-82 及答案解析(总分:255.00,做题时间:90 分钟)一、试题一(总题数:1,分数:60.00)说明某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件。该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销 4 个方面。(1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。(2)读者借书时需填写借书单。借书单内容包括读者号和所借图
2、书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过 10 本),若已达到最大限制数,则拒绝借书;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅
3、图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。该图书管理系统的顶层数据流图,如图 2-21 所示;该图书管理系统的第 0 层 DFD 图,如图 2-22 所示;其中加工 2 的细化图,如图 2-23 所示。(分数:60.00)(1).问题 1请用 100 字以内的文字简要说明逻辑数据流图(Logical Data Flow Diagram)和物理数据流图(Physical Data Flow Diagram)之间的主要差别。(分数:15.00)_(2).问题 2该图书管理系统的第 0 层 DFD 图(见图 2-22)有两条数据流是错误的,请指出改正后这两条数据流的起点、终点和数据
4、流名称。(分数:15.00)_(3).问题 3加工 2 的细化图(见图 2-23)中缺少 3 条数据流,请指出这 3 条数据流的起点、终点和数据流名称。(分数:15.00)_(4).问题 4请根据系统功能描述数据流图,并使用说明中的词汇,将以下数据字典条目中(1)(5)空缺处的内容填写完整。查询请求信息=查询读者请求信息|查询图书请求信息读者情况=读者号+姓名+所在单位+借书情况 管理工作请求单= (1) 入库单= (2) 借书单: (3) 还书单= (4) 非法请求信息= (5) (分数:15.00)_二、试题二(总题数:1,分数:60.00)说明某市人才交流中心为促进当地人力资源的合理配置
5、,加强当地企业与人才的沟通,拟建立人才信息交流网。需求分析结果1每个前来登记的个人需填写人才入库登记表,如表 2-17 所示,并出示相关证件,经工作人员审核后录入个人信息。表 2-17 人才入库登记表个人编号:_ 登记日期:_年_月_日姓名 性别 出生日期籍贯 身份证号毕业院校 专业 学历1.证书名称2. 编号移动电话 家庭电话 电子邮件照片职位名称 最低薪水 备注1.求职意向及薪水2.个人简历及特长2每个前来登记的企业需填写企业信息登记表,如表 2-18 所示,并出示相关证明及复印件,经工作人员核实后录入企业信息。 3个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生
6、成。个人和企业的基本信息由计算机长期存储,以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息。 4个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布。 概念模型设计 根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图如图 2-24 所示(不完整)。 表 2-18 企业信息登记表企业编号:_ 登记日期:_年_月_日企业名称 地址 企业网址联系人 联系电话 电子邮件职位 专业 学历 薪水 备注岗位需求企业简介(分数:60.00)(1).问题 1在(1)空缺处填入所需的实体、联系及其属性,完成概念模型设计。(分数:15.00)_(2).问题
7、2在(2)(5)空缺处填入对应关系的属性,完成逻辑结构设计。(参见本题附)(分数:15.00)_(3).问题 3对于问题 2所完成的各实体关系模式,以下画线指出其主键和外键。(分数:15.00)_(4).问题 4如果允许企业通过互联网修改本企业的基本信息,应对数据库的设计做哪些修改?请用 200 字以内的文字叙述实现方案。附关系模式的标记规则如下:关系名(属性名 1,属性名 2,属性名 n)其中:若该属性仅为主键属性时,则该属性名下画实下画线;若该属性仅为外键属性时,则该属性名下画虚下画线;若该属性既是主键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;若该属性既不是主键属性,又不是
8、外键属性时,则在该属性名下不做标记。(分数:15.00)_三、试题三(总题数:1,分数:45.00)说明门禁系统是楼宇安防系统的重要组成部分,也是大厦智能化管理的体现。其工作过程是,如果在入口处的读卡器上刷卡,锁控器(LockController)接收读卡器(FingerReader)的读卡信息并进一步识别,如果为有效卡,则触发控制电控锁(Lock)的继电器,让持卡人通过。锁控器还会将这些读卡及进出事件存储起来,并将相关事件记录传送给上位机。每个锁控器管理 14 个门,每 58 个锁控器接入 1 条 RS-485 总线,并转换成 RS-232 方式与管理主机的串行口。对锁控器进行相关设置后,允
9、许它脱机独立对门禁点进行控制,管理主机或通信线路故障都不会影响它的正常运行。在普通场合通常会设置 1 个出门按钮,允许已进入的人员按动此按钮以打开电控锁;而对于一些重要场合通常会在门的内外安装两个读卡器,进出门时都需按预设方式进行刷卡。门禁系统中的每个电控锁都有一个唯一的编号。锁的状态有两种:“已锁住”和“未锁住”。在管理主机上可以设置每把锁的安全级别及用户的开锁权限。只有当用户的开锁权限大于或等于锁的安全级别并且锁处于“已锁住”状态时,才能将锁打开。用户的感应卡信息、开锁权限及锁的安全级别都保存在管理主机的数据库中。表 2-19 给出了门禁系统主要组成部件的作用。表 2-19 感应门禁系统主
10、要组成部件及其作用表部件名称 主要作用(功能)读卡感应器(FingerReader) 通过射频感应原理,识别感应卡内置加密卡号锁控器(LockController) 存储感应卡权限和刷卡记录,向管理软件上传读卡器送来 的信号,并负责和上位机通讯和其他数据存储器协调电控锁(Lock) 电动执行机构主机管理软件(Win-Pak Software)通过计算机对所有单元进行中央管理和监控,进行相应的时钟、授权、统计管理工作RS-485/232 信号转换器 对所有数据存储器进行联网和远距离通信门禁电源 提供系统工作时所需的电源能量感应卡 存储用户的不可复制和解密的 ID 号开门按钮 出门时可以设置为按此
11、按钮出门(可选部件)软件开发公司 A 承担了该门禁控制系统的开发任务,其开发小组采用根据问题领域的模型建立系统结构的面向对象方法完成该系统的设计,系统中的类及类之间的关系用 UML 类图表示。(分数:45.00)(1).问题 1如图 2-25 所示是门禁控制系统的一个不完整类图,根据题干说明中给出的术语,请给出类 Lock 的主要属性。(分数:15.00)_(2).问题 2序列图是场景的图形化表示,描述了以时间顺序组织的对象之间的交互活动,即显示了一组对象和由这组对象发送和接收的消息。如图 2-26 所示是用户成功开锁的序列图。依据上述说明中给出的词语,将图 2-26 中的(1)(5)空缺处补
12、充完整。(分数:15.00)_(3).问题 3在系统的需求分析阶段,可以使用用例对系统需求建模。用例可以使用 UML 的用例图来表示。请分别用100 字以内的文字解释 UML 用例图中扩展用例和抽象用例的内涵。(分数:15.00)_四、试题四(总题数:1,分数:45.00)说明快速排序是一种典型的分治算法。采用快速排序对数组 Apr排序的 3 个步骤如下。1分解:选择一个枢轴(pivot)元素划分数组。将数组 Apr划分为两个子数组(可能为空)Apq-1和 Aq+1r,使得 Aq大于等于 Apq-1中的每个元素,小于 Aq+1r中的每个元素。q 的值在划分过程中计算。2递归求解:通过递归的调用
13、快速排序,对子数组 Apq-1和 Aq+1r分别排序。3合并:快速排序在原地排序,故无需合并操作。(分数:45.00)(1).问题 1下面是快速排序的伪代码,请将空缺处(1)(3)的内容填写完整。伪代码中的主要变量说明如下。A:待排序数组p,r:数组元素下标,从 p 到 rq:划分的位置x:枢轴元素i:整型变量,用于描述数组下标。下标小于或等于 i 的元素的值,小于或等于枢轴元素的值j:循环控制变量,表示数组元素下标(分数:15.00)_(2).问题 2(1)假设要排序包含 n 个元素的数组,请给出在各种不同的划分情况下,快速排序的时间复杂度(用 O 记号)。最佳情况为 (4) ,平均情况为
14、(5) ,最坏情况为 (6) 。(2)假设要排序的 n 个元素都具有相同值时,快速排序的运行时间复杂度属于哪种情况? (7) 。 (最佳、平均、最坏)(分数:15.00)_(3).问题 3(1)待排序数组是否能被较均匀地划分对快速排序的性能有重要影响,因此枢轴元素的选取非常重要。有人提出从待排序的数组元素中随机地取出一个元素作为枢轴元素。下面是随机化快速排序划分的伪代码利用原有的快速排序的划分操作,请填充其中的空缺处。其中,RANDOM(i,j)表示随机取 i 到 j 之间的一个数,包括 i 和 j。(分数:15.00)_五、试题五(总题数:1,分数:15.00)1.说明散列文件的存储单位称为
15、桶(BUCKET)。假如一个桶能存放 m 个记录,当桶中已有 m 个同义词(散列函数值相同)的记录时,存放第 m+1 个同义词会发生“溢出”。此时需要将第 m+1 个同义词存放到另一个称为“溢出桶”的桶中。相对地,称存放前 m 个同义词的桶为“基桶”。溢出桶和基桶大小相同,用指针链接。查找指定元素记录时,首先在基桶中查找。若找到,则成功返回,否则沿指针到溢出桶中进行查找。例如,设散列函数为 Hash(Key)=Key mod7,记录的关键字序列为 15,14,21,87,96,293,35,24, 149,19,63,16,103,77,5,153,145,356,51,68,705,453,
16、建立的散列文件内容如图 2-27 所示。为简化起见,散列文件的存储单位以内存单元表示。函数 InsertToHashTable(int NewElemKey)的功能是:若新元素 NewElemKey 正确插入散列文件中,则返回值 0;否则返回值-1。采用的散列函数为 Hash(NewElemKey)=NewElemKey%P,其中 P 设定基桶的数目。函数中使用的预定义符号如下。(分数:15.00)_六、试题六(总题数:1,分数:15.00)2.说明在一公文处理系统中,开发者定义了一个公文类 OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件中内容或状态发生变化时,关注
17、此 OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为 Observer(观察者)模式。以下代码采用 C+语言实现,能够正确编译通过。C+代码(分数:15.00)_七、试题七(总题数:1,分数:15.00)3.说明在一公文处理系统中,开发者定义了一个公文类 OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此
18、OfficeDoc 类对象的相应的 DocExplorer 对象都要更新其自身的状态。一个 OfficeDoc 对象能够关联一组 DocExplorer 对象。当 OfficeDoc 对象的内容或状态发生变化时,所有与之相关联的 DocExplorer 对象都将得到通知,这种应用被称为 Observer(观察者)模式。以下代码采用 Java 语言实现,能够正确编译通过。Java 代码(分数:15.00)_中级软件设计师下午试题-82 答案解析(总分:255.00,做题时间:90 分钟)一、试题一(总题数:1,分数:60.00)说明某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者
19、,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件。该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销 4 个方面。(1)购入新书时需要为该书编制入库单。入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期,将这些信息写入图书目录文件并修改文件中的库存总量(表示到目前为止,购入此种图书的数量)。(2)读者借书时需填写借书单。借书单内容包括读者号和所借图书分类目录号。系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效,则进一步检查该读者已借图书是否超过最大限制数(假设每位读者能同时借阅的书不超过 10 本),若已达到最大限制数,则拒绝借书
20、;否则允许借书,同时将图书分类目录号、读者号和借阅日期等信息写入借书文件中。(3)读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录,标明还书日期,再写回到借书文件中,若图书逾期,则处以相应的罚款。(4)注销图书时,需填写注销单并修改图书目录文件中的库存总量。系统的信息查询功能主要包括读者信息查询和图书信息查询。其中,读者信息查询可得到读者的基本信息及读者借阅图书的情况;图书信息查询可得到图书基本信息和图书的借出情况。该图书管理系统的顶层数据流图,如图 2-21 所示;该图书管理系统的第 0 层 DFD 图,如图 2-22 所示;其中加工 2 的细化
21、图,如图 2-23 所示。(分数:60.00)(1).问题 1请用 100 字以内的文字简要说明逻辑数据流图(Logical Data Flow Diagram)和物理数据流图(Physical Data Flow Diagram)之间的主要差别。(分数:15.00)_正确答案:(问题 1这是一道要求读者掌握逻辑数据流图和物理数据流图区别点的简答题。本题所涉及的知识点如下。数据流图是系统分析阶段用于描述系统逻辑模型的图形描述工具,解决信息系统“做什么”的问题。它可分为逻辑数据流图和物理数据流图。逻辑数据流图强调参与者所做的事情,可以帮助设计者决定需要哪些系统资源、为了运行系统用户必须执行的活动
22、、在系统安装之后如何保护和控制这些系统等内容。逻辑数据流图说明应该具有哪些加工和数据存储,而不关心这些加工和数据存储是如何实现的。物理数据流图关注的是系统中的物理实体,以及一些具体的文档、报告和其他输入/输出数据。它通常用做系统构造和实现的技术性蓝图。在物理数据流图中需要说明加工和数据存储是如何实现的。)解析:(2).问题 2该图书管理系统的第 0 层 DFD 图(见图 2-22)有两条数据流是错误的,请指出改正后这两条数据流的起点、终点和数据流名称。(分数:15.00)_正确答案:(问题 2这是一道要求读者掌握 DFD 父图与子图的平衡原则和输入/输出平衡原则的综合分析题。本题的解答思路如下
23、。根据 DFD 父图与子图的平衡原则和输入/输出平衡原则,通过比对图 2-21 和图 2-22 中所有输入数据流和输出数据流可知,如图 2-22 所示中与加工“1 处理管理请求”相关的两条输入数据流和两条输出数据流都是正确的。其中,如图 2-21 所示中数据流“非法请求信息”在如图 2-22 所示中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流。由题干给出的关键信息“对于初次借书的读者,系统自动生成读者号,并与读者基本信息(姓名、单位和地址等)一起写入读者文件”可知,加工“3 登记读者信息”将有一条“读者情况”数据流输出到数据存储“读者文件”,即加工 3 是用来登记读者信息,应
24、该将登记的读者信息写入读者文件,因此,在如图2-22 所示中这一“写入”的箭头方向画反了。这条改正后数据流的起点是“3 登记读者信息”,终点是“读者文件”,数据流名称是“读者情况”。其中,该数据流名称应综合考虑题干中关键信息“系统自动生成读者号,并与读者基本信息一起写入读者文件”,并从如图 2-22 所示中数据流“读者信息”、“读者情况”中得到启发。由题干给出的关键信息“系统首先检查该读者号是否有效,若无效,则拒绝借书;若有效”和“系统的信息查询功能主要包括读者信息查询和图书信息查询。其中读者信息查询可得到读者的基本信息及读者借阅图书的情况”,并结合加工 2 的细化图(见图 2-23)中加工“
25、2.1 读者信息查询”与数据存储“读者文件”之间数据流的箭头方向可知,加工“2 处理查询请求”应该从数据存储“读者文件”中读出读者的信息,因此在如图 2-22 所示中这一“查询”的箭头画反了。这条改正后的数据流的起点是“读者文件”,终点是“2 处理查询请求”,数据流名称是“读者情况”。其中,该数据流名称可从图 2-22 所示中加工“2 处理查询请求”的输出数据流“读者情况”中得到启发。)解析:(3).问题 3加工 2 的细化图(见图 2-23)中缺少 3 条数据流,请指出这 3 条数据流的起点、终点和数据流名称。(分数:15.00)_正确答案:(问题 3这也是一道要求读者从题干说明信息中识别数
26、据流,以及掌握局部数据存储的隐蔽性原则的综合分析题。本题的解答思路如下。根据 DFD 父图与子图的平衡原则和输入/输出平衡原则,通过比对图 2-22 和图 2-23 中所有输入/输出数据流可知,如图 2-22 所示中数据流“查询请求信息”在如图 2-23 所示中包含了“查询读者请求信息”和“查询图书请求信息”两条子数据流;如图 2-22 所示中数据流“非法查询请求信息”在如图 2-23 所示中包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流。由题干给出的说明信息可知,读者基本信息存储在读者文件中,而读者借阅图书的信息存储在借书文件中。再由题干给出的关键信息“读者信息查询可以
27、得到读者的基本信息及读者借阅图书的情况”,并结合问题 2的分析过程可知,在如图 2-23 所示中加工“2.1 读者信息查询”应从数据存储“借书文件”中获取该读者借阅图书的情况。因此在如图 2-23 所示中补充的一条数据流起点是“借书文件”,终点是“2.1读者信息查询”,数据流名称是“读者借阅图书情况”。同理,由题干给出的说明信息可知,读者借阅图书的信息存储在借书文件中,而图书的基本信息存储在图书目录文件中。再由题干给出的关键信息“图书信息查询可以得到图书基本信息和图书的借出情况”可知,在如图 2-23 所示中加工“2.2 图书信息查询”应从数据存储“图书目录文件”中获取所查询图书的基本信息,从
28、数据存储“借书文件”中获取所查询图书的借出情况。因此在如图 2-23 所示中补充的一条数据流起点是“图书目录文件”,终点是“2.2 图书信息查询”,数据流名称是“图书基本信息”;另一条数据流起点是“借书文件”,终点是“2.2 图书信息查询”,数据流名称是“图书借出情况”。)解析:(4).问题 4请根据系统功能描述数据流图,并使用说明中的词汇,将以下数据字典条目中(1)(5)空缺处的内容填写完整。查询请求信息=查询读者请求信息|查询图书请求信息读者情况=读者号+姓名+所在单位+借书情况 管理工作请求单= (1) 入库单= (2) 借书单: (3) 还书单= (4) 非法请求信息= (5) (分数
29、:15.00)_正确答案:(问题 4这是一道要求读者根据具体应用环境编写数据字典条目的综合分析题。本题的解答思路如下。由题干给出的关键信息“入库单内容包括图书分类目录号、书名、作者、价格、数量和购书日期”,并结合试题中给出的数据字典条目示例“读者情况=读者号+姓名+所在单位+借书情况”的编写风格,可得到“入库单”的数据字典条目如下。入库单=分类目录号+书名+作者+价格+数量+购书日期同理,由题干给出的关键信息“借书单内容包括读者号和所借图书分类目录号”和“假设每位读者能同时借阅的书不超过 10 本”可知,每位读者一次可借阅多本图书(即 1:n 的关系),每次借阅时需向系统提交“读者号”和“所借
30、图书分类目录号”,因此可得到“借书单”的数据字典条目如下。借书单=读者号+所借图书分类目录号同理,由题干给出的关键信息“读者还书时需填写还书单。系统根据读者号和图书分类目录号,从借书文件中读出与该图书相关的借阅记录”,并结合常识“每位读者一次可归还多本图书(即 1:n 的关系)”等信息,可得到“借书单”的数据字典条目如下。还书单=读者号+所还图书分类目录号由题干给出的关键信息“该系统的图书管理功能主要分为购入新书、读者借书、读者还书及图书注销 4个方面”,以及题干中关于“入库单”、“借书单”、“还书单”和“注销单”的描述信息可知,每一项管理工作都需要填写相应的单据。结合试题中给出的示例“查询请
31、求信息=查询读者请求信息|查询图书请求信息,可得到“管理工作请求单”的数据字典条目如下。管理工作请求单=入库单|借书单|还书单|注销单由问题 2、问题 3的分析过程可知,如图 2-21 所示中数据流“非法请求信息”在如图 2-22 所示中包含了“非法管理工作请求单”和“非法查询请求信息”两条子数据流,而数据流“非法查询请求信息”在如图 2-23 所示中又包含了“非法查询读者请求信息”和“非法查询图书请求信息”两条子数据流,因此“非法请求信息”的数据字典条目如下。非法请求信息=非法管理工作请求单|非法查询请求信息或非法请求信息=非法管理工作请求单|非法查询读者请求信息|非法查询图书请求信息)解析
32、:二、试题二(总题数:1,分数:60.00)说明某市人才交流中心为促进当地人力资源的合理配置,加强当地企业与人才的沟通,拟建立人才信息交流网。需求分析结果1每个前来登记的个人需填写人才入库登记表,如表 2-17 所示,并出示相关证件,经工作人员审核后录入个人信息。表 2-17 人才入库登记表个人编号:_ 登记日期:_年_月_日姓名 性别 出生日期籍贯 身份证号毕业院校 专业 学历1.证书名称2. 编号移动电话 家庭电话 电子邮件照片职位名称 最低薪水 备注求职意向及薪水1.2.个人简历及特长2每个前来登记的企业需填写企业信息登记表,如表 2-18 所示,并出示相关证明及复印件,经工作人员核实后
33、录入企业信息。 3个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成。个人和企业的基本信息由计算机长期存储,以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息。 4个人的求职意向信息和企业的岗位需求信息在两个工作日内由工作人员录入数据库并发布。 概念模型设计 根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图如图 2-24 所示(不完整)。 表2-18 企业信息登记表企业编号:_ 登记日期:_年_月_日企业名称 地址 企业网址联系人 联系电话 电子邮件职位 专业 学历 薪水 备注岗位需求企业简介(分数:60.00)(1).问题 1在(1)
34、空缺处填入所需的实体、联系及其属性,完成概念模型设计。(分数:15.00)_正确答案:(问题 1这是一道要求读者掌握数据库概念模型设计的综合分析题。本题的解答思路如下。根据题干中给出的关键信息“根据需求阶段收集的信息,设计人才、岗位和企业的实体联系图”可知,应建立人才、岗位和企业 3 个实体之间的联系。可见,(1)空缺处还缺少了一个“岗位”实体。题干在“逻辑结构设计”中已给出了“人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,证书编号,联系电话,电子邮件,个人简历及特长)”、“企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)”、“
35、求职意向( (2) )”和“岗位需求( (3) )”4 个关系模式,结合常识可知,人才与岗位之间是“求职意向”联系,企业与岗位之间是“岗位需求”联系。同理,结合常识可知,“人才”、“岗位”实体之间是多对多(m:n)的联系。从试题中给出的人才入库登记表(表 2-17)中,扣除“逻辑结构设计”关系模式“人才”的相关属性后,可得到剩余的属性有“登记日期”、“职位名称”和“最低薪水”。因此与联系“求职意向”相关的属性有“登记日期”和“最低薪水”。由常识可知,“企业”与“岗位”实体之间也是多对多(m:n)的联系。从试题中给出的企业信息登记表(表 2-18)中,扣除“逻辑结构设计”关系模式“企业”的相关属
36、性后,可得到剩余的属性有“登记日期”、“职位(名称)”、“专业”、“学历”、“薪水”和“备注”。因此,与联系“岗位需求”相关的属性有“登记日期”、“专业”、“学历”、“薪水”和“备注”。结合以上分析结果,整理可得完整的人才、岗位和企业的实体联系图如图 2-28 所示。*另外说明一点,“需求”是人才、岗位和企业 3 个实体之间的联系,而事实上只有人才被聘用之后三者之间才产生联系。根据题干所给出的信息,主要解决的是人才的求职和企业的岗位需求之间的问题,而人才与企业之间没有直接的联系。)解析:(2).问题 2在(2)(5)空缺处填入对应关系的属性,完成逻辑结构设计。(参见本题附)(分数:15.00)
37、_正确答案:(问题 2这是一道要求读者掌握数据库逻辑结构设计的综合分析题。本题的解答思路如下。逻辑结构设计是建立在概念结构设计的基础上的,按照 E-R 图向关系模式的转换方法,将实体和联系分别转换为关系模式。本题中已给出了实体对应的关系模式,其中“岗位”实体没有属性,应归并到联系中。结合问题 1的分析结果可知,求职意向的关系模式如下。求职意向(个人编号,岗位名称,最低薪水,登记日期)同理,结合问题 1的分析结果可知,岗位需求的关系模式如下。岗位需求(企业编号,岗位名称,专业,学历,薪水,备注,登记日期)本试题还要求对“人才”关系模式进行模式分解,以达到实体分离的优化目的(即规范化)。分解后“人
38、才”新关系模式可以减少“证书编号”这一属性,而“证书”新增关系模式的属性有“证书名称”和“证书编号”。这两个新的关系模式如下。人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,联系电话,电子邮件,个人简历及特长)证书(证书名称,证书编号)解析:(3).问题 3对于问题 2所完成的各实体关系模式,以下画线指出其主键和外键。(分数:15.00)_正确答案:(问题 3这是一道要求读者根据题目给定的关系模式,以及属性间的函数依赖关系和关系模式的语义,并结合 E-R图向关系模式的转换方法来确定各关系模式主键和外键的综合分析题。本试题的解答思路如下。(1)由题干中给出的关键信
39、息“一个人可能持有多个证书”可知,在证书关系模式中,证书名称可以决定证书关系模式中的全属性,因此证书关系模式的主键如下。证书(证书名称,证书编号)(2)由题干中给出的关键信息“个人和企业的基本信息只需在第一次登记时填写,个人编号和企业编号由系统自动生成以后个人只需提供个人编号和求职意向信息,企业只需提供企业编号和岗位需求信息”可知,个人编号可以决定人才关系模式中的全属性。同时考虑到“证书名称”是证书关系模式的主键,因此“证书名称”应为人才关系模式的外键。最后可得人才关系模式的主键、外键如下。人才(个人编号,姓名,性别,出生日期,身份证号,毕业院校,专业,学历,证书名称,联系电话,电子邮件,个人
40、简历及特长)(3)同理,由于企业编号可以决定企业关系模式中的全属性,因此企业关系模式的主键如下。企业(企业编号,企业名称,联系人,联系电话,地址,企业网址,电子邮件,企业简介)(4)由问题 1的分析结果可知,“人才”与“岗位”实体之间是多对多(m:n)的联系,个人编号多值决定岗位,如果仅用“个人编号”作为求职意向关系模式的主键,则无法唯一区分求职意向关系中的每一个元组(记录)。如果用“个人编号”、“岗位名称”作为主键,则可以唯一区分求职意向关系中的每一个元组。同时考虑到“个人编号”是人才关系模式的主键,因此“个人编号”也是求职意向关系模式的外键。最后可得,求职意向关系模式的主键、外键如下。求职
41、意向(*,最低薪水,登记日期)(5)同理,“企业”与“岗位”实体之间是多对多(m:n)的联系,企业编号多值决定岗位,需要用“企业编号”、“岗位名称”作为主键,才可唯一区分岗位需求关系中的每一个元组。同时考虑到“企业编号”是企业关系模式的主键,则“企业编号”也是岗位需求关系模式的外键。最后可得,岗位需求关系模式的主键、外键如下。岗位需求(*,专业,学历,薪水,备注,登记日期)解析:(4).问题 4如果允许企业通过互联网修改本企业的基本信息,应对数据库的设计做哪些修改?请用 200 字以内的文字叙述实现方案。附关系模式的标记规则如下:关系名(属性名 1,属性名 2,属性名 n)其中:若该属性仅为主键属性时,则该属性名下画实下画线;若该属性仅为外键属性时,则该属性名下画虚下画线;若该属性既是主键属性,又是外键属性时,则在该属性名下画实下画线和虚下画线;若该属性既不是主键属性,又不是外键属性时,则在该属性名下不做标记。(分数:15.00)_正确答案:(问题 4这是一道要求读者针对新应用进行数据表扩充的综合分析题。本题的解答思路如下。如果允许企