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

时间:2022-07-27 13:41:42

【物理设计的工作】

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

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

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

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

【数据库选择】

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

【MySQL 常用的存储引擎】

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

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

【表及字段的命名规则】

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

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

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

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

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

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

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

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

注:TIMESTAMP 最大 2037 年。

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

【具体选择字段类型】

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

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

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

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

【如何选择主键】

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

【避免使用外键约束】

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

【避免使用触发器】

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

【关于预留字段】

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

【反范式化】

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

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

如何查询订单信息?

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

如何查询订单详情?

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

【反范式化的设计】

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

如何查询订单信息?

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

如何查询订单详情?

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

【为什么反范式化】

① 减少表的关联数量

② 增加数据的读取效率

③ 反范式化一定要适度