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

一、核心总原则(记住这 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
相关推荐
weixin1997010801626 分钟前
《二手ERP对接闲鱼API:聚石塔强制入塔后的架构重构实录》(附Python源码)
python
小白快快跑哦33 分钟前
python-字符串全解(六):正则表达式-转义与非转义
python·正则表达式·转义与非转义
IvanCodes6 小时前
Python 数据处理(十三):JSON、CSV 与数据序列化
开发语言·python
Patrick在香港7 小时前
Claude 工具调用返回空:8 次失败里只有 1 次状态码不对,其余全带 200
爬虫·python·api·claude·香港
Web3&Basketball7 小时前
CRM Agent 后训练实战:3 倍更少错误
python·架构·大模型·agent·推理
Rain的Java大神之路8 小时前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
AIFQuant8 小时前
ETF行情API接入踩坑记:从报错到跑通的七个问题
python·金融·区块链·etf·基金
十二同学啊9 小时前
向量数据库:从核心原理到 RAG 与 Java 实战
数据库
蓝速科技9 小时前
会议室门牌公告通知发布选型与落地指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
GPU实战笔记10 小时前
云端 Python 开发:JupyterLab 还是 VS Code Remote-SSH?
python·vs code·jupyterlab·remote-ssh·远程开发