库表设计基本字段

postgresql
DROP TABLE IF EXISTS base;
CREATE TABLE base(
    id SERIAL NOT NULL,
    data_id VARCHAR(32) NOT NULL,
    created_by VARCHAR(255),
    revision INTEGER,
    state INTEGER NOT NULL,
    status INTEGER NOT NULL,
    create_time TIMESTAMP NOT NULL,
    update_time TIMESTAMP NOT NULL,
    remark VARCHAR(255),
    deleted INTEGER,
    tenant_id INTEGER NOT NULL,
    PRIMARY KEY (id)
);

COMMENT ON TABLE base IS '表基础格式';
COMMENT ON COLUMN base.data_id IS '数据id';
COMMENT ON COLUMN base.created_by IS '创建人';
COMMENT ON COLUMN base.revision IS '乐观锁';
COMMENT ON COLUMN base.state IS '(隐藏、显示)、(是、否)、(可用、不可用)、(启用、禁用)';
COMMENT ON COLUMN base.status IS '状态';
COMMENT ON COLUMN base.create_time IS '创建时间';
COMMENT ON COLUMN base.update_time IS '更新时间';
COMMENT ON COLUMN base.remark IS '备注';
COMMENT ON COLUMN base.deleted IS '逻辑删除标记';
COMMENT ON COLUMN base.tenant_id IS '租户id';
mysql
DROP TABLE IF EXISTS base;
CREATE TABLE base(
    `id` INT AUTO_INCREMENT COMMENT '' ,
    `data_id` VARCHAR(32) NOT NULL  COMMENT '数据id' ,
    `created_by` VARCHAR(255)   COMMENT '创建人' ,
    `revision` INT   COMMENT '乐观锁' ,
    `state` INT NOT NULL  COMMENT '(隐藏、显示)、(是、否)、(可用、不可用)、(启用、禁用)' ,
    `status` INT NOT NULL  COMMENT '状态' ,
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `remark` VARCHAR(255)   COMMENT '备注' ,
    `deleted` INT   COMMENT '逻辑删除标记' ,
    `tenant_id` INT NOT NULL  COMMENT '租户id' ,
    PRIMARY KEY (id)
)  COMMENT = '表基础格式';

【强制】必须显式指定主键, 勿用复合主键. 主键的命名统一为:id

【强制】bigint id 无意义主键id

【强制】varchar(32) data_id 数据id,有的业务需要进行先插入再根据id进行操作

【强制】varchar(32) created_by 操作人

【强制】int(1) unsign deleted 逻辑删除标记.默认值0,删除值1

【强制】datetime create_time 默认值 CURRENT_TIMESTAMP 额外值 DEFAULT_GENERATED

【强制】datetime update_time 默认值 CURRENT_TIMESTAMP 额外值 DEFAULT_GENERATED on update CURRENT_TIMESTAMP

【强制】关于状态字段根据业务含义命名为: state、status

【强制】界面上要显示成树形结构的表,至少需要3个字段: id、parent_id、sort_value

【强制】POJO 类的布尔属性不能加 is,而数据库字段必须加 is_,要求在 resultMap 中进行字段与属性之间的映射。

【强制】主键索引名为 pk_字段名

【强制】唯一索引名为 uk_字段名

【强制】普通索引名则为 idx_字段名。

【强制】不得使用外键与级联,一切外键概念必须在应用层解决

【强制】不用存储过程

【强制】数据库名、表名、字段名统一使用小写字母, _ 分割

【强制】表和字段必须加注释!

【强制】当字段为外键时,字段名为:关联表_id, 注释需要在字段注释基础上,换行加上 #关联表表名来说明关联的哪张表。

相关推荐

  1. 设计基本字段

    2024-03-13 00:28:02       19 阅读
  2. MySQL如何设计结构

    2024-03-13 00:28:02       10 阅读
  3. 数据库字段设计

    2024-03-13 00:28:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-13 00:28:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-13 00:28:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-13 00:28:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-13 00:28:02       20 阅读

热门阅读

  1. LLM(大语言模型)常用评测指标-MAP@R

    2024-03-13 00:28:02       23 阅读
  2. 使用Docker部署debezium来监控MySQL数据库

    2024-03-13 00:28:02       22 阅读
  3. 微信小程序重新加载当前页面、刷新当前页面

    2024-03-13 00:28:02       21 阅读
  4. lmbench学习

    2024-03-13 00:28:02       25 阅读
  5. 蚂蚁SEO蜘蛛池什么用?

    2024-03-13 00:28:02       22 阅读
  6. 什么场景只能用HTTP,不能用RPC?

    2024-03-13 00:28:02       21 阅读