篇一:数据库命名规范
数据库设计
MySql数据库对象命名规范 Database Objects Naming Guidelines
V1.0
2008.06.28
1 相关的设计规范............................................................................................................................. 3
1.1 采用有意义的字段名 .......................................................................................................... 3 1.2 遵守3NF 标准3NF 规定: ............................................................................................. 3 1.3 小心保留词.......................................................................................................................... 3 1.4 保持字段名和类型的一致性 .............................................................................................. 3 2基本命名规则 ................................................................................................................................. 3
2.1 数据库(Database)的命名 .................................................................................................... 4 2.2 表(Table)的定义 .................................................................................................................. 4 2.3 字段命名规范: .................................................................................................................... 5
2.3.1 前缀数据类型举例 ................................................................................................... 5 2.3.2 数据类型 ................................................................................................................... 6 2.4触发器命名规范 ................................................................................................................. 11 2.5 存储过程命名规范 ............................................................................................................ 11 2.6 存储过程中的参数及变量命名规范 ................................................................................ 12 2.7 用户定义函数命名规范 .................................................................................................... 12 2.8 命名中其他注意事项 ........................................................................................................ 12 2.9 SQL语句的编写规范 ........................................................................................................ 12 2.10 Rule ................................................................................................................................... 12 2.11主键 ................................................................................................................................... 12 2.12外键 .................................................................................................................................. 12 2.13索引 .................................................................................................................................. 12 2.14 Default............................................................................................................................... 13 2.15 Check约束 ....................................................................................................................... 13 2.16 unique约束 ....................................................................................................................... 13 3 编程结构和描述........................................................................................................................... 13
3.1注释 .................................................................................................................................... 13 3.2函数注释:......................................................................................................................... 13 3.3条件执行语句if…else ....................................................................................................... 14 3.4重复执行while和跳转语句goto ...................................................................................... 14 3.5书写格式............................................................................................................................. 14 3.6字体 .................................................................................................................................... 15 4触发器编程规范............................................................................................................................ 15
4.1范例 .................................................................................................................................... 15
1 相关的设计规范
1.1 采用有意义的字段名
尽可能地把字段描述的清楚些。当然,也别做过头了,比如:
CustomerShippingAddressStreetLine1 虽然很富有说明性,但没人愿意键入这么长的名字,具体尺度就在你的把握中。每个单词的首个字母要求用大写!!!不要用下划线来连接每个单词.
1.2 遵守3NF 标准3NF 规定:
A.表内的每一个值都只能被表达一次。
B.表内的每一行都应该被唯一的标识(有唯一键)。 C.表内不应该存储依赖于其他键的非键信息。
1.3 小心保留词
要保证你的字段名没有和保留词、数据库系统或者常用访问方法冲突,比如,写的一个ODBC 连接程序里有个表,其中就用了DESC 作为说明字段名。后果可想而知!DESC 是DESCENDING 缩写后的保留词。表里的一个SELECT *语句倒是能用,但我得到的却是一大堆毫无用处的信息。
1.4 保持字段名和类型的一致性
在命名字段并为其指定数据类型的时候一定要保证一致性。假如字段在某个表中叫做“AgreeMentNumber”,你就别在另一个表里把名字改成“ref1”。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了。记住,你干完自己的活了,其他人还要用你的数据库呢。
2基本命名规则
在这里,我提出如下数据库设计的建议:
1) 如果要写代码来确保表中的行都是唯一的,就为表添加一个主键。
2) 如果要写代码来确保表中的一个单独的列是唯一的,就为表添加一个约束。
3) 如果要写代码确定表中的列的取值只能属于某个范围,就添加一个 Check 约束。 4) 如果要写代码来连接 父-子 表,就创建一个关系。
5) 如果要写代码来维护“一旦父表中的一行发生变化,连带变更子表中的相关行” ,就启用级联删除和更新。
6) 如果要调用大量的 Join来进行一个查询,就创建一个视图。
7) 如果要逐条的写数据库操作的语句来完成一个业务规则,就使用存储过程。
NOTE:这里我没有提到触发器,实践证明触发器会使数据库迅速变得过于复杂,更重要的是 触发器难以调试,如果不小心建了个连环触发器,就更让人头疼了,所以我更倾向于根本就不使用触发器。
表 1. 基本数据库对象命名
2.1 数据库(Database)的命名
数据库名称 = 数据库内容标识(首字大写)
粮食局项目数据库命名规定: DB_单位编码 (单位编码由单位编码表描述)
2.2 表(Table)的定义
命名应尽量反映存储的数据内容。
表名前缀:以该表及与该表相关联的一系列表的内容而得到一个代表统一的标识 表名称 = 表名前缀(tb) + 表内容标识(首字大写) 如Employee相关联的一系的表以tb作为前缀, 即有表名:tbHistory,tbContact,tbBusiness
粮食局项目数据表命名规定:tb(前缀)+表名前两个字的汉语全拼(首字大写,如果遇到前两个字重复的第三个字也全拼)后面的所有字取生母(首字大写)
多对多关系中连接表的命名规定:将两个表的表名合并(如果表名比较长可做简化) + Relation(后缀)
2.3 字段命名规范:
字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。
字段名称 = 字段类型前缀(全小写) + 字段内容标识(首字大写)
2.3.1 前缀数据类型举例
以下为SQL SERVER7.0以上版本的字段类型说明。 1) bit:0或1的整型数字
2) int:从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字 3) smallint:从-2^15(-32,768)到2^15(32,767)的整型数字 4) tinyint:从0到255的整型数字
篇二:数据库设计命名规范文档
数据库设计规范
目录
数据库设计规范 ....................................................................................................................... 1 1 相关的设计规范 ................................................................................................................... 3
1.1 采用有意义的字段名 .................................................................................................... 3
1.2 遵守3NF 标准3NF 规定: ......................................................................................... 3
1.3 小心保留词 .................................................................................................................... 3
1.4 保持字段名和类型的一致性 ........................................................................................ 3
2 命名规则: .............................................................................................................................. 4
2.1 数据库(Database)的定义 .............................................................................................. 4
2.2 表(Table)的定义 ............................................................................................................. 4
2.3 字段(Field)的定义 .......................................................................................................... 4
2.4 视图名 ............................................................................................................................ 4
2.5 触发器名 ........................................................................................................................ 4
2.6 存储过程名 .................................................................................................................... 5
2.7 变量名 ............................................................................................................................ 5
2.8命名中其他注意事项 ..................................................................................................... 5
2.9 SQL语句的编写规范 ...................................................................................................... 5 2.10 Rule ................................................................................................................................ 6
2.11主键 ............................................................................................................................... 6
2.12 外键 .............................................................................................................................. 6
2.13 索引 .............................................................................................................................. 6
2.14 Default ........................................................................................................................... 6
3 编程结构和描述 ................................................................................................................... 6
3.1注释 ................................................................................................................................. 6
3.1.1、注释以英文为主。 ............................................................................................... 7
3.1.2、注释尽可能详细、全面。 ................................................................................... 7
3.1.3、注释语法包含两种情况:单行注释、多行注释 ............................................... 7
3.1.4、注释简洁,同时应描述清晰。 ........................................................................... 7
3.2函数注释: ..................................................................................................................... 7
3.3条件执行语句if…else ..................................................................................................... 8
3.4重复执行while和跳转语句goto .................................................................................. 8
3.5书写格式 ......................................................................................................................... 8
4触发器编程规范 .................................................................................................................... 9
4.1范例 ................................................................................................................................. 9
A. 表命名规则 ............................................................................................................. 10
B. 列命名规则 ...........................................................(本文来自:wwW.xIAocAofaNwEn.com 小 草范 文 网:数据库表命名范例).................................................. 11
C. 数据库对象命名规则 ............................................................................................. 11
D. 特殊规则 ................................................................................................................. 12
5命名(规范)的约定 .......................................................................................................... 12
5.1.数据库涉及字符规范 ................................................................................................... 12
5.2.数据库对象命名规范 ................................................................................................... 12
5.3.数据库表命名规范 ....................................................................................................... 13
5.4.字段命名规范 ............................................................................................................... 13
5.5.视图命名规范 ............................................................................................................... 14
5.6.存储过程命名规范 ....................................................................................................... 14
5.7.数据库设计文档规范 ................................................................................................... 14
5.8.sql语句规范 ................................................................................................................. 15
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.3 字段(Field)的定义
字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。
字段名称 = 字段类型前缀 + 字段内容标识(首字大写)
2.4 视图名
视图的名称 = "vw" + 视图内容标识(首字大写)
1.1 如 vwUserPerm
2.5 触发器名
触发类型触发标识
-----------------------------------
Insert i
Delete d
Update u
触发名= "tr" + 触发标识 + 相应的表名(首字大写)
如:triClient,trdClient。
2.6 存储过程名
存储过程功能存储过程功能前缀
----------------------------------------
添加a
更新u
删除d
查询或其它o
存储过程名称 = 存储过程功能前缀 + 存储过程内容标识(首字大写)
如 spoChkUserPerm
2.7 变量名
每个单词的首个字母为大写,如@EmployeeName。
2.8命名中其他注意事项
禁止使用中文命名!!!!!
命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@)。 命名都采用英文字符,每个单词的首个字母要大写
2.9 SQL语句的编写规范
数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下: 关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如:SELECT、ORDER BY、 GROUP BY、 FROM、WHERE、 UPDATE、 INSERT INTO、 SET、 BEGIN、 END ......
篇三:SQLServer数据库设计命名规范
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.3 字段(Field)的定义
字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。
字段名称 = 字段类型前缀 + 字段内容标识(首字大写)
2.4 视图名
视图的名称 = "vw" + 视图内容标识(首字大写)
如 vUserPerm
2.5 触发器名
触发类型触发标识
-----------------------------------
Insert i
Delete d
Update u
触发名= "tr" + 触发标识 + 相应的表名
如:triClient,trdClient。
2.6 存储过程名
存储过程功能存储过程功能前缀
----------------------------------------
添加a
更新u
删除d
查询或其它o
存储过程名称 = 存储过程功能前缀 + 存储过程内容标识(首字大写)
如 spoChkUserPerm
2.7 变量名
每个单词的首个字母为大写,如@EmployeeName。
2.8命名中其他注意事项
禁止使用中文命名!!!!!
命名都不得超过30个字符的系统限制,变量名的长度限制为29(不包括标识字符@)。 命名都采用英文字符,每个单词的首个字母要大写
2.9 SQL语句的编写规范
数据库中存储过程和触发器中涉及大量的SQL语句,对SQL语句的编写规范如下: 关键字大写:在SQL语句的编写中,凡是SQL语句的关键字一律大写,如:SELECT、ORDER BY、 GROUP BY、 FROM、WHERE、 UPDATE、 INSERT INTO、 SET、 BEGIN、 END ......
2.10 Rule
ru+Rule标识
2.11主键
pk+表名+主键标识
2.12 外键
fk+表名+主表名+外键标识
2.13 索引
idx+字段标识
2.14 Default
df+Default标识
3 编程结构和描述
SQL SERVER系统中,一个批处理是从客户传给服务器的一个完整的包,可以包含若干条SQL语句。批处理中的语句是作为一组去进行语法分析、编译和执行的。触发器、存储过程等数据对象则是将批处理永久化的方法。
3.1注释
注释可以包含在批处理中。在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性。本规范建议:
1、注释以英文为主。
实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用。为避免后续版本执行过程中发生某些异常错误,建议使用英文注释。
2、注释尽可能详细、全面。
创建每一数据对象前,应具体描述该对象的功能和用途。
传入参数的含义应该有所说明。如果取值范围确定,也应该一并说明。取值有特定含义的变量(如boolean类型变量),应给出每个值的含义。
3、注释语法包含两种情况:单行注释、多行注释
单行注释:注释前有两个连字符(--),最后以行尾序列(CR-LF)结束。一般,对变量、条件子句可以采用该类注释。
多行注释:符号/*和*/之间的内容为注释内容。对某项完整的操作建议使用该类注释。
4、注释简洁,同时应描述清晰。
3.2函数注释:
编写函数文本--如触发器、存储过程以及其他数据对象--时,必须为每个函数增加适当注释。该注释以多行注释为主,主要结构如下:
/*******************************************************************************************
* 存储过程:读取用户所分配的操作模块及具体权限
* 编 制 者 :saiko
* 修 改 人 :
* 编制日期:2004.11.27
* 输入参数:共有2个参数
* @cUserNo:用户编号
* @cUserPassword:验证密码
* 输出参数:@eResult 1. 成功= 销售@0001 2. 失败 =Null 3.与 @eResult 无关 输出是记录集
* 调用例子:declare @eResult varchar(50)exec uChkUserPerm '0755' ,'123456', '销售' * 说 明:
*
******************************************************************************************/