美文网首页
数据库设计规范

数据库设计规范

作者: ikeaforever | 来源:发表于2019-10-24 12:52 被阅读0次

    数据库规范

    良好的数据库、表命名规范,提升可读性与降低维护成本。

    数据库

    • 命名:公司名+项目名,例如:tencent_lanjing
    • 显示指明字符集,通常为:utf8mb4
    CREATE DATABASE tencent_lanjing CHARACTER SET utf8mb4; 
    

    • 实体表命名,模块_子模块_实体,如:组织架构_部门_小组
    • 关系表:rlt_表1_字段1_表2_字段2
    • 备份表:统一后缀"_bak_201910241119"
    • 日志表:统一后缀"_log"
    • 创建表必须指定存储引擎,一般为:Innodb

    字段

    • int字段,必须标明有无符号 unsigned或signed
    • 主键创建时,必须指定AUTO_INCREMENT
    • 除非有必要不要指定字段非空
    • 尽可能给字段添加默认值,例如:int为0,varchar为""
    • 字段添加comment
    • 建议增加创建人,创建时间,修改人,修改时间字段
    • 建议增加逻辑删除字段is_del,使用tinyint

    索引

    • 索引名建议使用:idx_tablename_fieldname

    创建表

    CREATE TABLE treeapp_assettreeservice (
      `id` int(11)  unsigned   NOT NULL AUTO_INCREMENT COMMENT '自增id',
      `name` varchar(128) NOT NULL COMMENT '名称',
      `ip` varchar(128) NOT NULL COMMENT '名称',
      `node_id` int(64) NOT NULL COMMENT '节点ID',
      `create_user` varchar(64) NOT NULL COMMENT '创建人',
      `description` text COMMENT '描述',
      `asset_id` int(128) NOT NULL COMMENT '资产ID',
      `created_stime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
      `modified_stime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
      `is_del` tinyint NOT NULL DEFAULT 0 COMMENT '逻辑删除标记 0-未删除 1-已删除',
      PRIMARY KEY (`id`),
      KEY `idx_treeapp_assettreeservice_node_id` (`parent_id`)
    ) ENGINE=Innodb AUTO_INCREMENT=100000 DEFAULT CHARSET=utf8mb4 COMMENT='服务树服务';
    

    相关文章

      网友评论

          本文标题:数据库设计规范

          本文链接:https://www.haomeiwen.com/subject/zdervctx.html