SQLServer命名规范

基本命名

数据库名

  • 采用Pascal Case命名规范
  • 使用产品或项目名字命名
  • 禁止使用特殊符号,如数字、下划线、空格之类
  • 禁止使用缩写

如:AdventureWork

数据表名

  • 采用Pascal Case命名规范
  • 采用复数形式且复数仅添加在最后一个单词上
  • 禁止使用特殊符号,如数字、下划线、空格之类
  • 禁止使用缩写
  • 采用名词性质的单词全拼
  • 表名称不超过3个单词

如:ProductsUsersUserRolesBookAuthors...

表字段名

  • 采用Pascal Case命名规范
  • 禁止与表名重复
  • 禁止使用数据类型作为前缀
  • 禁止使用特殊符号,如数字、下划线、空格之类
  • 禁止使用缩写

常用对象缩写

SP 存储过程
TR 触发器
FN 函数
PK 主键
IX 索引

表字段命名

表中字段使用名词性质的单词全拼
采用一个或多个单词组成且首字母大写
表自增主键统一采用 ID
表唯一主键统一采用 表名+ID
表外键名称采用 主表名+列名
表字段为布尔类型,统一使用诸如IsHas前缀
表字段表示当前状态,统一使用Status且默认值为0,在删除时仅改变其状态值。
表字段表示备注描述等信息,统一使用Remark
表字段表示名称时,应采用表名+Name
表字段为日期时间,默认为系统时间,一律使用DateTime作为后缀。
表中统一添加创建时间和修改时间字段,统一使用CreatedAtUpdatedAt

存储过程命名

规范的命名可提高开发和维护的效率,存储过程参考以下命名规范,建议采用动词+表名来描述操作类型。

存储过程命名包含项目

  • 操作方式
    如典型的CURD代表的增删改查操作
  • 操作对象
    以表名表示单条数据
    表名+List表示多条数据
    Data表示非单表数据
  • 操作条件
    使用By表示操作条件关键字
    若条件个数小于等于2个则使用By+条件,如GetUserInfoByUserIDGetUserListByClubID
    若条件个数大于2个则使用BySome,如GetUserListBySome
  • 特殊意义
    For表示特殊意义关键字,多种条件可采用ForAForBFor...,如GetUserListBySomeForPage

存储过程命名语法规范

[proc][MainTableName]By[FieldName(Optional)][Action]
  • [proc]
    存储过程前缀,系统存储过程前缀使用sp_,用户存储过程前缀可使用uspproc...
    注意:请勿自定义存储过程时使用sp_前缀,游戏SQLServer会优先查找系统存储过程,此命名会造成存储过程缓慢的问题。
    例如:
    procClientByCoNameSelect
    procClientByClientIDSelect
  • [MainTableName]
    存储过程主要访问的对象
  • [FieldName(optional)]
    可选字段名的条件子句,如proc_UserInfoByUserIDSelect
  • [Action]
    行为动词后缀,即存储过程将要执行的任务。

推荐行为动词后缀
Select 返回一条或多条记录,如procClientRateSelect
Insert 插入数据,如procEmailMergeInsert
Update 更新数据
Save 插入和更新数据
Delete 删除数据
Create 更新表数据,如删除并删除 DropAndCreate
Output 返回输出参数或0
Validate 验证操作
Get 获取记录

其他常见行为动词后缀

Oper 包含增删改查操作
Join 加入
Add 添加
Get 获取
Set 设置

欢迎推荐更好的命名规范方案~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容