sql关联命名规范.docx
《sql关联命名规范.docx》由会员分享,可在线阅读,更多相关《sql关联命名规范.docx(6页珍藏版)》请在冰豆网上搜索。
sql关联命名规范
竭诚为您提供优质文档/双击可除
sql关联命名规范
篇一:
sql命名规范
sql设计及命名规范
设计规范:
1.采用有意义的字段名
尽可能地把字段描述的清楚些。
当然,也别做过头了,比如customershippingaddressstreetline1虽然很富有说明性,但没人愿意键入这么长的名字,具体尺度就在你的把握中。
首个字母小写,多个单词的话,每个单词的首个字母要求用大写!
不要用下划线来连接每个单词.2.遵守3nF
标准3nF规定:
a.表内的每一个值都只能被表达一次。
b.表内的每一行都应该被唯一的标识(有唯一键)。
c.表内不应该存储依赖于其他键的非键信息。
3.小心保留词
要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突,比如,写的一
个odbc连接程序里有个表,其中就用了desc作为说明字段名。
后果可想而知!
desc是descending缩写后的保留词。
表里的一个select*语句倒是能用,但我得到的却是一大堆毫无用处的信息。
4.表应避免可为空的列
5.保持字段名和类型的一致性
在命名字段并为其指定数据类型的时候一定要保证一致性。
假如字段在某个表中叫做“agreementnumber”,你就别在另一个表里把名字改成“ref1”。
假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。
记住,你干完自己的活了,其他人还要用你的数据库呢。
命名规范
(所有的名字加上前缀:
bio,在加上大板块前缀,如eRp的表应为:
bioerpbaseuser)
相关前缀:
erp系统:
bioerp电子商务:
bioshop门户网站:
bioco相关子前缀:
基本:
ba(base)客服:
cs人事:
hr表单:
tb
销售:
sa(sale)等等
1.数据库(database)的定义
数据库名称=数据库内容标识(首字大写)2.表(table)的定义
命名应尽量反映存储的数据内容。
表名前缀:
以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识表名称=表名前缀+表内容标识(首字大写)如客服相关联的一系的表以cs作为前缀,
即有表名:
bioerpcshistory,bioerpcscontact,bioerpcsbusiness
符合以下规范:
1.统一采用单数形式,反对bioerpbausers
2.首字母大写,多个单词的话,单词首字母大写,反对bioerpcshistory/bioerpbauseraccout/bioerpbaoRdeR
3.避免中文拼音,反对bioerpbaagentbaoxiao
4.避免下划线连接,反对bioerpba_useraccout(下划线适用oracle数据库)5.避免保留字
3.字段
字段名如userid/username/usertype符合以下规范:
1.首个字母小写,多个单词的话,单词首字母大写,反对userid/userid2.必须有一主键,主键直接用id3.常用的字段name,不直接用name,而是表名+name,如username/ordername4.常用的字段desc,不直接用desc,而是表名+desc,如userdesc/orderdesc5.大写字母前必须包含至少两个小写的字母,反对uid/oid6.避免中文拼音7.避免下划线连接8.避免名称过长9.避免保留字
4.变量名
首个字母小写,多个单词的话,每个单词的首个字母要求用大写,如@employeename5.对象
1.存储过程以sp_为前缀2.触发器以tR_为前缀3.函数以Fn_为前缀4.主键以pk_为前缀5.索引以ix_为前缀
6.前缀后的首字母大写,多个单词的话,单词首字母大写,如bioerpsp_countFee7.所有的关键字的所有字母必须大写,如selectuserid,usernameFRomuser6.命名中其他注意事项
禁止使用中文命名!
命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@)。
命名都采用英文字符,每个单词的首个字母要大写。
7.sql语句的编写规范
数据库中存储过程和触发器中涉及大量的sql语句,对sql语句的编写规范如下:
关键字大写:
在sql语句的编写中,凡是sql语句的关键字一律大写,如:
select、oRdeRby、gRoupby、FRom、wheRe、update、inseRtinto、set、begin、end等
8.内容注释
存储过程,触发器,函数,视图等都应该加上内容注释。
注释格式如下:
--=============================================
--author:
tiger
--createdate:
20xx-4-15
--description:
根据信息完整度生成客户统计数据--update:
20xx-4-30bytiger
--=============================================表的陌生字段应当加上简要的字段说明和内容说明。
“宁波led产业信息网”门户网站
数据库表设计
管理员表(admin):
新闻表(news):
新闻类别表(newstype)
个人会员信息表(user):
主要用来存储会员数据。
个人会员类别表(usertype)
企业信息表(company):
主要用来存储企业基本数据信息。
篇二:
sql数据库命名规范
数据库命名规范
0.字符集合
a-za-z0-9和_共63个
1.所有字条以小写字母开头,所有名词采用单数,所以前缀都要小写
如:
useriduser_id
2.数据库对象命名规范
数据库对象={表,视图(查询),索引,关(sql关联命名规范)联,存储过程(参数查询),函数}
规则:
对象名字由前缀和实际名字组成,他们之间加下划线,不要在对象名的字符之间留空格,长度不超过30字符。
[对象名字]=[前缀]_[实际名字]
前缀:
使用小写字母
表tb
视图vi
索引idx
关联rl
存储过程sp
函数fn
实际名字:
实际名字尽量描述实体的内容,由单词或单词组合,每个单词(第一个除外)的首字母大写,其他字母小写,不以数字和_开头,单词与单词间不用下划线。
[实际名字]=[小写字母开头的单词][大写字母开头的单词]...[大写字母开头的单词
例如:
usernamepassworduserRegistertime
[单词]=[a-z|a-z][a-z|a-z|0-9|_]...[a-z|a-z|0-9|_]
例子:
tb_webuservi_userorder
3.数据库表命名规范
表名由前缀(tb)接_接实际名字组成
[表名]=tb_[实际名字]
4.字段命名规范
[字段名]=[表名简称]_[实际名字]
现在约定,[表名简称]=[表名]的[实际名字]部分的各个单词首字母安顺序组合
如:
tb_userinfomation应用此规则,其表名简称为ui
5.视图命名规范
[视图]=vi_[实际名字]
6.存储过程命名规范
[存储过程名]=sp_[实际名字]_[操作名字]
[操作名字]=[insert|delete|update|calculate|confirm]
例如:
sp_userstate_update
7.索引命名规范
[索引]=idx[0-9]_[表名简写]_[实际名字]
例子:
idx0_uinfo_age
注:
[表名简写]不同于上面的[表名简称],它采用下面的字串简化规则。
参见最后9。
8.关联命名规范
[关联]=rl_[表名简写]_[表名简写]
例子:
rl_uinfo_msg
9.数据库设计文档规范
--表名:
tb_userinformation
--作者:
xxx
--日期:
20xx-12-17
--版本:
1.0
--描述:
保存用户资料
--具体内容:
(以表格形式)
篇三:
标准规范-数据库命名规范
数据库命名规范
1概述
1.1基本原则
以大小写敏感编写sql语句。
尽量使用unicode数据类型。
优先使用连接代替子查询或嵌套查询。
尽量使用参数化sql查询代替语句拼接sql查询。
禁止使用[拼音]+[英语]的方式来命名sql对象或变量。
尽量使用存储过程代替sql语句。
1.2基本规范
建议采用pascal样式或camel样式命名数据库对象。
大写t-sql语言的所有关键字,谓词和系统函数。
2命名规范
在一般情况下,采用pascal样式或camel样式命名数据库对象,使在开发基于数据库应用程序的时候通过oRm工具生成的数据访问代码不需要调整就符合程序开发语言(比如c#)命名规范。
另外,关系型数据库同xml结合得越来越紧密,规范的命名越来越重要。
在实际数据库开发过程中,如果需求方已经提供数据库设计方案,建议以提供的方案为准;在原有数据库上进行升级开发时,在可行的情况下可适当做出设计调整以符合编程规范。
2.1对象命名
2.1.1数据库
第一种方式,采用pascal样式命名,命名格式为[项目英文名称]。
示例:
adventureworks
第二种方式,采用pascal样式命名,命名格式为[项目英文名称]+db。
示例:
adventureworksdb
biztalkRuleenginedb
建议采用第一种方式。
2.1.2数据库文件
数据文件:
[数据库名称]+_data.mdf
日志文件:
[数据库名称]+_log.ldf
示例:
adventureworks_data.mdf
adventureworks_log.ldf
2.1.3关系型数据仓库
采用pascal样式命名,命名格式为[项目英文名称]+dw。
示例:
adventureworksdw
2.1.4数据架构
除sqlserver系统定义的数据架构外,新建架构采用pascal样式命名,命名格式为[架构名]。
示例:
humanResources
production
对数据库对象table,View,procedure,Function等使用数据架构进行归类。
在sqlserver2000中dbo为默认架构。
2.1.5数据表
采用pascal样式命名,命名格式为[表名]。
示例:
employee
product
表名以英文单数命名,主要是参考sqlserver20xx示例数据库,个人理解不采用复数是为了更好的使用oRm工具生成符合编程规范的代码(比如c#)。
示例:
使用product
而不是products
2.1.6数据视图
视图名称采用pascal样式命名,命名格式为v+[视图名称]。
示例:
vemployee
vsalesperson
2.1.7数据列
列名称命名采用英文单词或缩写,英文单词只来自于具体业务定义,尽量表达清楚含义。
采用pascal样式命名,命名格式为[列名称]。
示例:
addressid
postalcode
尽量避免使用拼音命名,如果不可避免,对于比较短的列名,采用拼音全写,如果拼音列名比较复杂,可以采用首个字用全拼,其它字用首字母大写表示。
示例:
福州Fuzhou
经营方式jingyFs
2.1.8存储过程
建议采用匈牙利样式命名,命名格式为[存储过程名称]。
示例:
uspgetuser
uspadduser
备注:
在sqlserver20xx示例数据库中使用camel样式命名。
2.1.9函数
自定义函数采用匈牙利样式命名,命名格式为[函数名]。
示例:
ufngetdate()
2.1.10用户定义数据类型
采用pascal样式命名,命名格式为[自定义数据类型名称]。
示例:
Flag
namestyle
2.1.11dml触发器
dml触发器是当数据库服务器中发生数据操作语言(dml)事件时要执行的操作。
dml事件包括对表或视图发出的update、inseRt或delete语句。
根据事件不同命名规则使用前缀进行区分,格式为[u|i|d]+[表名|视图名]
示例:
uemployee
iemployee
demployee
另外一种方式为,
aFteR触发器:
tR_表名_[后面插入加i,修改加u,删除加d]。
insteadoF触发器:
tR_表名或视图名_oF[后面插入加i,修改加u,删除加d]
2.1.12ddl触发器
响应各种数据定义语言(ddl)事件而激发。
这些事件主要与以关键字cReate、alteR和dRop开头的transact-sql语句对应。
执行ddl式操作的系统存储过程也可以激发ddl触发器。
采用camel样式命名,命名单词能够描述ddl触发器功能。
示例:
cReatetRiggeRsafety
ondatabase
FoRdRop_table,alteR_table
as
pRintyoumustdisabletrigger"safety"todroporaltertables!
Rollback;
另外一种方式为添加ddl前缀,
示例:
cReatetRiggeR[ddldatabasetriggerlog]
ondatabase
FoRddl_database_leVel_eVents
as