软考高级-架构设计师-案例分析【第三章 数据库篇】

3数据库篇

3.1数据库设计过程

需求分析 -> 输出数据流图、数据字典、需求说明书

概念结构设计-> 输出 E-R图 实体、属性、联系

逻辑结构设计-> 输入转换规则和规范化理论 输出关系模式 表名、字段名、主键、外键、索引

物理设计 硬件、OS特性

规范化

1.不规范化关系模式的问题
插入异常:还未确定供应商有哪些产品,只想添加一个供应商的地址信息,则会产生 产品与价格为空的记录

删除异常:当删除一个供应商的货物时,地址信息也会被删除

修改异常:当修改一个供应商的地址,需要将多条数据同时更新,没更新,则数据产生不一致问题

数据冗余:关系模式中多次重复记录了同一个供应商地址

2.规范化及存在问题

实际是对数据表的不断拆分,达到更高的规范程度。

问题:系统中大量查询不能通过单表完成,需要将多表连接,拆的越多,查询性能就越低

3.反规范化优缺点及方法

规范化设计后,数据库设计者希望希望部分规范化来提高性能,这种规范化设计的回退方法为反规范化方法

方法:增加派生性冗余列、增加冗余列、重新组表、水平分割表

优点:提升统计,查询效率

缺点:增加了数据冗余,浪费存储空间,增删改操作效率低,可能会导致数据不一致

水平分割:需要总数据时,效率低;可能需要动态选择分割后的表,增加程序复杂度。

3.2 数据库索引

提升查询效率,降低添加,修改,删除效率。采用B树,B+树等

3.3 数据库视图

一个或几个表中导出的,视图并不在数据库中实际存在,而是一种虚拟表。

优点:

  1. 简化用户的操作
  2. 视图机制可以使用户以不同的方式查询同一数据
  3. 视图对数据库重构提供了一点程度的逻辑独立性(新增无关列,视图不影响)
  4. 视图可以对机密的数据提供安全保护

物化视图:将试图的内容物理存储起来,数据随原表变化,同步更新

优点:提高性能,数据可用性(原数据异常,物理视图仍可用),分布式数据库系统中,物化视图可以减少跨网络的查询次数,降低网络负载

缺点:存储开销,数据一致性需管理,维护成本呢

数据一致性问题:可以通过应用程序,触发器,物化视图实现,消息队列

3.4 分区分表分库

分区的优点:

  1. 相对于单个文件系统或是硬盘,分区可以存储更多的数据
  2. 管理方便,清理或废除某年的数据,可以直接删除分区数据
  3. 精准定位分区查询数据,不用全表扫描,提高查询效率
  4. 可以跨多个分区磁盘查询,提高查询吞吐量
  5. 涉及聚合函数查询时,可以容易进行数据合并

3.5 分布式数据库系统

3.6 NoSQL

3.7 联邦数据库系统

3.8 数据库性能优化

3.9大数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值