MySQL命名规范参考三(T-SQL道听途说·详版)

https://blog.csdn.net/zheng963/article/details/52212335/

结构化查询语言(SQL)是有美国国家标准协会(ANSI)和国际标准化组织(ISO)定义的标准,而Transact-SQL是Microsoft公司对此标准的一个实现。

一.基本数据库对象命名一览:

字段命名 :表名_属性名

缩写:

一个单词:取前四个字母

二个单词:取每个单词的前两个字母

三个单词:取前两个单词的首字母和第三个单词的前两个字母。

四或四个以上:取前三个单词的首字母和最后一个单词的首字母。    


主键命名:

主键是针对一个表的, 而不是针对一个字段,因为主键是唯一的,一个表只能有一个主键。

 a. 一般主键命名: 主键的命名为 pk_TableName。

 b. 联合主键: ” pk_ ” + “ 字段名 ”

比如,Constraint pk_StudentCourse

 Primary key(Stud_Id, Cour_Id) 主键pk_StudentCourse,包含了两个字段 Stud_Id 和 Cour_Id  

外键命名:   fk_外键所在的表名_外键引用的表名

因为外键所在的表为从表,所以上式可以写为 fk_ 从表名_主表名 。

Check 约束命名:

“ ck_ ”  + “ 表名 ” “ _ ” + “ 字段名 ”

比如, ck_tbl_Company_Comp_Zip 

Default 约束命名

“ df_ ”  + “ 表名 ” “ _ ” + “ 字段名 ”e.g.: df_tbl_News_News_Hit

触发器命名: “ trg_ ” + “ 表名 ” + “ 后缀 ” 

a. 前缀- “ trg_ ” , 描述了数据库对象的类型。 

b. 基本部分,描述触发器所加的表。 

c. 后缀(_I、_U、_D),显示了修改语句(Insert, Update及Delete)    

存储过程命名: 命名的规则:见名知义. “ prd_ ” + “ 说明 ” 

说明:动宾结构(动词+名词)    

比如,prd_GetProductById

存储过程中参数的命名:

与其对应的字段名相同,第一个单词小写. 

二、见名知义

根据意义和进程作用来命名

a. 动宾形式:动词放前面,名词放后面。eg:prd_GetProductById

b. 不要使用计算机术语,尽量使用面向公司业务的术。

c. 采用缩写

如果完全根据上一条的要求,那么根据业务描述的过程名可能会变得很冗长,比如下面:

prCountTotalAmountOfMonthlyPayments ( 计算每月付费的总金额)

prGetParentOrganizationalUnitName ( 获取上级单位名称)

Ø 如果可以在字典里找到一个词的缩写,就用这个做为缩写,比如:Mon(Monday)、Dec(December)

Ø 可以删除单词元音(词首字母除外)和每个单词的重复字母来缩写一个单词。比如:Current

= Crnt、Address = Adr、Error = Err、Average = Avg

Ø 不要使用有歧异的缩写(一般是语音上的歧义)。比如b4(before)、xqt(execute),4tran(Fortran)

三、程序设计

以微软 3.0文档为主

1. 项目名称

“公司名称 ” + “项目实际意义名称 ”

e.g.:qikingYellowPage

2. 页面命名

规则 :每个单词的首字母大写,因为它是类。

a. 父页面——使用名词进行描述

b. 子页面 _列表—— “List” + “父页面 ”

c. 子页面 _详细—— “Show”+ “父页面 ”

3 页面传值

“Id_” + “页面名称 ”

4. 错误页面命名

Error.aspx

5. 用户登录

UserLogin.aspx

6. 文件夹命名

单词首字母大写

单数或复数 ,根据实际需要而定 .

注 :其中一部分参考了 张子阳的《数据库对象命名参考》 Second Edition http://www.cnblogs.com/JimmyZhang/archive/2007/08/30/875504.html

根据个人的习惯增加、修改了一些。

1 概述

编写此数据库命名规范的目的,就是提供较为形象、易于阅读、简单明了和原则性一致的数据库命名方法。从而能够方便项目相关人员直观的了解数据库中的所有对象表示的意义,方便大家交流。

这里主要描述以下的7类常见的数据库对象:

1. 表(Table)

2. 字段(Fields)

3. 视图(Views)

4. 存储过程(Stored  Procedures)

5. 索引(Indexes)

6. 关联(Relationships)

7. 触发器(Trigger)

这一部分描述了数据库命名规范的一般性规则。

1.1 字符集合

1. 26个小写字母(a-z)

2. 26个大写字母(A-Z)

3. 10个数字字符(0-9)

4. 下划线(_)

1.2 数据库对象

对象名字由前缀和实际名字组成,前缀和实际名字之间加下划线。

注意:不要在对象名的字符之间出现空格,长度不要超过30个字符。

[对象名字]=

[前缀] _ [实际名字]

前缀缩写规则:使用小写字母,针对不同的数据库对象,以下表规范命名。


实际名字:尽量能够描述实体的内容,由单词或单词组合组成。采用Camel规则书写,即:第一个单词的首字母小写,而后的每个单词的首字母都要大写。

注意:不要以数字和下划线开头,单词之间也不要用下划线分隔。还要避免使用保留关键字和中文拼音,例如:ui_pk_userId,ui_firstName,ui_lastName和tb_userInfo

1.3 SQL语句书写规则

SQL语句中所有保留关键字均用大写字母书写。

本部分详细描述了ITSM系统中可能涉及的数据库对象的命名规则。

1.1 表命名规范

[表名]=tb_[实际名字]

对于表来说,有如下的规则:

1. 使用前缀tb;

2. 在表名中尽量少使用复数;

3. 实际名字部分不要使用下划线;

4. 实际名字部分尽量避免缩写,能明确表明其含义的除外,如:tb_userInfo;

另外,对于从其它数据库同步获得数据的表,除了以上的命名规则外,还要在[实际名字]后加下划线,然后再加[数据来源的数据库名]。

如:tb_assetInfo_croom,表示资产信息表来源于CRoom数据库。

1.2 字段命名规范

[字段名]=[表名简写]_[字段实际名字][字段数据类型缩写]

表名简写部分,由表名的实际名字部分的各个单词的小写首字母顺序组合构成。

1. 如果字段是主键则:[字段实际名字]=pk+_+[实际名字];

2. 如果字段是外键则:[字段实际名字]=fk+_+[实际名字];

3. 如果字段是组合键则:[字段实际名字]=ck+_+[实际名字];

如:ui_pk_userId, ui_lastName。

另外,对于数据来源于其它数据库的字段,在上述的字段命名规范的最后加下划线,然后再加[数据来源的数据库名]。

如:ai_assetName_croom,表示资产名称字段来源于CRoom数据库。

注意:如果在多个表中出现表达意义类似的或者相同的字段,这些字段必须具有相同的字段属性。如:text类型,具有相同的最大长度设置。

[视图名]=vi_[实际名字]

1. 使用vi作为前缀;

2. 实际名字尽量体现视图的功能,并且用下划线分隔列出所有相关的表名;

3. 其它命名要求与表的命名要求一致;

1.1 存储过程命名规范

[存储过程名]=sp_[实际名字]

1. 使用sp作为前缀;

2. 实际名字中要体现这个存储过程所要进行的操作(Update,Delete,Insert

Into等);

3. 对于存储过程来说,实际名字组成由操作和表名构成;

如:sp_updateUserInfo。

1.2 索引命名规范

[索引名]=idx[0-9]_[表名简写]_[实际名字]

1. 使用idx作为前缀;

2. [0-9]用来区分表的多个索引;

3. [实际名字]是指相关的字段或索引含义;

如:idx0_ui_firstName。

1.3 关联命名规范

[关联名]=rl_[主表名简写]_[从表名简写]

关联关系是指数据库表间的外键关系。

如:rl_loginInfo_userInfo

1.4 触发器命名规范

[触发器名]=tr_[实际名字]

1. 使用tr作为前缀;

2. 实际名字中要描述触发器的操作(Insert,Update等等);

3. 对于触发器来说,实际名字由操作和对应的表名构成;

1.5 函数命名规范

[函数名]=fn_[实际名字]

1. 使用fn作为前缀;

2. 实际名字描述该函数具体行为(get,set等等),做到见名释义;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343