返回介绍

346.建表规范

发布于 2020-09-14 22:20:45 字数 6081 浏览 1168 评论 0 收藏 0

表设计规范

  • 1.主键必须为:ID,类型 [Long(19)] 唯一索引,因为历史原因暂时用String(32)类型
  • 2.外键字段命名:{【关联表名】去掉业务前缀}+“_”+ {关联字段名},例如:order_main_id
  • 3.区分位: iz* [String(1)] 1表示是 0表示否,(禁用 is,代码生成实体有问题 )
  • 4.状态位: *_status [String(1-2)] 状态字段必须加注释说明每个值代表含义
  • 5.字段命名,多单词采用下划线分隔 例如:school_id
  • 6.索引命名: 主键索引命名为:pk表名缩写字段名(索引要求全库唯一,为兼容多数据库);
              唯一索引命名为: uk_表名缩写_字段名;
              普通索引命令为: idx_表名缩写_字段名(表名缩写: 下划线分隔单词首字母组合)                                        
    
  • 7.区分、状态、类型字段,尽量用String类型,避免数字类型的一些问题;如果需要考虑性能建议用int类型 (禁用tinyint类型,需要兼容其他数据库);

    表业务前缀 和 建表标准字段

  • 1.表命名必须带上业务前缀:例如 sys_开头(系统表前缀)
  • 2.所有的表加字段:所属部门,用于部门数据权限
  • 3.所有的表加字段:创建时间,创建者,最后更新时间,更新人
  • 4.逻辑删除字段,del_flag [String(1)],1表示删除 0表示未删除 ,可选择加
  • 5.乐观锁字段, update_count[Integer],可选择加
  • 6.字符串类型字段,varchar类型长度不允许超过1000(过长转库会变类型)
  • 7.大文本尽量少用,字段类型采用text、longtext,禁用blob系列类型(必须用要确认)

帮助脚步

ALTER TABLE `表名`
ADD COLUMN `create_by`  varchar(32) NULL COMMENT '创建人',
ADD COLUMN `create_time`  datetime NULL COMMENT '创建时间' AFTER `create_by`,
ADD COLUMN `update_by`  varchar(32) NULL COMMENT '修改人' AFTER `create_time`,
ADD COLUMN `update_time`  datetime NULL COMMENT '修改时间' AFTER `update_by`,
ADD COLUMN `del_flag`  varchar(1) NULL COMMENT '0表示未删除,1表示删除' AFTER `update_time`;

其他说明:

  • 表字段注释,每个字段必须设置注释说明;
  • 表字段注释,状态类型的字段必须说明取值规则(比如性别sex取值规则)
                比如:'性别  0男,1女'
    
  • 索引,查询频率高的字段加索引(单字段索引 、组合索引、唯一索引);
  • 状态、类型字段,尽量用字符串varchar类型1-2长度,少用int类型,避免不必要的问题。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文