#1
zuc_SQL Server 2000建议命名约定-数据类型
zuc_SQL Server 2000建议命名约定-数据类型
SQL server 2000的标识符:1~128个字符;临时表名1~116个字符。
SQL server 7.0以前的版本,标识符长度限制在30个字符以内。
标识符的第一个字符必须是:大、小写字母、下划线(底杠_)、@、井号(#)。
其中,@和#在TSQL中有专门的含义。
接下来的字符必须是符合Unicode2.0标准的字母,或者是十进制数字,或是特殊字符@, #, _, $。
标识符不能与任何SQL Server保留字匹配。标识符不能包含空格,或别的特殊字符。
SQL server 7.0以前的版本,标识符长度限制在30个字符以内。
标识符的第一个字符必须是:大、小写字母、下划线(底杠_)、@、井号(#)。
其中,@和#在TSQL中有专门的含义。
接下来的字符必须是符合Unicode2.0标准的字母,或者是十进制数字,或是特殊字符@, #, _, $。
标识符不能与任何SQL Server保留字匹配。标识符不能包含空格,或别的特殊字符。
数据类型 存储字节数 最小值 最大值 备注
字符串
char 8000个字符 定长,末尾补齐空格
varchar 8000个字符 变长,多占2个字节记录长度
text 2GB
Unicode字符串
Nchar 一个字符占2个字节
Nvarchar
Ntext
日期和时间
datetime 8 1753-1-1 9999-12-31 精度3.33微秒
smalldatetime 4 1900-1-1 2079-6-6 精度1分钟
整数
int 4 -2.1E9 2.1E9
smallint 2 -32768 32767
tinyint 1 0 255
bigint 8 -9.2E18 9.2E18
bit 1bit 0 1 一般代表逻辑真和假,不能为null
近似数 浮点数
real 精度7位 单精度
float 精度15位 双精度
精确数 定点数
decimal 最大精度38位 decimal(scale,precision)不含小数点
(numeric)
货币型
money 8 -9.2E14 9.2E14 4位小数 (922万亿)
smallmoney 4 -2.1E5 2.1E5 4位小数 (21万)
二进制型
binary 8000字节
varbinary 8000字节
image 2GB
特殊型
时间戳 8字节 timestamp
唯一标识 16字节 uniqueidentifier
变体数据类型 sql_variant
光标 cursor
表 table
1字节(byte)=8位(bit)
#2
zuc_SQL Server 2000建议命名约定-变量
字符串
char 8000个字符 定长,末尾补齐空格
varchar 8000个字符 变长,多占2个字节记录长度
text 2GB
Unicode字符串
Nchar 一个字符占2个字节
Nvarchar
Ntext
日期和时间
datetime 8 1753-1-1 9999-12-31 精度3.33微秒
smalldatetime 4 1900-1-1 2079-6-6 精度1分钟
整数
int 4 -2.1E9 2.1E9
smallint 2 -32768 32767
tinyint 1 0 255
bigint 8 -9.2E18 9.2E18
bit 1bit 0 1 一般代表逻辑真和假,不能为null
近似数 浮点数
real 精度7位 单精度
float 精度15位 双精度
精确数 定点数
decimal 最大精度38位 decimal(scale,precision)不含小数点
(numeric)
货币型
money 8 -9.2E14 9.2E14 4位小数 (922万亿)
smallmoney 4 -2.1E5 2.1E5 4位小数 (21万)
二进制型
binary 8000字节
varbinary 8000字节
image 2GB
特殊型
时间戳 8字节 timestamp
唯一标识 16字节 uniqueidentifier
变体数据类型 sql_variant
光标 cursor
表 table
1字节(byte)=8位(bit)
#2
zuc_SQL Server 2000建议命名约定-变量
为了提高你的代码的质量和可读性,你要做的最重要的工作
就是在数据库中采用标准来命名变量、过程和对象。
命名变量和对象需要考虑的细节:实体描述,名称长度,缩写,名字格式化。
关于缩写:尽量使用单词的缩写;从每个单词中删掉元音字母(除每个单词的开头)
和连续出现的字母。你也可以使用几个单词的第一个字母,或一个单词的前几个字母,
但是必须保证你所使用的名字不会和其他的常用缩写相混淆。
就是在数据库中采用标准来命名变量、过程和对象。
命名变量和对象需要考虑的细节:实体描述,名称长度,缩写,名字格式化。
关于缩写:尽量使用单词的缩写;从每个单词中删掉元音字母(除每个单词的开头)
和连续出现的字母。你也可以使用几个单词的第一个字母,或一个单词的前几个字母,
但是必须保证你所使用的名字不会和其他的常用缩写相混淆。
变量:建议变量名为8到15个字符,一般限制在3个单词以内。
数据类型前缀
数据类型 建议前缀 示例
char chr @chrFirstName
varchar chv @chvActivity
nchar chrn @chrnLastName
nvarchar chvn @chvnLastName
text txt @txtNote
ntext txtn @txtnComment
datetime dtm @dtmTargetDate
smalldatetime dts @dtsCompletionDate
tinyint iny @inyActivityId
smallint ins @insEquipmentTypeId
integer int @intAsset
bigint inb @inbGTIN
decimal或numeric dec @decProfit
real rea @reaVelocity
float flt @fltLength
smallmoney mns @mnsCost
money mny @mnyPrice
binary bin @binPath
varbinary biv @bivContract
image img @imgLogo
bit bit @bitOperational
timestamp tsp @tspCurrent
uniqueidentifier guid @guidOrderId
sql_variant var @varprice
cursor cur @curInventory
table tbl @tblLease
char chr @chrFirstName
varchar chv @chvActivity
nchar chrn @chrnLastName
nvarchar chvn @chvnLastName
text txt @txtNote
ntext txtn @txtnComment
datetime dtm @dtmTargetDate
smalldatetime dts @dtsCompletionDate
tinyint iny @inyActivityId
smallint ins @insEquipmentTypeId
integer int @intAsset
bigint inb @inbGTIN
decimal或numeric dec @decProfit
real rea @reaVelocity
float flt @fltLength
smallmoney mns @mnsCost
money mny @mnyPrice
binary bin @binPath
varbinary biv @bivContract
image img @imgLogo
bit bit @bitOperational
timestamp tsp @tspCurrent
uniqueidentifier guid @guidOrderId
sql_variant var @varprice
cursor cur @curInventory
table tbl @tblLease
#3
zuc_SQL Server 2000建议命名约定-数据库对象
zuc_SQL Server 2000建议命名约定-数据库对象
建议: 数据库对象前缀
数据库对象 建议前缀 示例
表 无 Activities
列 无 ActivityId
视图 v v_Activities
存储过程 pr pr_CompleteOrder
触发器 tr tr_Order_IU
默认值 df df_Today
规则 rul rul_CheckZIP
索引 ix ix_LastName
主键 pk pk_ContactId
外键 fk fk_Order_OrderType
用户定义数据类型 udt udt_Phone
用户定义函数 fn fn_DueDates
表 无 Activities
列 无 ActivityId
视图 v v_Activities
存储过程 pr pr_CompleteOrder
触发器 tr tr_Order_IU
默认值 df df_Today
规则 rul rul_CheckZIP
索引 ix ix_LastName
主键 pk pk_ContactId
外键 fk fk_Order_OrderType
用户定义数据类型 udt udt_Phone
用户定义函数 fn fn_DueDates
exists ( select * from sysobjects where name = ' ' and xtype = ' ' )
exists ( select * from pubs..sysobjects where name = ' ' and xtype = ' ' )
exists ( select * from pubs..sysobjects where name = ' ' and xtype = ' ' )
对象名称 xtype值 type值
C C
D D
F F
用户定义函数 FN FN
IF IF
存储过程 P P
主键 PK K
系统表 S S
TF TF
触发器 TR TR
用户表 U U
UQ K
视图 V V
X X
C C
D D
F F
用户定义函数 FN FN
IF IF
存储过程 P P
主键 PK K
系统表 S S
TF TF
触发器 TR TR
用户表 U U
UQ K
视图 V V
X X
#4
zuc_SQL Server 2000建议命名约定-触发器与存储过程
zuc_SQL Server 2000建议命名约定-触发器与存储过程
触发器的命名:
前缀(tr)+主内容+后缀(Insert, Update, Delete)
前缀(tr)+主内容+后缀(Insert, Update, Delete)
例: tr_OrderItemTotal_D
tr_order_IU
tr_order_IU
另外: instead-of触发器,一般用itr作为前缀
例:itr_order_D
存储过程的命名:名称的长度一般限制在20~40个字符之间较易辨认。
前缀(pr)+动词+名词
或:前缀(pr)+名词 +动词
前缀(pr)+动词+名词
或:前缀(pr)+名词 +动词
例: pr_GetEquipment
pr_LeaseClose
pr_LeaseClose
强烈建议:
数据库中不要包含以tmp_, temp_, err_, bak_ 开头的对象名!
要把这些开头的对象名留给临时文件或备份文件,
即当这些对象被删除时,不会影响数据库的完整与安全。
要把这些开头的对象名留给临时文件或备份文件,
即当这些对象被删除时,不会影响数据库的完整与安全。
例:
在备份表时,应统一命名为 bak_TableName_date
bak_orgmerch_20050301
bak_salemerch_20050301
bak_merchsalehistory_20050301
在备份表时,应统一命名为 bak_TableName_date
bak_orgmerch_20050301
bak_salemerch_20050301
bak_merchsalehistory_20050301
#6
作为一个专业DBA, 我们必须养成良好的代码习惯,既要解决问题,还必须要后来的维护人员能很快看懂你的代码!
作为一个专业DBA, 我们必须养成良好的代码习惯,既要解决问题,还必须要后来的维护人员能很快看懂你的代码!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13670701/viewspace-631720/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13670701/viewspace-631720/