数据库设计规范

1、表设计规范

  • 表名采用下划线分隔的方式命名,例如:用户角色表 user_role。
  • 建表DDL语句中,一定要带上表名的中文注释,方便TA人阅读。
  • 手工声明表的编码类型(utf8),以防在Windows和linux之间表现不一致。

2、字段设计规范

  • boolean字段统一使用is_xxx命名,建议直接使用bool类型,不要使用tinyint类型。
  • 主键的命名方式为【表名_id】,例如user表,主键user_id。
  • 状态字段以 xxx_status 命名,例如订单状态【order_status】,状态个数大于7个时,建议建立外键状态表。
  • 编号字段以 xxx_no 命名,例如订单编号【order_no】
  • 编码字段以 xxx_code 命名,例如城市编码【city_code】
  • 中间表只能用在多对多的关系中,一对一和一对多关系采用逻辑外键(非物理外键)。
  • 数据完整性按照先紧后松的原则设计,null值判断和ak约束必须加上。
  • doule类型的数据存储用long型代替,业务层做转换(100)。例如:金额【56.23元】,存储为5623。
  • url存储长度统一为varchar(512)。
  • 性别使用M、F存储(M:男 F:女)使用varchar(5)类型,业务层做转换。
  • 方式字段以 xxx_type 命名,使用tinyint类型,例如支付方式【payment_type】
  • 时间字段以 xxx_time 命名,使用datetime类型,例如支付时间【payment_time】

3、主键设计规范

  • 采用数据库自增的方式,不建议使用全局uuid或全局自增。后续的分表可以按区间的方式预分配好auto_increment值。减少前期系统开发和运维的简单性。

4、约束设计规范

  • 采用先紧后松的策略。
  • 非空约束、唯一约束一定要加上,减少脏数据。
  • 不建议使用物理外键,使用逻辑外键。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值