关系数据规范化是为解决关系数据库中的什么问题而引入的?______
A.保证数据的安全性和完整性
B.减少数据操作的复杂性
C.插入、删除和数据冗余
D.提高查询速度
()论反规范化技术的应用
规范化理论是数据库中用来改造关系模式的一种技术,它通过分解关系模式来消除其中不合适的数据依赖,以解决插入异常、删除异常、更新异常和数据冗余问题。该技术应用非常广泛,几乎所有的数据库开发过程中都离不开他。但与此同时,也有人提出反规范化技术,并得到了业内很多专业人士的支持。 请围绕“反规范化技术”论题,依次从以下三个方面进行论述。 1.简述你所参与开发的项目,以及你所担任的工作。 2.请简要叙述什么是反规范化技术,常见的反规范化技术有哪些。 3.详细论述,你的项目中,哪些地方用到了反规范化技术,为什么要用,如何用的。
关系数据库的规范理论是针对(11)的问题设计的,这种理论适合于(12)到目前为止,规范理论已提出了多种范式,但实际应用中,一般只要达到(13),数据库模式就有较好的性能。一个关系是否属于某种范式是由(14)确定的,从规范化程度来看,应满足(15)。
A.一个关系太大,引起应用数据库的独立性下降
B.数据安排太分散,引起应用数据的共享性下降
C.数据存取路径不适当,引起数据存取时间效率下降
D.数据冗余,引起更新(插入、修改、删除等)异常
A.每个非主属性都完全依赖于主码
B.关系中元组的每个分量是不可分的数据项
C.每一个非主属性都不传递依赖于主码
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分)
针对该信息系统中核心销售数据处理的特点,如采用关系表水平分割的逆规范化方法,请给出具体的解决方案,井说明该方案存在的问题。
某销售公司数据库的零件关系(零件号,零件名称,供应商,供应商所在地,库存量)如下表所示,其中同一种零件可由不同的供应商供应,一个供应商可以供应多种零件。零件关系的主键为 (43) ,该关系存在冗余以及插入异常和删除异常等问题。为了解决这一问题需要将零件关系分解为 (44) ,分解后的关系模式可以达到 (45) 。
(43)
A.零件号,零件名称
B.零件号,供应商
C.零件号,供应商所在地
D.供应商,供应商所在地