该设计指导仅供团队设计参考~
- 采用程序文件形式跟踪数据结构 及 数据变动(如:laravel数据迁移)
- 添加明确的表备注、字段备注(特别是类似“状态”等的字段)
- 表、字段名称一律英文全拼,小写,多个单词用下划线分隔
- 表关联:杜绝使用字符串关联
- 字段命名:一律杜绝在确切可知的情况下使用模棱两可的名称(如:belongs_id),若为多表联系可以使用(如:资金变动的来源关联,对应“充值”、“提现”等业务)
- “编号”统一命名:no
- 标识“是否”状态的字段名,使用“is_”开头
- 标识“需要”状态的字段名,使用“need_”开头
- 标识“限制”状态的字段名,使用“limit_”开头
- 标识“可以”状态的字段名,使用“can_”开头
- 创建时间:created_at(int 10 unsigned)
- 更新时间:updated_at(int 10 unsigned)
- 处理人相关,使用“operate_”(如:operate_uid / operate_name / operate_time / operate_remark)
- 备注:remark
- 图片路径:path
- 联系人:以前缀“contact_”起始(如:contact_uid / contact_name / contact_mobile)
- 数量统计:以前缀“count_”起始(如:count_view)
- 数据统计:以相应的函数名为前缀(sum_ / avg_)
- 表关联 ID:以关联表最后一个单词起始(如:job_id / apply_id / account_id)
- 数据库开启 ONLY_FULL_GROUP_BY模式,sql语句禁用 any_value
- 数据库开启 NO_ZERO_IN_DATE 和 NO_ZERO_DATE,date、datetime类型改用 varchar 255替代
- 状态status、类型type等应尽可能少用 0标识
- 无序状态,可用标识(1, 2, 3, ……),步骤状态可用标识(10, 20, 30, ……)防止开发过程中在中间加步骤
- 货币、金额字段,应该定义为:decimal类型,10, 2