数据库设计规范

数据库规范

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

数据库

  • 命名:公司名+项目名,例如: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='服务树服务';
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一章 总则 第1条 目的及适用范围 规范生产环境数据库设计,统一数据库设计标准。避免设计不合理造成重复犯错。 适...
    今天要开心鸭阅读 609评论 0 0
  • 数据库设计 以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。 库名 【强制】库...
    Tick_Tock阅读 521评论 0 17
  • 目录 1. 规范背景与目的 MySQL数据库与 Oracle、 SQL Server 等数据库相比,有其内核上的优...
    一颗老呀老松树阅读 1,454评论 0 1
  • 1.数据库设计 1.1库名 1.库的名称尽量控制在32个字符以内,最长不超过64个字符,相关模块的表名与表名之间尽...
    Mwk阅读 2,242评论 0 4
  • 我们在项目一开始的设计中,就要忙着考虑数据库的设计,表、字段、索引、sql等等,而在项目比较大型的时候,团队开发中...
    Luke_Cc阅读 805评论 0 1

友情链接更多精彩内容