当前位置:首页计算机类软件水平考试高级系统分析师->某集团公司在各省均设有分公司,现欲建立全国统一销售管理信息系

某集团公司在各省均设有分公司,现欲建立全国统一销售管理信息系统,以便总公司及时掌握各分公司销售情况。公司成立专门项目组进行该系统研发工作,其中张工负责其中数据库设计工作。张工和需求分析小组紧密合作,在设计出数据流图和数据字典基础上,给出了数据库关系模式和相应索引设计。同时考虑到未规范化关系模式可能引起各类数据错误,对关系模式进行了全面规范化处理,使所有关系模式均达到了3NF或BCNF。在项目实施过程中,应用开发小组认为该设计方案未考虑应用功能实际需求。如果严格按照设计方案实施,会对应用系统中整体性能产生较大影响。主要原因在于进行数据查询时,会产生大量多表连接操作,影响性能。而设计方案中索引设计,并不能完全满足数据查询性能要求。应用开发小组还认为,该设计方案未考虑到信息系统中核心销售数据处理特点:各分公司在使用该信息系统时只能操作自己分公司销售数据,无权操作其它分公司销售数据;只有总公司有权利操作所有销售数据,以便进行统计分析。应用开发小组要求,在数据库设计方案中,必须针对实际应用功能实现来考虑关系模式规范化,必要时需要采用逆规范化或解除规范化方法来保证性能要求。【问题1】系统需要管理供应商和货物等信息,具体包括供应商姓名、地址以及货物名称、价格等,供应商可以提供0~n种货物,其公司地址也可能发生变化。请以供应商关系模式supplier(name,address,product,price)为例,解释不规范关系模式存在哪些问题。【问题2】应用开发小组认为张工规范化设计虽然解决了未规范化关系模式带来问题,但实际实现功能时会造成系统性能下降,请解释其原因。【问题3】请解释逆规范化方法,说明其优缺点。【问题4】针对该信息系统中核心销售数据处理特点,如采用关系表水平分割逆规范化方法,请给出具体解决方案,并说明该方案存在问题。

查看答案 纠错
答案:
本题解析:

一、试题分析本题是一个数据库设计方面考题,考查知识点包括规范化理论和反规范化理论(逆规范化)。规范化基本思想是逐步消除不合适函数依赖,使数据库中各个关系模型达到某种程度分离。规范化解决主要是单个实体质量问题,是对于问题域中原始数据展现正规化处理。规范化理论给出了判断关系模型优劣理论标准,帮助预测模式可能出现问题,是数据库逻辑设计指南和工具,具体有:(1)用数据依赖概念分析和表示各数据项之间关系。(2)消除E-R图中冗余联系。若不进行规范化处理,可能产生问题包括:数据冗余、修改异常、插入异常、删除异常。下面举例说明这些问题具体表现形式。设有一个关系模式R(SNAME,CNAME,TNAME TADDRESS),其属性分别表示学生姓名、选修课程名、任课教师姓名和任课教师地址。仔细分析一下,就会发现这个模式存在下列存储异常问题:(1)数据冗余:如果某门课程有100个学生选修,那么在R关系中就要出现100个元组,这门课程任课教师姓名和地址也随之重复出现100次。(2)修改异常:由于上述冗余问题,当需要修改这个教师地址时,就要修改100个元组中地址值,否则就会出现地址值不一致现象。(3)插入异常:如果不知道听课学生名单,这个教师任课情况和家庭地址就无法进入数据库;否则就要在学生姓名处插入空值。(4)删除异常:如果某门课程任课教师要更改,那么原来任课教师地址将随之丢失。在本题中,也存在同样问题:(1)数据冗余:关系模式中多次重复记录了同一供应商地址。(2)插入异常:如果还未确定一个供应商有哪些货物,只是想添加一个供应商地址信息,则会产生产品与价格均为空记录。(3)修改异常:当修改一个供应商地址时,需要将多条记录同时更新,若未同时更新,则数据产生不一致。(4)删除异常:当删除一个供应商货物时,其地址信息被一并删除。数据库中数据规范化优点是减少了数据冗余,节约了存储空间,相应逻辑和物理I/O次数减少,同时加快了增、删、改速度,但是对完全规范数据库查询,通常需要更多连接操作,从而影响查询速度。因此,有时为了提高某些查询或应用性能而破坏规范规则,即反规范化(非规范化处理)。因此,题目中所说“应用开发小组认为张工规范化设计虽然解决了未规范化关系模式带来问题,但实际实现功能时会造成系统性能下降”,主要就是查询效率下降。其原因是规范化过程中对数据表进行了不断拆分,导致一个查询需要进行多表连接,效率自然就下降了。具体来说,常见反规范化技术包括:(1)增加冗余列增加冗余列是指在多个表中具有相同列,它常用来在查询时避免连接操作。例如:以规范化设计理念,学生成绩表中不需要字段“姓名”,因为“姓名”字段可以通过学号查询到,但在反规范化设计中,会将“姓名”字段加入到表中。这样查询一个学生成绩时,不需要与学生表进行连接操作,便可得到对应“姓名”。(2)增加派生列增加派生列指增加列可以通过表中其它数据计算生成。它作用是在查询时减少计算量,从而加快查询速度。例如:订单表中,有商品号、商品单价、采购数量,我们需要订单总价时,可以通过计算得到总价,所以规范化设计理念是无须在订单表中设计“订单总价”字段。但反规范化则不这样考虑,由于订单总价在每次查询都需要计算,这样会占用系统大量资源,所以在此表中增加派生列“订单总价”以提高查询效率。(3)重新组表重新组表指如果许多用户需要查看两个表连接出来结果数据,则把这两个表重新组成一个表来减少连接而提高性能。(4)分割表有时对表做分割可以提高性能。表分割有两种方式:水平分割:根据一列或多列数据值把数据行放到两个独立表中。水平分割通常在下面情况下使用:情况1:表很大,分割后可以降低在查询时需要读数据和索引页数,同时也降低了索引层数,提高查询速度。情况2:表中数据本来就有独立性,例如表中分别记录各个地区数据或不同时期数据,特别是有些数据常用,而另外一些数据不常用。情况3:需要把数据存放到多个介质上。垂直分割:把主码和一些列放到一个表,然后把主码和另外列放到另一个表中。如果一个表中某些列常用,而另外一些列不常用,则可以采用垂直分割,另外垂直分割可以使得数据行变小,一个数据页就能存放更多数据,在查询时就会减少I/O次数。其缺点是需要管理冗余列,查询所有数据需要连接操作。 问题4要求提出水平分割方案,实际上就是把数据表按记录进行拆分,并存储于不同位置。由于本题中数据使用存在这样特性——“各分公司在使用该信息系统时只能操作自己分公司销售数据,无权操作其它分公司销售数据;只有总公司有权利操作所有销售数据,以便进行统计分析”,所以按省,每个分公司存储自己数据,这样能达到高效查询目,只是这样会让总公司统计分析变得十分低效。二、参考答案【问题1】(1)数据冗余:关系模式中多次重复记录了同一供应商地址。(2)插入异常:如果还未确定一个供应商有哪些货物,只是想添加一个供应商地址信息,则会产生产品与价格均为空记录。(3)修改异常:当修改一个供应商地址时,需要将多条记录同时更新,若未同时更新,则数据产生不一致。(4)删除异常:当删除一个供应商货物时,其地址信息被一并删除。【问题2】数据库规范化过程,实际是对数据表不断拆分,以达到更高规范程度。这样处理,带来问题是:系统中大量查询不能通过单表完成,而需要将多表进行连接查询,所以表拆分得越多,查询性能也就越差。【问题3】逆规范化方法优点:提高统计、查询效率。逆规范化方法缺点:增加了数据冗余,浪费存储空间,增、删、改操作效率降低,可能导致数据不一致,可能产生添加、修改、删除异常。【问题4】解决方案:将各省数据存放于各省分公司。该方案主要问题在于总公司进行全国数据统计时,需要从各省服务器调取数据,效率较低。

更新时间:2022-07-17 12:24

你可能感兴趣的试题

单选题

企业通过多年项目实施经验总结归纳出IT项目可能出现风险列表属于( )范畴。

  • A.企业环境因素
  • B.定性分析技术
  • C.组织过程资产
  • D.风险规划技术
查看答案
单选题

风险分析最简单方法是( )。

  • A.概率分析
  • B.敏感性分析
  • C.德尔菲技术
  • D.效用理论
查看答案
单选题

规划风险应对是针对项目目标,制订提高机会,降低威胁方案和措施过程。( )不是规划风险应对工具与技术。

  • A.应急应对策略
  • B.概率和影响矩阵
  • C.专家判断
  • D.消极风险或威胁应对策略
查看答案
单选题

在定性风险分析中,使用定性分析将风险发生概率及其后果描述为极高、高、中、低、极低5级,此种分析方法称为( )

  • A.风险概率及影响评估
  • B.风险数据质量评估
  • C.风险分类
  • D.风险数据收集
查看答案
单选题

下面( )不是风险审计目标。

  • A.确定风险管理已经在项目整个生命周期中实施
  • B.确定项目被管理好,风险被控制
  • C.协助在早期阶段鉴别项目价值潜力退化
  • D.确保被识别和相当有威胁每一个风险都有计算预期值
查看答案
单选题

在一个信息系统集成项目中,对项目涉及客户端、服务器、网络和运行环境等进行集成时,不确定会遇到什么问题,这对项目来说是一个风险,因此项目经理计划找一个以前有相关技术经验专家来处理这个风险。该应对措施属于( )。

  • A.风险接受
  • B.风险转移
  • C.风险规避
  • D.风险减轻
查看答案
单选题

根据风险概率,及其风险发生影响量对风险进行优先级排列风险管理步骤是( )。

  • A.制订风险管理机制
  • B.风险识别
  • C.实施定性风险分析
  • D.定量风险分析
查看答案
单选题

在风险监控中,如果出现了风险登记单未预期风险或“观察清单”未包含风险,应该( )。

  • A.进行额外风险应对规划
  • B.进行风险审计
  • C.进行变差和趋势分析
  • D.召开状态审查会
查看答案
单选题

入侵检测通过对计算机网络或计算机系统中若干关键点收集信息并进行分析,发现网络或系统中是否有违反安全策略行为和被攻击迹象。进行入侵检测软件和硬件组合就构成了入侵检测系统。( )是入侵检测系统核心。

  • A.评估主要系统和数据完整性
  • B.信息收集
  • C.系统审计
  • D.数据分析
查看答案
单选题

网吧管理员小李发现局域网中有若干台电脑有感染病毒迹象,这时应首先( ),以避免病毒进一步扩散。

  • A.关闭服务器
  • B.启动反病毒软件查杀
  • C.断开有嫌疑计算机物理网络连接
  • D.关闭网络交换机
查看答案