编码标准之命名
阅读导航
一个语句写十遍,居然大部分时候都是不一样的。上网找了一些SQL的开发标准文档,结合项目中的使用,写一些关于自己SQL的开发标准文档。
解编码标准就是一套写代码的指南、规则、约定的集合。编码标准应该足够灵活并且不会给开发造成负担。作为一个开发者来说,新接触一个项目,个人认为最重要的是熟悉当前项目的开发标准。这样不仅有利于快速熟悉已有代码和添加新代码,而且对以后的维护也很重要。
表 Tables、视图 Views
规则:使用Pascal命名法,并以‘s’结尾。
例子:
表:Products,Customers
视图:CurrentProductsLists
如果涉及到一组相关的表,那么就是用’_’
例子:
Products_Asia,Products_Europe
在表和视图命名,还是有一些差异的,比如:以 ‘TB_’、 ‘tbl_’ 作为表名的前缀,以‘VW_’ 作为视图名的前缀。
存储过程 Stored Procedures
规则:sp<应用名>_[<组名>_]<行为><表名/逻辑实例>,多个单词时仍然使用Pascal命名法
例子:
spOrders_GetNewOrders,spProducts_UpdateProduct
也有以 ‘prc_’作为存储过程前缀
触发器 Triggers
规则:TR_<表名>_<行为>
例子:
TR_Orders_UpdateProducts
注:不鼓励使用触发器
索引 Indexes
规则:IX_<表名>_<使用’_’分隔多列>
例子:
IX_Products_ProductID
主键 Primary Keys
规则: PK_<表名>
例子:
PK_Products,PK_Orders
外键 Foreign Keys
规则:FK_<表名1>_<表名2>
例子:
FK_Products_Orderss
Defaults
规则:DF_<表名>_<列名>
例子
DF_Products_Quantity
列 Columns
规则:使用Pascal命名法,涉及到其他表的列的话,就使用<表名>列名
例子:
Customers表:ID,Name
Orders表:ID,CustomerID
脚本命名
规则:
存储过程的脚本名称以 ’sp_‘ 作为前缀
Schema的脚本名称以 ’def_‘ 作为前缀
Conversion脚本名称以 ’conv_‘ 作为前缀(对这个概念还不是很清楚)
Rollback的脚本名称以 ’rbk_‘ 作为前缀
例子:
sp_GetNewOrders,def_Orders,conv_Orders,rbk_Orders
一般规则
命名中不要用空格,避免使用SQL的关键字,如果使用关键字,讲关键字放在’[]‘中(如:[Year]),建议做好所有的列名都是用’[]‘
关于命名规则,如果有补充请留言。
没有任何规约对数据库开发的命名是绝对的,只要适合项目,适合开发者,并被大部分开发者所接受,就是好的标准,
在此谢谢读完这篇博客,有什么写的不对的地方请指正。
有帮助就推荐下,有感想就写下留言,不满意也写下留言,有问题及时更正。