数据库建表规范

参考

命名规范

  • 基础规则:

    • 禁用保留字: 如desc、range、match、delayed等,请参考MySQL官方保留字。
      正例:表达逻辑删除的字段名is_deleted,1表示删除,0表示未删除。
    • 使用小写字母或数字: 禁止出现数字开头,禁止两个下划线中间只
      出现数字。
      正例:aliyun_admin,rdc_config,level3_name
      反例:AliyunAdmin,rdcConfig,level_3_name
    • 是与否概念: ,必须使用is_xxx的方式命名,数据类型是unsigned tinyint
      ( 1表示是,0表示否)。
  • 表名

    • 不使用复数: 表名应该仅仅表示表里面的实体内容,不应该表示实体数量,对应于DO类名也是单数
      形式,符合表达习惯。
    • 命名规范: 表的命名最好是加上“业务名称_表的作用”。正例:alipay_task / force_project / trade_config
  • 字段名

    • 索引: 主键索引名为pk_字段名;唯一索引名为uk_字段名;普通索引名则为idx_字段名。
      说明:pk_ 即primary key;uk_ 即 unique key;idx_ 即index的简称。

表规范

  • 必备字段: 表必备三字段:id, gmt_create, gmt_modified。
    说明:其中id必为主键,类型为unsigned bigint、单表时自增、步长为1。gmt_create, gmt_modified 的类型均为date_time类型,前者现在时表示主动创建,后者过去分词表示被动更新。