数据库命名规则

一.数据库:

1. 基本命名规则

 

表 1. 基本数据库对象命名


数据库对象


前缀


表 (Table)

字段(Column)

视图 (View)

存储过程 (Stored procedure)

触发器(Trigger)

索引(Index)

主键(Primary key)

外键(Foreign key)

Check 约束(Check Constraint)

Default 约束(Default Constraint)

用户定义数据类型 (User-defined data type)

用户定义函数 (User-defined function)


tbl_

viw_

prd_

trg_

idx_

pk_

fk_

ck_

df_

udt_

fun_

 

2. 关于命名的约定

 

变量 (T-SQL 编程中声明的变量 ) 、过程 ( 存储过程或触发器等 ) 、实体 ( 表、字段 ) 应该根据他们所代表的实体意义和进程作用来命名:

表 2. 好的命名 和 不好的命名 范例


好的命名


不好的命名


@CurrentDate

@ActivityCount

@EquipmentType

prCalculateTotalPrice


@D

@ActNum

@ET

@prRunCalc

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. 数据库命名

根据项目的实际意义来命名

4. 表命名

“tbl_”+ 名称(名称尽量使用英文单词,每个单词的首字母大写)

5. 字段命名

表名(去掉前缀)缩写 + ”_”+ 属性名称(每个单词的首字母大写)

缩写:五笔拆字法取字母

一个单词:取前四个字母

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

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

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

6. 主键命名

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

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

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

e.g.: Constraint pk_StudentCourse Primary key(Stud_Id, Cour_Id)

主键pk_StudentCourse,包含了两个字段 Stud_Id 和 Cour_Id

7. 外键命名

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

8.Check 约束命名

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

e.g.: ck_tbl_Company_Comp_Zip

9.Default 约束命名

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

e.g.: df_tbl_News_News_Hit

10. 触发器命名

“ trg_ ” + “ 表名 ” + “ 后缀 ”

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

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

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

11. 存储过程命名

命名的规则:见名知意.

“ prd_ ” + “ 说明 ”

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

e.g.:prd_GetProductById

12. 存储过程中参数的命名

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

二 .程序设计

以微软 3.0文档为主

1. 项目名称

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

e.g.:qikingYellowPage

2. 页面命名

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

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

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

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

页面传值

“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个字符。

[对象名字]= [前缀] _ [实际名字]

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


对象


前缀



tb


视图


vi


索引


idx


关联


rl


存储过程


sp


函数


fn


触发器


tr

实际名字:尽量能够描述实体的内容,由单词或单词组合组成。采用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等等),做到见名释义;

时间: 2024-10-12 16:01:27

数据库命名规则的相关文章

数据库的命名规则

数据库的命名规则 数据库开发时数据库.表.字段.视图.触发器.存储过程.变量名.主键.外键.索引等的命名规则. 1) 数据库(Database)    数据库名称 = 数据库内容标识(首字大写). 2) 表(Table)   命名应尽量反映存储的数据内容.    表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识 .   表名称 = T +‘_’+ 表名前缀+‘_’+ 表内容标识(首字大写).数据库中不论是表名还是字段名,都一律用英文,不准出现其它语言:且保留原来的 字段名,

MS SQL开发命名规则

下面的SQL开发命名规则是我自己开发时总结.整理出来的,以后的开发过程中将不断完善.修改.也希望各位网友指点.批判. 纲领: SQL 语句关键字全部大写, 命名规则建议使用Pascal Case 或 每个单词使用下划线_隔开,不建议全部使用小写.尽量少使用特殊字符比如数字.空格等 使用英文或英文缩写,不建议使用拼音.尽量见名知意. 1:    数据库名命名规则 (1.1)  数据库名用产品名称或项目名称   尽量用名词,见名知意 :MyAssistant  我的个人助手            

项目命名规则

命名规则 这里规定并说明了设计,编写代码时的命名规则.所有开发人员必须无条件 遵守,并按照这个命名规则来命名.如有不足,不合理请提出来,项目开始 之前可以更正.※本文没有特别声明的英文字母,和阿拉伯数字全是半角. 1.基本设计工程 1.1.画面命名 项目代号[3位] + 模块代码[3位] + 页面数字[2位] 共 8位 项目代号[3位]:THP[TongshidaHomePage] 模块代码[3位]:A01[首页] B01[公司简介],B02[公司沿革], 页面数字[2位]:THPB0101[公

html页面的CSS、DIV命名规则

CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:friendlink 页脚:foote

文件命名规则

网站文件命名规则 关于文件的命名,看似无足重轻,但实际上如果没有良好的命名规则进行必要的约束,一味的乱起名称,最终导致的结果就是整个网站或是文件夹无法管理.所以,命名规则在这里同样非常重要. 需要特别注意的时候,网站文件或文件夹命名请尽量避免使用中文字符命名. 文件的命名 以最少的字母达到最容易理解的意义. 索引文件统一使用index.html文件名(小写) index.html文件统一作为"桥页",不制作具体内容,仅仅作为跳转页和meta标签页.主内容页为main.html. 按菜单

实用的html页面的CSS、DIV命名规则

CSS命名规则 头:header 内容:content/containe 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wrapper 左右中:left right center 登录条:loginbar 标志:logo 广告:banner 页面主体:main 热点:hot 新闻:news 下载:download 子导航:subnav 菜单:menu 子菜单:submenu 搜索:search 友情链接:friendlink 页脚:foote

PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键

PowerDesigner 12小技巧-pd小技巧-pd工具栏不见了-pd修改外键命名规则-pd添加外键 1. 附加:工具栏不见了 调色板(Palette)快捷工具栏不见了PowerDesigner 快捷工具栏 palette 不见了,怎么重新打开,找回来呢 上网搜索了一下"powerdesigner 图形工具栏",找到了找回PowerDesigner工具栏palette的方法Tools(工具栏)customsize toolbars(自定义工具栏)palette(调色板)勾选 2.

数据库命名规范

1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡.简单来说,遵守3NF 标准的数据库的表设计原则是:“One Fact in One Place”即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解.表之间的关系通过外键相连接.它具有以下特点:有一组表专门存放通过键连接起来的关联数据. 举例:某个存放客户及其有关定单的3NF 数据

MySQL数据库命名及设计规范

1.设计原则 1) 标准化和规范化 数据的标准化有助于消除数据库中的数据冗余.标准化有好几种形式,但 Third Normal Form(3NF)通常被认为在性能.扩展性和数据完整性方面达到了最好平衡.简单来说,遵守3NF 标准的数据库的表设计原 则是:"One Fact in One Place"即某个表只包括其本身基本的属性,当不是它们本身所具有的属性时需进行分解.表之间的关系通过外键 相连接.它具有以下特点:有一组表专门存放通过键连接起来的关联数据. 举例:某个存放客户及其有关定