前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[数据库基础]——编码标准之命名

[数据库基础]——编码标准之命名

作者头像
数据分析
发布2018-03-01 16:33:48
7770
发布2018-03-01 16:33:48
举报
文章被收录于专栏:数据分析数据分析数据分析

一个语句写十遍,居然大部分时候都是不一样的。上网找了一些SQL的开发标准文档,结合项目中的使用,写一些关于自己SQL的开发标准文档。

解编码标准就是一套写代码的指南、规则、约定的集合。编码标准应该足够灵活并且不会给开发造成负担。作为一个开发者来说,新接触一个项目,个人认为最重要的是熟悉当前项目的开发标准。这样不仅有利于快速熟悉已有代码和添加新代码,而且对以后的维护也很重要。

表 Tables、视图 Views

规则:使用Pascal命名法,并以‘s’ 或者‘es’ 结尾的复数形式。

例子:

表: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.sql,def_Orders.sql,conv_Orders.sql,rbk_Orders.sql

一般规则

命名中不要用空格,避免使用SQL的关键字,如果使用关键字,讲关键字放在’[]‘中(如:[Year]),建议做好所有的列名都是用’[]‘

 关于命名规则,如果有补充请留言

没有任何规约对数据库开发的命名是绝对的,只要适合项目,适合开发者,并被大部分开发者所接受,就是好的标准,

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-07-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档