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

某集团公司在各省均设有分公司,现欲建立全国统一的销售管理信息系统,以便总公司及时掌握各分公司的销售情况。公司成立专门的项目组进行该系统的研发工作,其中张工负责其中的数据库设计工作。张工和需求分析小组紧密合作,在设计出数据流图和数据字典的基础上,给出了数据库关系模式和相应的索引设计。同时考虑到未规范化关系模式可能引起的各类数据错误,对关系模式进行了全面的规范化处理,使所有关系模式均达到了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】解决方案:将各省的数据存放于各省分公司。该方案主要问题在于总公司进行全国数据统计时,需要从各省服务器调取数据,效率较低。

相关考题:

在数据库应用系统设计过程中,属于物理设计范畴的是——。A.数据流图设计B.实体一联系图设计C.关系模式设计D.索引设计

( 22 )在数据库应用系统设计过程中,属于物理设计范畴的是A )数据流图设计B )实体 - 联系图设计C )关系模式设计D )索引设计

● 在数据库设计的需求分析阶段应完成包括 (5) 在内的文档。(5)A. E-R 图B. 关系模式C. 数据字典和数据流图D. 任务书和设计方案

( 6 )关系数据库逻辑设计包括 4 个方面的内容:从 E-R 图导出初始关系模式、规范化处理、模式评价和优化模式。其中,对模式进行分解和合并属于上述 【 6 】 的工作内容。

在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到 3NF,属于的设计阶段是A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段

下列关于规范化理论的叙述中,哪些是正确的?( )Ⅰ. 规范化理论研究关系模式中各属性之间的依赖关系及其对关系模式性能的影响Ⅱ. 规范化理论给我们提供判断关系模式优劣的理论标准Ⅲ. 规范化理论对于关系数据库设计具有重要指导意义Ⅳ. 规范化理论最主要的应用是在数据库逻辑结构设计阶段Ⅴ. 存数据库设计中有时候会适当地降低规范化程度而追求高查询性能A) 仅Ⅰ、Ⅱ和ⅢB) 仅Ⅱ、Ⅲ和ⅣC) 仅Ⅲ、Ⅳ和ⅤD) 都正确A.B.C.D.

( 50 )下列关于规范化理论的叙述中,哪 一( 些)条是不正确的?Ⅰ .规范化理论研究关系模式中各属性之间的依赖关系及其对关系模式性能的影响Ⅱ .规范化理论给我们提供判断关系模式优劣的理论标准Ⅲ . 规范化理论对于关系数据库设计具有重要 指导 意义Ⅳ .规范化理论只能应用于数据库逻辑结构设计阶段Ⅴ .在数据库设计中有时候会适当地降低规范化程度而追求高查询性能A )仅 Ⅰ 和 ⅡB )仅 Ⅱ 和 ⅢC )仅 ⅣD )仅 Ⅴ

在数据库应用系统设计过程中,属于物理设计范畴的是______。A) 数据流图设计B) E-R图设计C) 安全模式设计D) 关系模式设计A.B.C.D.

在需求分析阶段应完成的文档是(53)。A.任务书和设计方案B.数据字典和数据流图C.E-R图D.关系模式

在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如到3NF,这是()阶段的任务。 A、需求分析B、概念设计C、物理设计D、逻辑设计

在关系数据库的规范化设计中,对模式进行等价分解时,要具有无损连接性和()。

在关系数据库设计中,对关系进行规范化处理,使关系达到一定的范式,例如达到3NF,这是()阶段的任务。 A、需求分析阶段B、概念设计阶段C、物理设计阶段D、逻辑设计阶段

在关系数据库的规范化设计中,对模式分解的等价性进行评价的主要标题是具有无损连接性和【】 。

在关系数据库的规范化设计中,对模式分解的等价性进行评价的两条主要标准是无损连接性和 【】

对于数据库设计来说( )是进行详细的数据收集和数据分析所获得的主要成果。A.数据流图B.数据字典C.ER图D.关系模式

对于数据库设计来说______是进行详细的数据收集和数据分析所获得的主要成果。A.数据流图B.数据字典C.E-R图D.关系模式

下列数据库结构设计中,包含对关系模式进行规范化处理工作的是( )。 A.数据库概念结构设计B.数据库逻辑结构设计C.数据库存取结构设计D.数据库物理结构设计

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

试题四(共25分)阅读以下关于数据库架构设计的叙述,回答问题1至问题3。某软件公司欲开发一个社交网络系统,该系统能够接收多个不同种类客户端发送的信息,并将这些信息实时显示在每个客户端的页面上供客户阅读。该系统将为数以百万计的用户服务,因此,要求采用的数据库能够支持大量信息存储,能够满足并发读写要求,并要求随着数据规模的扩大,数据库系统要易于进行扩充。关于数据库架构的设计,王工和张工提出了两种模式:王工提出基于传统的关系型数据库模式,通过向上扩展( Scale-up)以满足数据库的可扩展性要求;李工提出利用新兴的NoSQL数据库模式,通过向外扩展( Scale-out)以满足数据库的可扩展性要求。项目组经过讨论,决定采用李工提出的设计方案。【问题1】(11分)请指出关系数据库模式和NoSQL模式在并发支持、存储与查询、扩展方式、索引方式和应用领域五个方面各自的特点,结果填入表4-1中(1)~(10);并针对应用需求,说明项目组选择李工提出的设计方案的原因。【问题2】(8分)与传统的关系型数据库相比,NoSQL数据库所支持的典型数据存储类型有哪些?【问题3】(6分)在实际应用中,NoSQL数据库存在的问题有哪些?

数据库物理设计的主要步骤包括下面哪几项?——①文件组织与存取设计②设计E-R图③安全模式设计④数据分布设计⑤数据库逻辑模式调整⑥对关系进行规范化处理A.①②③④B.②④⑤⑥C.①③④⑤D.全部

在数据库设计的需求分析阶段应完成包括______在内的文档。A.E-R图B.关系模式C.数据字典和数据流图D.任务书和设计方案

在数据库设计中,()A、ER图用来描述关系模式B、关系模式属于概念数据模型C、全局视图也被称为模式D、UML专门用于概念数据库设计

在关系数据库设计中,设计关系模式是数据库设计中的()阶段的任务。A、需求分析B、概念设计C、逻辑设计D、物理设计

在数据库设计的需求分析阶段应完成包括()在内的文档。A、E-R图B、关系模式C、数据字典和数据流图D、任务书和设计方案

数据库设计的任务之一是设计出包括()的数据模式。A、网状模式、层次模式和关系模式B、流程模式、字典模式和逻辑模式C、分析模式、设计模式和运行模式D、用户模式、逻辑模式和存储模式

单选题数据库设计的任务之一是设计出包括()的数据模式。A网状模式、层次模式和关系模式B流程模式、字典模式和逻辑模式C分析模式、设计模式和运行模式D用户模式、逻辑模式和存储模式

单选题在数据库设计的需求分析阶段应完成包括()在内的文档。AE-R图B关系模式C数据字典和数据流图D任务书和设计方案