温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

数据库Column列如何规范

发布时间:2026-10-08 14:17:29 来源:亿速云 阅读:89 作者:小樊 栏目:数据库

在数据库设计中,Column(列/字段)的规范通常包含命名规范、数据类型规范、约束规范、业务语义规范四个方面。下面按“可落地的规范清单”来说明。


一、命名规范(最重要、最常被忽视)

1. 基本命名原则

  • 见名知意:字段名应直接表达业务含义
    ✅ user_name、order_amount
    ❌ name1、a、col2
  • 统一语言:只用英文,避免拼音混用
    ✅ created_at
    ❌ chuangjian_time
  • 小写 + 下划线(snake_case,最通用)
    ✅ total_price
    ❌ TotalPrice、totalPrice

2. 禁止使用

  • 数据库关键字(如 order、group、select)
  • 空格、中文、特殊字符
  • 缩写过度(除非团队共识)
    ❌ usr_nm

3. 常见命名约定

场景 规范示例
主键 id
外键 user_id
时间 created_at、updated_at
状态 status、order_status
布尔 is_deleted、has_paid
金额 amount、price

二、数据类型规范

1. 通用原则

  • 最小够用原则:不浪费存储
  • 统一精度:金额一律 DECIMAL
  • 时间统一类型:
    • 创建/更新时间 → DATETIME / TIMESTAMP

2. 常见类型建议

字段 推荐类型
ID BIGINT
名称 VARCHAR(64~255)
描述 TEXT
金额 DECIMAL(10,2)
状态 TINYINT / VARCHAR
时间 DATETIME
布尔 TINYINT(1)

三、约束与默认值规范

1. 必备约束

  • NOT NULL:核心字段必须
  • DEFAULT:合理默认值
  • UNIQUE:业务唯一字段(如 email)
  • 外键:视系统规模(微服务常不用)

2. 示例

user_name VARCHAR(64) NOT NULL,
status TINYINT NOT NULL DEFAULT 1,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP

四、业务语义规范(高阶)

  • 避免一列多义 ❌ info(又存电话又存地址)
  • 避免冗余列
  • 软删除统一 ✅ is_deleted TINYINT DEFAULT 0

五、示例(规范字段设计)

CREATE TABLE orders (
  id BIGINT PRIMARY KEY,
  user_id BIGINT NOT NULL,
  order_amount DECIMAL(10,2) NOT NULL,
  status TINYINT NOT NULL DEFAULT 0,
  created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

如果你愿意,我可以:

  • 按 MySQL / PostgreSQL / Oracle 分别给规范
  • 帮你 审查现有表结构
  • 给你一套 团队数据库规范文档模板

你现在是设计新表,还是优化旧表?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手