数据库设计命名参考规范

来源:互联网 发布:数据的最小单位是 编辑:程序博客网 时间:2024/04/30 14:22

总则:不管你用什么命名方法,所有的命名规则一定要统一,不要一会儿中文拼音一会儿英文等等。
1、采用英文单词或英文短语(包括缩写)作为名称,不能使用无意义的字符或汉语拼音。
2、每个数据库对象表,视图,字段,存储过程,不要用任何数据库的关键词作为名称。凡是能写注释的地方,应该写上注释,以便查看。
3、名称应该清晰明了,能够准确表达事物的含义,最好可读,遵循“见名知意”的原则。
4、对长度也要有限制,最好不要超过30个字符,在PD设置生成时,部分数据库对象会自动截取到30位。
5、所有名称的字符范围为:A-Z, a-z, 0-9 和_(下划线)。不允许使用其他字符作为名称。
6、注释分单行和双行,在数据库对象如函数,存储过程,视图等,都需要在页头添加注释,比如:
/* 功能描述:用户信息的登录验证
创建人:XX 
创建日期:2010-5-5 
修改备注1:按照日期,修改内容,人名 
修改备注2:比如:2010-5-6 修改用户的角色问题 AJIN */ 

数据库对象前缀命名说明表 

写法一:模块名_具体功能实体名,如用户角色表User_Role等,

写法二:直接写成UserRole,不用"_"来区分,看习惯和所用数据库。

列名表名缩写_

写法:表名缩写_具体内容

如用户角色表User_Role的名称:UR_Name,

如果是单个的表名,比如区域表Area,则可以写成Area_ID。

表命名的十个需要注意的地方

存储过程

sp_

up_

proc_

单个表直接用表名,并加功能,大小写均可(Add,Edit,Del,Query,Report,Validate等)

视图vw_vw_直接的内容,一般是用于查询Query和报表Report两种情形触发器trg_

方法一:trg_表名_方法名_[之前之后等]

比如:trg_User_Info_Insert

方法二:

触发器分为行级Row【R】和语句级Statement[【S】,

又分为after【A】,before【B】,instead of【I】,

方法又有三种Insert【I】,Update【U】,Detele【D】,

所以:如:trg_User_Info_RBI(代表语句级,之前,插入操作),有点专业,不知道命名规则的人看不明白。

函数fn_
f_fn_功能名称。一些是具体的操作函数,比如字符串处理,fn_SplitStr(参数)处理字符串,如果与模块相关,则fn_模块名称_具体方法主键pk_

pk_表名[或缩写]_列名

简洁的写法:

写法一:pk_表名,

 写法二:pk_列名,因为列名设计时已经包含表的含义

外键fk_

fk_从表名字段_主表名字段。这个推荐

索引idx_

idx_表名_字段名(一个或多个)【可以在其后加U或者C,规则同触犯器】

推荐使用:idx_字段名

一是唯一Unique【U】与非唯一NonUnique【N】

一是聚集Cluster【C】与非聚集NonCluster【N】

约束ck_1. 默认约束:df_表名_列名,df_列名

2.唯一约束:uni_表名_列名,uni_列名

3.检查约束:【ck_列名】,【ck_表名_列名】

4.主键约束:【pk_表名】,【pk_列名】

5.外键约束:fk_表名_REFERENCE_表名

序列seq_

写法1:seq_User_Info(因为每个表一般只有一个序列)

写法2:seq_UI_ID (因为表名含义已经包含在字段中)

写法3:seq_User_Info_UI_ID(表名加字段名)

事务trans_trans_游标crs_crs_表空间

_data

_idx

_tmp

_rbs

@面向用户或者应用名,这个以用户名或者应用名加后缀组成

数据表空间以用户名+_+data命名

索引表空间以用户名+_+idx命名

专用临时表空间以用户名+_+tmp命名

专用回滚段表空间以用户名+_+rbs 命名

特殊处理:
@LOB 段数据专用表空间后面再加_lobs 命名

 
 
原创粉丝点击