MySQL 数据库设计 笔记与总结(3)物理设计

【物理设计的工作】

① 选择合适的数据库管理系统:Oracle,SQLServe,MySQL,PgSQL

② 定义数据库、表及字段的命名规范

③ 根据所选的 DBMS 系统选择合适的字段类型

④ 反范式化设计 —— 考虑读效率,在一些表中增加适当的冗余(空间换时间)

 

【数据库选择】

MySQL 数据库设计 笔记与总结(3)物理设计_第1张图片

 

 

【MySQL 常用的存储引擎】

MySQL 数据库设计 笔记与总结(3)物理设计_第2张图片

注:Archive 主要用于存储日志;Ndb cluster 是 MySQL 集群(内存型集群)所使用的存储引擎。

 

【表及字段的命名规则】

MySQL 数据库设计 笔记与总结(3)物理设计_第3张图片

 

       MySQL 数据库设计 笔记与总结(3)物理设计_第4张图片

       MySQL 数据库设计 笔记与总结(3)物理设计_第5张图片

 

【建立数据库及表结构 —— 字段类型的选择原则】

MySQL 数据库设计 笔记与总结(3)物理设计_第6张图片

MySQL 数据库设计 笔记与总结(3)物理设计_第7张图片

(个人经验,选择 Datetime 方便查看,同时 Datetime 也可以直接比较大小)

MySQL 数据库设计 笔记与总结(3)物理设计_第8张图片

注:TIMESTAMP 最大 2037 年。

 

MySQL 数据库设计 笔记与总结(3)物理设计_第9张图片

 

【具体选择字段类型】

MySQL 数据库设计 笔记与总结(3)物理设计_第10张图片

身份证号或者电话这种长度固定的数据,可以使用 char 来存储。

 

MySQL 数据库设计 笔记与总结(3)物理设计_第11张图片

 

MySQL 数据库设计 笔记与总结(3)物理设计_第12张图片

 

【如何选择主键】

MySQL 数据库设计 笔记与总结(3)物理设计_第13张图片

 

【避免使用外键约束】

MySQL 数据库设计 笔记与总结(3)物理设计_第14张图片

 

【避免使用触发器】

MySQL 数据库设计 笔记与总结(3)物理设计_第15张图片

 

【关于预留字段】

MySQL 数据库设计 笔记与总结(3)物理设计_第16张图片

 

【反范式化】

MySQL 数据库设计 笔记与总结(3)物理设计_第17张图片

 

MySQL 数据库设计 笔记与总结(3)物理设计_第18张图片

如何查询订单信息?

MySQL 数据库设计 笔记与总结(3)物理设计_第19张图片

 

如何查询订单详情?

MySQL 数据库设计 笔记与总结(3)物理设计_第20张图片

 

【反范式化的设计】

MySQL 数据库设计 笔记与总结(3)物理设计_第21张图片

如何查询订单信息?

MySQL 数据库设计 笔记与总结(3)物理设计_第22张图片

 

如何查询订单详情?

MySQL 数据库设计 笔记与总结(3)物理设计_第23张图片

 

【为什么反范式化】

① 减少表的关联数量

② 增加数据的读取效率

③ 反范式化一定要适度

 

你可能感兴趣的:(mysql)