**
数据库结构优化的目的:
**
1、减少数据冗余,数据冗余是指相同的数据在多个地方存在,表中的某个列可以在其他某个列中获取到。
2、尽量避免数据维护中出现更新、插入和删除异常,
插入异常:如果表中的某个实体随着另一个实体而存在,则无法插入
更新异常:如果更改表中的某个实体的单独属性时,需要对多行进行更新
删除异常:如果删除表中的某一实体则会导致其他实体的消失
3、节约数据库存储空间。
4、提高查询效率
**
数据库结构设计的步骤
**
需求分析:全面了解产品设计的存储需求、存储需求、数据处理需求、数据的安全性和完整性
逻辑设计:设计数据的逻辑存储结构、数据实体之间的逻辑关系,解决数据冗余和数据维护异常
物理设计:根据所使用的数据库特点进行表结构设计,关系型数据库,oralce、mysql,非关系数据库,mongo、redis、hadoop。存储引擎选择Innodb
维护优化:根据实际情况,对索引、存储结构等进行优化
**
数据库设计范式
**
在设计数据库的时候的一些规范,设计出没有数据冗余和数据维护异常的数据结构
数据库的第一范式:数据库表中的所有字段都只具有单一属性,单一属性的列是由基本的数据类型所构成的,设计出来的表都是简单的二维表,
数据库的第二范式:要求一个表中只有一个业务主键,也就是说符合第二范式的表中不能存在非主键列对只对部分主键的依赖关系
数据