MySQL 数据库设计规范

一般命名规则

  • [ 强制 ] 使用小写
  • [ 强制 ] 使用下划线代替空格
  • [ 强制 ] 通俗易懂
  • [ 强制 ] 不应超过 32 个字符

数据库

  • [ 强制 ] 遵守一般命名规则
  • [ 强制 ] 使用单数
  • [ 强制 ] 创建数据库时必须显式指定 utf8 字符集

数据表

  • [ 强制 ] 遵守一般命名规则
  • [ 强制 ] 使用单数
  • [ 强制 ] 创建表时必须显式指定 utf8 字符集
  • [ 强制 ] 创建表时必须显式指定存储引擎,如无特殊,一律为 InnoDB
  • [ 建议 ] 核心表必须有行数据的创建时间和最后更新时间字段
  • [ 建议 ] 表中所有字段都是 NOT NULL,业务可以根据需要定义 DEFAULT 的值
  • [ 建议 ] 将 text 等大字段拆分到其他表里,仅在需要时读取

数据字段

  • [ 强制 ] 遵守一般命名规则
  • [ 强制 ] 避免使用数据库关键字作为字段名称,如:orderdatekey
  • [ 强制 ] 避免使用与表名相同的字段名,容易造成混淆
  • [ 建议 ] 字段尽可能有 comment
  • [ 建议 ] 尽可能选择较短的 1 - 2 个单词

字段数据类型优化

  • [ 建议 ] 自增字段推荐使用 bigintint 溢出后会导致报错)
  • [ 建议 ] 枚举字段(如性别、状态)推荐使用 tinytint 或 smallint(不使用 enum
  • [ 建议 ] IP 字段推荐使用 int 类型
  • [ 建议 ] 金额字段推荐使用 intbigint,以分为单位,通过乘除 100 进行存取
  • [ 建议 ] 文本字段尽量使用 varchar 存储(一般建议字符数 < 2700)
  • [ 建议 ] 时间字段尽量使用 timestamp,更为高阶的,使用 int 存储时间戳

禁止使用的 SQL 语句

  • [ 高危 ] 禁用带 limit 的更新语句(导致主从不一致),如 UPDATE|DELETE ... WHERE ... LIMIT ...
  • [ 强制 ] 禁止使用关联子查询(效率低下),如 UPDATE ... SET ... WHERE id IN(SELECT id FROM user WHERE ...)
  • [ 强制 ] 禁用 ON DUPLICATE KEY UPDATE(在高并发下导致主从不一致),如 INSERT INTO ... ON DUPLICATE KEY UPDATE ...
–£ˆ…¶–£"¡ıłˆ ¡ı»œˆ ¡ıˆˆ ¡˜ ¿ «¿" ˚¿Ł…˘ ¶ – …˙´… –"¯ — ˜ª¸ˆ – ¨˘ – ¨¸ ¯œ¨¸ V1.0 ·· ¤ — ˜ª¸ˆ˜˜¨—¨ˇ´… £"·· ¤¡¢— ˜£¤ +— ˜¸ˆ£'¡¢ £¤ + ¸ˆ£' ˜¿ ´… 1 –—·˜¿˜ ...........................................................................................................................................................1 2 ˚¿ ´ .......................................................................................................................................................1 2.1 ˚¿¶ˇ ¶¨ ´ ............................................................................................................................. 1 2.2 ˚˝Œß— ´ ..................................................................................................................................... 1 2.3 ¶» Ł…˘º—˜ …˜¨¤" ´ ..................................................................................................... 1 2.4 ¶˛—˝˜¶¤º˚ ˆ ´ ................................................................................................................. 1 3 ˆˆß ¶ ...........................................................................................................................................................3 3.1 ˚¿ˆˆß ..................................................................................................................................... 3 3.2 ˚¿¶ˇˆˆß˜»ª ................................................................................................................. 4 3.3 –¿… (Tablespace)ˆˆß ................................................................................................................ 4 3.4 – (Table) ˆˆß ................................................................................................................................. 4 3.5 ¶˛ˆˆß ......................................................................................................................................... 4 3.6 ˚˝… (View) ˆˆß ....................................................................................
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值