数据库对象
|
前缀
|
命名说明 |
表 |
|
模块名_具体功能实体名,如用户角色表User_Role等
|
列名 |
表名缩写_ |
表名缩写_具体内容,
如用户角色表User_Role的名称:UR_Name
表命名的十个需要注意的地方
|
存储过程
|
sp_
SP_
proc_
usp_ p_
|
单个表直接用表名,并加功能,大小写均可(Add,Edit,Del,Query,Report,Validate等)如:sp_User_Info_Add,多个表sp_User_UserRole_Query等
|
视图
|
vw_
|
vw_直接的内容,比如vw_User_Info,将用户信息连接放在一起供查询,vw_User_Role_Info等(一般是用于查询Query和报表Report两种情形) |
触发器
|
trg_
|
触发器分为行级Row【R】和语句级Statement[【S】,又分为after【A】,before【B】,instead of【I】,方法又有三种Insert【I】,Update【U】,Detele【D】,
所以命名方法一:如:trg_User_Info_RBI(代表语句级,之前,插入操作),有点专业,不知道命名规则的人看不明白。不过这个一旦使用习惯了,看起来真的蛮清楚地。
所以命名方法二:一般情况下,都直接简单写成trg_User_Info_Insert ,如果有更多的说明注释,这个时候可以考虑在后面添加,比如trg_User_Info_Insert _After_Row【或trg_User_Info_Insert _AR】,这样就比较长,看起来不是很爽。字符数量也有可能越界。
|
函数
|
fn_ ufn_ f_
|
fn_功能名称。一些是具体的操作函数,比如字符串处理,fn_SplitStr(参数)处理字符串,如果与模块相关,则fn_模块名称_具体方法 |
主键
|
pk_
|
pk_表名[或缩写]_列名
简洁的写法:
pk_表名,也可,代表这个表的主键,一个表只能有一个主键。
pk_列名,也可,因为列名已经包含表的含义,比如用户信息表的主键定义为:pk_UI_ID
|
外键
|
fk_
|
fk_主表名[或缩写]_列名_引用表名[或缩写]_引用列名【也可以直接写列名】,因为命名字段名时,本身已经包含表的含义。
fk_从表名字段_主表名字段。这个推荐使用。
|
索引
|
idx_或者_idx
|
idx_表名_字段名(一个或多个)的索引,
推荐使用:idx_字段名。因为字段名已经包含表名的缩写。
比如idx_User_Info_UI_Name,建立基于User_Info表的用户名的索引。主键的索引是默认的表名_PK,
注意索引分为两种分法,一是唯一[Unique]与非唯一[NonUnique];
一是聚集[Cluster]与非聚集[NonCluster],可以考虑在索引的后面继续添加,比如idx_UserInfo_UI_Name_Unique_NonCluster
特殊说明,设置主键后,主键本身就是约束(不能为空)同时还创建了一个唯一的索引。在SQL 2005中自动的设置为聚集索引,一个表只能有一个聚集索引]
|
约束 |
ck_ |
约束分为五种类型,又分为列级约束和表级约束,故约束有时直接添加在列后,不单独加在数据表创建后。约束在开发期可以使用,在发布使用期,应去除。
|
写SQL语句时,除了外键约束,都可以直接放在列后,数据库自动命名,图形界面创建时,都可以实现自动命名。 |
1. 默认约束:df_表名_列名,df_列名 |
2.唯一约束:uni_表名_列名,uni_列名
|
3.检查约束:ck_表名_列名,ck_列名 |
4.主键约束:pk_表名_列名,pk_列名,pk_表名均可
设置主键时,省略了约束的语法,UI_ID number(5) not null [constraint pk_User_Info_UI_ID]可以省略 primary key
|
5.外键约束:fk_表名_列名,
fk_从表名字段_主表名字段,这个推荐使用。
|
序列
|
seq_
|
一般其后是表名和字段,简洁的写法是直接加字段名,比如seq_User_Info_UI_ID,简洁写法:seq_UI_ID
|
事务 |
trans_ |
事务的前缀,事务和变量一样一般是在数据库编程中遇到 |
游标 |
crs_ |
游标使用 |
表空间 |
用户名或应用程序名_data\idx\tmp\rbs[_lobs可选] |
@面向用户的专用数据表空间以用户名+_+data命名,专用索引表空间以用户名+_+idx命名,专用临时表空间以用户名+_+tmp,专用回滚段表空间以用户名+_+rbs 命名, @面向应用程序的表空间以应用名+_data/应用名+_idx/应用名+_tmp/应用名+_rbs 命名; @LOB 段数据专用表空间以其数据表空间+_+lobs 命名,如上例中数据表空间为Aud_data,则LOB 段表空间可命名为Aud_data_lobs |