3数据库篇
3.1数据库设计过程

需求分析 -> 输出数据流图、数据字典、需求说明书
概念结构设计-> 输出 E-R图 实体、属性、联系
逻辑结构设计-> 输入转换规则和规范化理论 输出关系模式 表名、字段名、主键、外键、索引
物理设计 硬件、OS特性
规范化

1.不规范化关系模式的问题
插入异常:还未确定供应商有哪些产品,只想添加一个供应商的地址信息,则会产生 产品与价格为空的记录
删除异常:当删除一个供应商的货物时,地址信息也会被删除
修改异常:当修改一个供应商的地址,需要将多条数据同时更新,没更新,则数据产生不一致问题
数据冗余:关系模式中多次重复记录了同一个供应商地址

2.规范化及存在问题
实际是对数据表的不断拆分,达到更高的规范程度。
问题:系统中大量查询不能通过单表完成,需要将多表连接,拆的越多,查询性能就越低
3.反规范化优缺点及方法
规范化设计后,数据库设计者希望希望部分规范化来提高性能,这种规范化设计的回退方法为反规范化方法
方法:增加派生性冗余列、增加冗余列、重新组表、水平分割表
优点:提升统计,查询效率
缺点:增加了数据冗余,浪费存储空间,增删改操作效率低,可能会导致数据不一致
水平分割:需要总数据时,效率低;可能需要动态选择分割后的表,增加程序复杂度。

3.2 数据库索引
提升查询效率,降低添加,修改,删除效率。采用B树,B+树等


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

优点:
- 简化用户的操作
- 视图机制可以使用户以不同的方式查询同一数据
- 视图对数据库重构提供了一点程度的逻辑独立性(新增无关列,视图不影响)
- 视图可以对机密的数据提供安全保护
物化视图:将试图的内容物理存储起来,数据随原表变化,同步更新
优点:提高性能,数据可用性(原数据异常,物理视图仍可用),分布式数据库系统中,物化视图可以减少跨网络的查询次数,降低网络负载
缺点:存储开销,数据一致性需管理,维护成本呢
数据一致性问题:可以通过应用程序,触发器,物化视图实现,消息队列
3.4 分区分表分库




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


3.6 NoSQL

3.7 联邦数据库系统

3.8 数据库性能优化

3.9大数据


2398

被折叠的 条评论
为什么被折叠?



