数据库多表命名的通用规范

一、核心总原则(记住这 4 条)

  1. 小写英文 + 下划线,不用中文、不用空格、不用大写
  2. 见名知意,看到表名就知道存的是什么
  3. 统一前缀,按业务模块分组,几十张表也一目了然
  4. 单数名词,不用复数(user 不用 users,这是行业主流习惯)

二、最实用的命名格式

格式

模块_业务含义

例子:

  • user 用户
  • sys_user 系统用户
  • crm_customer 客户管理模块 - 客户
  • sale_order 销售模块 - 订单
  • goods_product 商品模块 - 产品

这样你表再多,打开一看就知道:哪些是系统表、哪些是销售表、哪些是客户表。


三、常用模块前缀(你直接拿去用)

你做企业管理、销售系统,直接用这套:

  • sys_ 系统(用户、角色、菜单、日志)
  • crm_ 客户关系
  • sale_ 销售
  • stock_ 库存
  • goods_ 商品 / 产品
  • finance_ 财务、收款、付款
  • project_ 项目
  • attach_ 附件、文件
  • log_ 各类操作日志

四、表名单词怎么选?

用最简单、通用的英文单词,别造词:

  • 用户:user
  • 角色:role
  • 菜单:menu
  • 客户:customer
  • 供应商:supplier
  • 商品:product
  • 分类:category
  • 订单:order
  • 订单明细:order_item
  • 入库:stock_in
  • 出库:stock_out
  • 合同:contract
  • 收款:payment
  • 日志:log
  • 附件:attachment

小技巧:不会的单词直接查,统一用同一个词,别一会 customer 一会 client。


五、关联表怎么命名?(中间表)

A 表和 B 表多对多,命名格式:a_b(按模块首字母顺序)

例子:

  • 用户角色关联:user_role
  • 角色菜单关联:role_menu
  • 商品分类关联:product_category

六、简单示范一套完整表名(你可以感受下结构)

plaintext

复制代码
sys_user
sys_role
sys_menu
sys_role_menu
sys_log

crm_customer
crm_linkman

goods_category
goods_product

sale_order
sale_order_item
sale_payment

stock_in
stock_out

attach_file

几十张表也非常清晰,不会乱。


七、你必须避开的坑

  1. 不用中文、不用数字开头
  2. 不用空格、不用 -,只用 _
  3. 不用拼音:xueshengdingdan 非常不专业
  4. 不要太长,控制在 2~3 个单词 最好
  5. 别乱用复数:order 不是 orders
相关推荐
极创信息2 分钟前
信创产品认证怎么做?信创产品测试认证的主要流程
java·大数据·数据库·金融·软件工程
lzhdim1 小时前
SQL 入门 12:SQL 视图:创建、修改与可更新视图
java·大数据·服务器·数据库·sql
Hello eveybody1 小时前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
2301_795099741 小时前
让 CSS Grid 自适应容器尺寸的动态布局方案
jvm·数据库·python
呆萌的代Ma1 小时前
python读取并加载.env的配置文件
python
Muyuan19981 小时前
27.RAG 系统中的上下文充分性判断:从 Chunk 数量、FAISS 距离到 LLM Relevance Gate
python·django·pdf·fastapi·faiss
FQNmxDG4S2 小时前
Maven依赖管理:版本冲突解决与生命周期控制
java·数据库·maven
U盘失踪了2 小时前
python curl转python脚本
开发语言·chrome·python
热爱运维的小七2 小时前
告别内存溢出:ActiveMQ 性能诊断与全流程优化
数据库·it运维·activemq·devops