数据库开发设计规范
文件版本:
文件编号:
编写: 安金锁
审核:
审批:
发布时间生效时间
版本记录
版本号
作者
修订日期
说明
审核人
审批人
李湘军
2010-08-09
初创文档
目录
1. 目的 5
2. 符号说明 5
3. 命名规则 5
变量命名规则 5
数据库对象命名规则 5
数据库对象所有者 5
缩进策略 5
4. 数据库对象引用规则 5
相同数据库 5
不同数据库 6
链接服务器 6
5. 实体关系图集 6
表 6
键 7
视图 8
索引 9
参照 10
Default 11
触发器 11
存储过程 13
用户定义函数 14
游标 16
T-SQL 16
CLR 16
6. 数据字典(RTF或HTM文档) 16
数据表 16
视图 16
存储过程列表 17
触发器列表 17
用户定义函数列表 17
7. 物理设计(Word文档) 17
数据库物理参数 17
创建用户SQL 18
数据库备份与恢复方案 18
目的
该文档详细描述了在数据库设计、开发过程中所应该遵守的规则、提交的文档及文档的编写规则,是我们进行数据库设计、开发的规范。
符号说明
斜体:需要替换的内容
[ ] :其中的内容可以省略
{ } :其中的内容必须包括
| :其两边的内容必选其一
_ :连接符,不可省略
+ :连接符
正常体:不可改变的内容
红色字体:必须遵守的内容
命名规则
变量命名规则
***@v变量类型缩写+具有实际含义的英文名称缩写(首字母大写,如果由多个英文单词组成,那么,每个英文单词的首字母都要大写)。
数据库对象命名规则
数据库名称、表名称、列名称、视图名称、存储过程名称、用户定义函数名称等用户定义对象严格禁止使用SQL关键字命名。
数据库对象所有者
任何数据库的所有者都是 dbo,禁止创建非 dbo 的数据库对象。
缩进策略
缩进单位为固定宽度;
数据库对象引用规则
相同数据库
列:{ 表名| 别名| 视图名}.{ 列名}
存储过程:{ 存储过程名称} [ 参数列表]
用户定义函数:{ 用户定义函数名称} [ 参数列表]
不同数据库
列:{ 数据库名}..{ 表名| 别名|视图名}.{ 列名}
存储过程:{ 数据库名}..{ 存储过程名称} [ 参数列表]
用户定义函数:{ 数据库名}..{ 用户定义函数名称} [ 参数列表]
链接服务器
列:{链接服务器名称}.{ 数据库名}.dbo.{ 表名| 别名|视图名}.{ 列名}
存储过程:{链接服务器名称}.{ 数据库名}.dbo.{ 存储过程名称} [ 参数列表]
用户定义函数:{链接服务器名称}.{ 数据库名}.dbo.{ 用户定义函数名称} [ 参数列表]
实体关系图集
描述实体关系的图表。
表
表命名规则
中文名称:表的描述(应能够说明表的用途)
英文名称:对应中文名称的英文单词缩写(每个单词的首字母大写)
表注释
用中文说明该表的用途,并尽量提供以月为单位该表数据量的大约变化量。
表设计规则
表设计应符合第三范式的规则,但如果过分追求第三范式,会造成过度
规范化,造成使用大量的、小的、相互关联的表来定义数据库,在数据库对这些表中的数据进行处理时,必须执行大量的额外工作以组合相关的数据,这种额外处理可能降低数据库的性能,在这种情况下,适当降低数据库规范化程度以简化复杂处理,可以提高性能。
同时,还应该考虑历史数据的保留问题,即历史数据是不能改变的,但历史数据产生时的环境可能与现在不同。
行的所有列(lob 类型除外)的长度和不能超过 8060 字节。
列命名规则
中文名称:列描述
英文名称:对应中文名称的英文单词缩写(每个单词的首字母大写)
列属性说明
数值型的列都要有default,因为数值列可能会参加运算的。
存储中文的列一律使用nvarchar类型。
具有序号含义的列尽量采用SQL Server提供的Identity列,可以有效避免重号及跳
数据库开发设计规范 来自淘豆网m.daumloan.com转载请标明出处.