SQLServer数据库设计规范
1 相关的设计规范:
1.1 采用有意义的字段名
尽可能地把字段描述的清楚些。当然,也别做过头了,比如CustomerShippingAddressStreetLine1 虽然很富有说明性,但没人愿意键入这么长的名字,具体尺度就在你的把握中。每个单词的首个字母要求用大写!!!不要用下划线来连接每个单词.
1.2 遵守3NF 标准3NF 规定:
A.表内的每一个值都只能被表达一次。
B.表内的每一行都应该被唯一的标识(有唯一键)。
C.表内不应该存储依赖于其他键的非键信息。
1.3 小心保留词
要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突,比如,写的一个ODBC 连接程序里有个表,其中就用了DESC 作为说明字段名。后果可想而知!DESC 是DESCENDING 缩写后的保留词。表里的一个SELECT *语句倒是能用,但我得到的却是一大堆毫无用处的信息。
1.4 保持字段名和类型的一致性
在命名字段并为其指定数据类型的时候一定要保证一致性。假如字段在某个表中叫做“AgreeMentNumber”,你就别在另一个表里把名字改成“ref1”。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。记住,你干完自己的活了,其他人还要用你的数据库呢。
2 命名规则:
2.1 数据库(Database)的定义
数据库名称 = 数据库内容标识(首字大写)
2.2 表(Table)的定义
命名应尽量反映存储的数据内容。
表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识
表名称 = 表名前缀 + 表内容标识(首字大写)
如ClientInfo相关联的一系的表以ci作为前缀,
即有表名:ciHistory,ciContact,ciBusiness
2.25 字段(Field)的定义
字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。
字段名称 = 字段类型前缀 + 字段内容标识(首字大写)
2.2视图名
视图的名称 = "vw" + 视图内容标识(首字大写)
如 vUserPerm
2.3触发器名
触发类型触发标识
-----------------------------------
Insert i
Delete d
Update u
触发名= "tr" + 触发标识 + 相应的表名
如:triClient,trdClient。
2.4存储过程名
存储过程功能存储过程功能前缀
----------------------------------------
添加a
更新u
删除d
查询或其它o
存储过程名称 = 存储过程功能前缀 + 存储过程内容标识(首字大写)
如 spoChkUserPerm
2.5变量名
每个单词的首个字母为大写,如@EmployeeName。
2.6命名中其他注意事项
禁止使用中文命名!!!!!
命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@)。
命名都采用英文字符,每个单词的首个字母要大写
2.7 SQL语句的编写规范
数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下:
关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如:SELECT、ORDER BY、 GROUP BY、 FROM、WHERE、 UPDATE、 INSERT INTO、 SET、 BEGIN、 END ......
2.8 Rule
ru+Rule标识
2.9 主键
pk+表名+主键标识
2.10 外键
fk+表名+主表名+外键标识
2.11 索引
idx+字段标识
2.12 Default
df+Default标识
3 编程结构和描述
SQL SERVER系统中,一个批处理是从客户传给服务器的一个完整的包,可以包含若干条SQL语句。批处理中的语句是作为一组去进行语法分析、编译和执行的。触发器、存储过程等数据对象则是将批处理永久化的方法。
我来说两句
验证码:

