数据库结构设计的步骤
1.需求分析,全面了解产品设计的存储需求,要存储什么数据,这些数据有什么特点,数据处理的响应时间,是否是批量处理,数据的完整性确定要存储的真正数据,因为要和非开发的人员进行沟通
2.逻辑设计阶段,在这个阶段不用考虑数据库使用的存储引擎什么数据库,逻辑设计阶段要弄清楚数据实体之间的逻辑关系,这个阶段是解决数据冗余和数据维护异常(插入增加删除问题)的阶段,这个阶段的工作直接影响了之后的数据处理和数据存储方式,要解决数据冗余和数据维护异常,按照数据库的设计范式可以最大限度的进行解决
3.物理设计阶段,根据所使用的数据库的特点进行表结构的设计,选择合适的存储引擎和表中的列使用什么样子的数据类型
4.优化和维护:根据实际的情况对索引,存储结构等进行优化
实例
1.进行需求分析:
首先用户必须
什么是反范式化设计,反范式化是为了性能和查询效率进行违反数据库设计范式的行为 ,允许适当的数据冗余,反范式化是使用空间来换取时间,比如订单总量等等
2.物理设计
根据选择的关系型数据库的特点对逻辑模型继续存储结构设计
物理设计所设计的内容:
首先定义数据库,表,字段的命名规范,在对数据库,表和字段进行命名的时候要遵守可读性原则,尽量便于理解不使用简写,之后选择合适的存储引擎,最后为表中的字段选择合适的数据类型,浪费更多的内存和磁盘io,一个列可以选择多个数据类型的时候,应该优先考虑数字类型,其次是日期或者是二进制类型,最后是字符类型,相同级别的数据类型,应该优先选择占用空间小的数据类型,
整数类型:
n是存储空间的位数,2^(n-1),tinyint的n就是8,所以tinyint的范围就是-128~12