2016年系统架构设计师案例分析试题加答案(十二)

系统架构设计师 责任编辑:长颈鹿 2016-10-26

添加老师微信

备考咨询

加我微信

摘要:系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

>>>>>2016下半年软考考前串讲网络班特惠开班!讲师解析知识点,赠送历年真题!


       系统架构设计师考试属于软考中的一项高级资格考试,考试分综合知识、案例分析和论文3个科目。下午的案例分析是考试的一大难点,希赛小编为大家整理了几道系统架构设计师案例分析试题,希望对大家有所帮助。

      阅读以下关于软件系统数据建模的说明,回答问题。

      某软件公司成立项目组为某高校开发一套教职工信息管理系统。与教职工信息相关的数据需求和处理需求如下。

      数据需求:在教职工信息中能够存储学校所有在职的教工和职工信息,包括姓名、所属部门、出生年月、工资编号、工资额和缴税信息;部门信息中包括部门编号、部门名称、部门人数和办公地点信息。33处理需求:能够根据编制内或外聘教职工的工资编号分别查询其相关信息;每个月的月底统一核发工资,要求系统能够以最快速度查询出教工或者职工所在部门名称、实发工资金额;由于学校人员相对稳定,所以数据变化及维护工作量很少。

      项目组王工和李工针对上述应用需求分别给出了所设计的数据模型(如图所示)。王工遵循数据库设计过程,按照第三范式对数据进行优化和调整,所设计的数据模型简单且基本没有数据冗余;而李工设计的数据模型中存在大量数据冗余。

1.png

      项目组经过分析和讨论,特别是针对数据处理中对数据访问效率的需求,最终选择了李工给出的数据模型设计方案。

      32、请用300字以内的文字,说明什么是数据库建模中的反规范化技术,指出采用反规范化技术能获得哪些益处,可能带来哪些问题。

      33、请简要叙述常见的反规范化技术有哪些。

      34、请分析李工是如何应用反规范化技术来满足教职工信息管理需求的。

      参考答案

      32、规范化设计后,数据库设计者希望牺牲部分规范化来提高性能,这种从规范化设计的回退方法称为反规范化技术。采用反规范化技术的益处:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。

      可能带来的问题:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。[解析]本题考查数据库相关的知识。题目涉及反规范化技术。

      规范化技术在数据库中的应用十分常见。当数据库对数据模型进行规范化处理后,会发现这些经过规范化处理的模型在进行查询操作时效果并不理想。因为经过规范化处理的数据模型形成了一系列的小表,每个表的数据量较小,进行查询操作时往往需要应用程序对这些表进行动态的连接操作,这就要在不同的表中进行多次I/O操作。表的连接操作对于较少的,小容量表也许不会产生较大的影响,但是对于数据量十分庞大的数据库,这种多表连接操作在时间上是很难让用户接受的。此时,提高效率的最好方法就是使这些小表合并在一起,这就是数据的反规范化处理。

      经过以上对于规范化处理的描述可以得知:反规范化技术主要是为了提升查询性能而进行的一系列处理,包括对数据表进行连接,合理规划数据的存放,以及引入合理的数据冗余。其益处在于:降低连接操作的需求、降低外码和索引的数目,还可能减少表的数目,能够提高查询效率。带来的问题是:数据的重复存储,浪费了磁盘空间;可能出现数据的完整性问题,为了保障数据的一致性,增加了数据维护的复杂性,会降低修改速度。

      33、(1)增加冗余列:在多个表中保留相同的列,通过增加数据冗余减少或避免查询时的连接操作。

      (2)增加派生列:在表中增加可以由本表或其他表中数据计算生成的列,减少查询时的连接操作并避免计算或使用集合函数。

      (3)重新组表:如果许多用户需要查看两个表连接出来的结果数据,则把这两个表重新组成一个表来减少连接而提高性能。

      (4)水平分割表:根据一列或多列数据的值,把数据放到多个独立的表中,主要用于表数据规模很大、表中数据相对独立或数据需要存放到多个介质上时使用。

      (5)垂直分割表:对表进行分割,将主键与部分列放到一个表中,主键与其他列放到另一个表中,在查询时减少I/O次数。

      为纯概念题,请参看本题参考答案。

      34、在教职工信息管理系统的需求中,能够根据编制内或外聘教职工的工资编号分别查询其相关信息,数据查询要求有很高的处理效率。李工所设计的数据模型中采用了三种反规范化技术。

      (1)增加冗余列:增加“部门名称”列,消除了数据查询中“教职工信息”表和“部门信息”表之间的连接。

      (2)增加派生列:增加“实发工资”列,消除了实发工资的计算过程。

      (3)水平分割表:将教职工信息表分割为“编制内教职工信息”表和“外聘教职工信息”表,减少了数据查询的范围。需要利用问题2的结论并结合题目要求进行解题。教职工信息管理系统要求“能够根据编制内或外聘

      教职工的工资编号分别查询其相关信息”,并从题目“特别是针对数据处理中对数据访问效率的需求”可以看出系统对数据访问效率非常重视。而李工正是采用了反规范化技术,使得效率能明显提升。对比王工和李工所设计的数据模型可以发现:在李工设计的数据模型中,增加了“部门名称”列,这属于增加冗余列的技术;增加了“实发工资”列,这属于增加派生列的技术;将教职工信息表分割为“编制内教职工信息”表和“外聘教职工信息”表,这属于水平分割表。


    返回目录:2016年系统架构设计师案例分析试题汇总


    希赛软考网,拥有十四年软考培训经验,希赛网一直坚持自主研发,将丰富的软考培训经验有效融入教程研发过程,自成体系的软考在线题库软考历年真题)、软考培训教材软考视频教程,多样的培训方式包括在线辅导面授、和,使考生的学习更具系统性,辅导更具针对性。采用全程督学机制,,软考平均通过率在全国。

更多资料
更多课程
更多真题
温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

软考备考资料免费领取

去领取