[转]数据库表字段命名规范——汇总


原文链接:
数据库命名规范(命名规则)——博客园
数据库表字段命名规范——博客园

引言:数据库设计过程中库、表、字段等的命名规范也算是设计规范的一部分,设计规范更多的是为了确保数据库设计的合理性、项目最终的协调稳定性,命名规范更多的是为了确保设计的正式和统一。制定规范的直接目的是约束行为,最终目的是确保色痕迹的合理统一,命名规范就是希望我们团队中所有人看到设计成果,一眼就可以明白这个数据库、表、字段等等是做什么的、代表的含义是什么。

本文是一篇包含了数据库命名、数据库表命名、数据库表字段命名及SQL语言编码的规范文档,针对研发中易产生的问题和常见错误做了一个整理和修改,为日后涉及到数据库相关的研发工作做好准备。本文是对网上大部分数据库、表、字段命名规范的转载及汇总,同时也加入了自己一部分命名心得。

数据库命名规范#

可以采用26个英文字母 (区分大小写) 和0-9的自然数 (一般不需要) 加上下划线 ‘’ 组成,命名简介明确 (Student_Union),多个单词用下划线 ‘’ 分隔,一个项目一个数据库,多个项目慎用同一个数据库。

数据库表命名规范#

命名规范#

  1. 采用26字母和0-9的自然数(一般不使用)加上下互相 ‘’ 组成,命名简洁明确,**多个单词用下划线 ‘’ 隔开**
  2. 全部小写命名,尽量避免出现大写(因为在我目前使用过的数据库里都不区分大小写)
  3. 禁止使用关键字,如:select、table、show 等等
  4. 表名称不要取得太长(一般不超过三个英文单词)
  5. 表的名称一般使用名词或者动宾短语(实在不行就用拼音吧起码自己能看懂。。。用拼音一定会被同事鄙视的,禁止使用拼音。。。。)
  6. 也要注意单词形式,列如:使用 user ,而不是 users(因为用户表是一个的而不是多个)
  7. 表必须填写描述信息(建表时可以用注释详细写出表细节的作用,不同数据库的注释都不一样)

命名模板#

  1. 模块_+功能点 示例:alllive_log alllive_category
  2. 功能点 示例:live message
  3. 通用表 示例:all_user

错误示范#

  • 冗余
    错误示例:yy_alllive_video_recomment yy_alllive_open_close_log
    说明:去除项目名,简化表名长度,去”yy_”

  • 相同类别表命名存在差异,管理性差
    错误示例:yy_all_live_category yy_alllive_comment_user
    说明:去除项目名,统一命名规则,均为”yy_alllive_”开头即可

  • 命名格式存在差异
    错误示例:yy_showfriend yy_user_getpoints yy_live_program_get
    说明:去除项目名,统一命名规则,动宾短语分离且动宾逻辑顺序统一

字段命名规范#

命名规范#

  1. 采用26字母和0-9的自然数(一般不使用)加上下互相 ‘’ 组成,命名简洁明确**,多个单词用下划线 ‘’ 隔**开
  2. 全部小写命名,尽量避免出现大写
  3. 字段必须填写描述信息
  4. 禁止使用数据库关键字,如:name,time ,datetime password 等
  5. 字段名称一般采用名词或动宾短语
  6. 采用字段的名字必须是易于理解,一般不超过三个英文单词
  7. 在命名表的列时,不要重复表的名称(如:在 user 表中,出现 user_name 字段)
  8. 不要在列的名称中包含数据类型
  9. 字段命名使用完整名称,禁止缩写

命名模板#

  1. 名词 示例:user_id user_name sex
  2. 动宾短语 示例:is_friend is_good
  3. 逻辑主键:id。所有的表必须创建逻辑主键,采用统一的主键便于分库分表以及数据抽取。
  4. 业务主键:code, 必须创建唯一索引。业务主键除了反应真实数据关联,也便于程序进行类型判断。
  5. 外键:columnName_fk,字段名+fk后缀,比如state_fk。
  6. 父主键关联:pid

错误示范#

  • 大小写规则不统一
    错误示例:user_id houseID
    说明:使用统一规则,修改为”user_id”,”house_id”

  • 加下划线规则不统一
    错误示例:username userid isfriend isgood
    说明:使用下划线进行分类,提升可性,方便管理,修改为”user_name”,”user_id”,”is_friend”,”is_good”

  • 字段表示不明确
    错误示例:uid pid
    说明:使用完整名称,提高可读性,修改为”user_id”,”person_id”

SQL语言编码规范#

大小写规范#

  1. 所有关键字最好大写,如:DELETE、UPDATE、INSERT等等
  2. 多有函数及其参数中除用户变量以外的部分大写
  3. 在定义变量时用到的数据类型小写

注释#

注释可以包含在批处理中,在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性,本规范建议:

  1. 注释以英文为主,实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用,为避免后续版本执行过程中发生某些异常错误,建议使用英文注释
  2. 注释尽可能详细、全面创建每一数据对象前,应具体描述该对象的功能和用途,传入参数的含义应该有所说明,如果取值范围确定,也应该一并说明,取值有特定含义的变量(如boolean类型变量),应给出每个值的含义
  3. 注释语法:单行注释、多行注释
    单行注释:注释前有两个连字符(--)对变量、条件子句可以采用该类注释
    多行注释:符号之间的内容为注释内容,对某项完整的操作建议使用该类注释
  4. 注释简洁,同时应描述清晰
  5. 函数注释:
    编写函数文本--如触发器、存储过程以及其他数据对象--时,必须为每个函数增加适当注释,该注释以多行注释为主,主要结构如下:
    CREATE PROCEDURE sp_xxx
posted @   二次元攻城狮  阅读(2226)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
  1. 1 烟花易冷 小柔Channel
  2. 2 红颜如霜 江壹纯
  3. 3 不谓侠 小桃Channel
  4. 4 小小恋歌 新坦结衣
  5. 5 神预言 袁娅维TIARAY
烟花易冷 - 小柔Channel
00:00 / 00:00
An audio error has occurred, player will skip forward in 2 seconds.
点击右上角即可分享
微信分享提示
主题色彩