SQLServer数据库设计命名规范
数据库命名规范

数据库命名规范数据库设计是指建立数据库的过程,其中包括设计数据结构,编写完整的SQL代码以操作数据等等。
其中,数据库对象命名规范尤其重要。
这可以清晰地表明数据库结构,有助于更好地管理数据库,理顺连接,并有助于解决软件问题。
SQL Server中的命名规范1. SQL Server命名规范要求使用有意义的名称,可以允许最多128个字符,包括字母(a-z或A-Z),数字(0-9)和undescore(_)。
大多数对象必须以字母开头,不能用保留字(比如,where)作为名称。
2.操作系统(OS)对象和数据库对象的名称必须隔离,并且必须使用有意义的前缀和后缀,以便区分。
例如,OS用户应该以OS_前缀作为前缀,数据库用户应以DB_前缀作为前缀。
3.表格、列和字段的命名规范应该简洁,要符合命名规则,例如,表格名称由一到多个单词组成,它们应该按照某种正式的结构,以便同时表达复合含义。
4.避免使用缩写。
当可能的时候,应该使用完整的单词,以帮助他人理解数据库结构。
5.在数据库中,每个SQL对象都必须有唯一的名称,以避免和其他名称冲突。
6.最后,应尝试使用动态名称,以进一步简化数据库设计。
这样可以减少维护成本和开发时间。
Oracle数据库命名规范1.Oracle命名规范要求使用有意义的名称,可以是128个字符的字母(a-z或A-Z),数字(0-9)和undescore(_),但不能以数字开头。
同时,必须遵守Oracle的大小写规则。
2.Oracle数据库的对象名称中的大写字母要慎重使用,可以使用小写字母,以加强数据库设计的可读性。
3.尽量不使用特殊字符,如撇号,连字符,星号等,因为它们可能对SQL查询产生麻烦。
4.避免使用单词的缩写,除非它们非常常见,否则会使他人不明白你的数据库结构。
5.使用前缀和后缀分离不同的数据库对象。
例如,表格前缀可以为T_,序列前缀可以为S_,触发器前缀可以为TRG_,字段前缀可以为F_,等等。
sqlserver data base name

SQL Server数据库名称一、介绍SQL Server是微软公司开发的关系型数据库管理系统,广泛应用于企业的数据存储和管理中。
在SQL Server中,数据库名称是非常重要的,它是用来标识和区分不同的数据库的。
在本文中,我们将深入探讨SQL Server数据库名称的相关内容。
二、数据库名称的作用1. 标识性:数据库名称是用来唯一标识一个数据库的重要属性,每个数据库都有一个唯一的名称。
2. 区分性:数据库名称可以帮助我们区分不同的数据库,方便管理和使用。
3. 调用性:通过数据库名称,我们可以在SQL Server中方便地调用和操作对应的数据库。
三、数据库名称的命名规范1. 字符限制:数据库名称由1到128个字符组成,可以使用字母、数字和一些特殊符号,但不允许使用空格。
2. 禁止词汇:数据库名称不允许使用一些保留字和关键字,例如“select”、“insert”等。
3. 大小写敏感:SQL Server默认情况下是不区分大小写的,所以数据库名称的大小写是不敏感的,但建议统一使用小写。
4. 唯一性:数据库名称必须是唯一的,同一个SQL Server实例中不能有相同名称的数据库。
四、常见操作1. 创建数据库:在SQL Server中,我们可以使用CREATE DATABASE语句来创建一个新的数据库,并为其指定一个名称。
2. 修改数据库名称:在某些情况下,我们可能需要修改数据库的名称,可以使用ALTER DATABASE语句实现。
3. 删除数据库:如果某个数据库不再需要,我们可以使用DROP DATABASE语句来删除该数据库及其相关数据。
五、注意事项1. 保持简洁:数据库名称应该简洁明了,不宜过长,方便记忆和使用。
2. 规范命名:建议按照一定的规范来命名数据库,例如使用有意义的英文单词或缩写。
3. 不可轻率修改:修改数据库名称可能会影响到已有的程序和应用,需要谨慎操作。
六、总结数据库名称是SQL Server中一个重要的概念,正确的数据库命名可以方便管理和使用数据库。
SQLServer数据库设计命名规范

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,ciBusiness2.3 字段(Field)的定义字段是数据库中的⽤途最⼴泛的,它的类型⾮常多,所以必须加类型前缀来标⽰它的类型。
sql server 列名命名规则

SQL Server 列名命名规则1. 介绍在使用SQL Server数据库时,对于列名的命名是非常重要的。
良好的列名命名规则可以使数据库的结构清晰、易于理解和维护。
本文将介绍SQL Server列名命名规则,帮助读者了解如何合理地命名列名。
2. 规则和建议在SQL Server中,列名的命名需要遵循一些规则和建议,以下是一些建议和常见规则:2.1 使用描述性的名称为了方便理解,每个列名都应该尽可能使用描述性的名称。
如果某一列存储了用户的尊称信息,可以将该列命名为"UserName",这样可读性更强,不易产生歧义。
2.2 避免使用关键字和保留字在SQL Server中,有一些关键字和保留字是数据库系统保留的,不能作为列名。
在命名列名时需要避免使用这些关键字和保留字,以免发生冲突。
2.3 使用统一的命名规则为了保持数据库结构的统一性,可以约定一套统一的命名规则,并在整个团队或组织中统一执行。
可以约定使用驼峰命名法或下划线分隔法等命名规则。
2.4 使用简单的命名在命名列名时,应尽量避免使用复杂的命名,尽可能简洁明了。
这样不仅能方便理解,还能提高查询和维护效率。
2.5 避免使用特殊字符和空格在列名中应尽量避免使用特殊字符和空格,这样可以减少出错的可能性,也方便在SQL语句中引用。
3. 示例下面通过一个简单的示例来演示如何按照以上规则命名列名:假设我们有一个用户信息表,包括用户ID、用户名、用户芳龄和用户电流新箱等列,那么我们可以按照以下规则来命名列名:- 用户ID:UserId- 用户名:UserName- 用户芳龄:UserAge- 用户电流新箱:UserEm本人l通过以上示例,我们可以看到使用描述性的名称,避免关键字和保留字,使用统一的命名规则,简单明了的命名,避免特殊字符和空格等规则。
4. 总结良好的列名命名规则对于数据库的设计和维护是非常重要的。
在实际开发中,应严格遵循列名命名规则,采用合适的命名规则,使得数据库结构清晰、易于理解和维护。
SQLserver数据库设计及开发规范

SQLserver数据库设计及开发规范LMS项⽬数据库设计及使⽤规范在本项⽬中,数据库的设计和使⽤必须遵循以下原则:1命名原则1.1约定:Pascal Casing命名⽅式:1.每⼀个单词的第⼀个字母⼤写,例如:B ank N ame。
2.常⽤单词缩写三个字母以下字母都⼤写,例如:SP、PG3.常⽤单词缩写三个字母以上第⼀个字母⼤写,例如:Xml1.2表名和字段规则如下:使⽤英⽂单词或词组作为表名,不得使⽤汉语拼⾳,建⽴⼀个中英⽂对照字典。
⽤名词和名词短语作表名不使⽤复数,除⾮与数据库保留字冲突⽤Pascal 命名规则尽量谨慎地使⽤缩写尽量不要和关键字重合不要⽤任何名前缀(例如U,B)数据库对象名称不使⽤下划线正确的命名,例如:UsersOrderProduct1.3存储过程规则如下:命名规则为up_xxx_StoredProcedureName,up表⽰User Procedure,⽤来区分它和系统存储过程,xxx表⽰⼦系统的名称,由三个字母构成,各个⼦系统参见下表,StoredProcedureName 为存储过程含义StoredProcedureName规则如下:⽤动词或动词短语来命名,并带有宾语需要符合⽤Pascal 命名规则。
尽量谨慎地使⽤缩写尽量不要和关键字重合不要⽤任何名前缀(例如U,B)StoredProcedureName内不使⽤下划线当操作依赖条件时,⼀般结尾使⽤By+条件存储过程正确的命名,例如:Up_Usr_InsertUserUp_Usr_SearchUserByUserIDUp_Usr_DeleteUserByUserID1.4视图规则如下:视图的命名采⽤vw ViewName的格式,其中vw前缀表⽰视图,ViewName部分表⽰视图的含义。
ViewName规则如下:⽤名词和名词短语,不使⽤复数⽤Pascal 命名规则尽量谨慎地使⽤缩写尽量不要和关键字重合不要⽤任何名前缀(例如U,B)ViewName中不使⽤下划线视图正确的命名,例如:vwUservwUserOrdervwTranscation视图错误的命名,例如:UserViewvw_Transcation_View2设计规范2.1规范约定遵守数据的设计规范3NF 规定·表内的每⼀个值都只能被表达⼀次。
sql server建表规则

SQL Server建表规则在使用SQL Server进行数据库设计和建表时,遵循一定的规则和标准是非常重要的。
这不仅可以提高数据库的性能和可维护性,还可以减少日后的问题和错误。
本文将介绍SQL Server建表的规则和注意事项,帮助您设计出高质量、高效的数据库表结构。
一、命名规则1.1 表名命名规则在SQL Server中,表名需要具有描述性,能够清晰地表达表所存储的数据内容。
表名应该使用英文,采用下划线或驼峰命名法,避免使用特殊字符或中文命名。
可以使用"order_det本人l"或者"OrderDet本人l"作为表名。
1.2 字段名命名规则字段名也需要具有描述性,能够清晰地说明字段所存储的数据内容。
字段名应该使用英文,采用下划线或驼峰命名法,避免使用特殊字符或中文命名。
可以使用"order_id"或者"OrderId"作为字段名。
1.3 主键命名规则主键字段的命名一般为表名加上“_id”的形式,例如“order_id”。
主键字段名一般需要在字段名前面加上"pk_"前缀或者在字段名后面加上"_pk"后缀,以明确表示该字段为主键。
“pk_order_id”或者“order_id_pk”。
1.4 外键命名规则外键字段的命名一般为所引用表的表名加上“_id”的形式,例如“customer_id”。
外键字段名一般需要在字段名前面加上"fk_"前缀或者在字段名后面加上"_fk"后缀,以明确表示该字段为外键。
“fk_customer_id”或者“customer_id_fk”。
二、字段规则2.1 数据类型选择在选择字段的数据类型时,需要根据存储的数据内容和对数据的操作进行合理的选择。
对于存储整数类型的字段,可以选择int或者bigint;对于存储字符串类型的字段,可以选择nvarchar或者varchar。
SQL Server数据库规范

文档密级:普通文档状态:[] 草案 [√]正式发布 [ ]正在修订目录第1章数据库规范 (4)1.1命名规范 (4)1.1.1 数据库命名 (4)1.1.2 数据表命名 (4)1.1.3 视图命名 (4)1.1.4 存储过程命名 (4)1.1.5 方法命名 (4)1.1.6 字段命名 (4)1.2SQL语句编写规范 (5)1.2.1 编写习惯 (5)1.2.2 注释 (5)1.2.3 缩进 (5)1.2.4 嵌套查询 (6)1.2.5 其他SQL语句 (7)第1章数据库规范1.1命名规范1.1.1数据库命名数据库名称尽量和项目名相同,使用Pascal大小写形式。
1.1.2数据表命名数据表命名使用Pascal大小写形式,在表名前加前缀XX_,表名要用有意义的名称,尽量与程序模块相符,并且名词单词要用单数形式。
比如程序中做的模块为文章新闻功能,则表面为:XX_ArticleNews。
1.1.3视图命名视图的命名与数据表命名方式相同。
1.1.4存储过程命名数据表命名使用Pascal大小写形式,在存储过程名前加前缀XX_[模块名]_,其中模块名是可选的,如果存储过程的功能比较独立,可以只加XX_前缀,XX_LoginXX_Admin_AddModule1.1.5方法命名方法名称前加前缀fn,其他部分用Pascal大小写形式。
1.1.6字段命名字段命名方式用Pascal大小写形式,字段名中不用有下划线。
1.2SQL语句编写规范1.2.1编写习惯●在SQL语句中,关键字要大写,表名、字段等要与其命名相同:SELECT LastName, FirstName FROM Person●在关键字AND、OR、IN、=、<=、>= 等前后要有一个空格:SELECT LastName, FirstName FROM PersonWHERE PersonID = 1 AND LastName='abc'1.2.2注释注释主要是对存储过程、方法已经其中的SQL语句进行注释,注释规范如下:●存储过程注释:-- =============================================-- Author: <Author Name>-- Create date: <Create Date>-- Description: <Description>-- =============================================ALTER PROCEDURE ProcedureName●方法注释:-- =============================================-- Author: <Author Name>-- Create date: <Create Date>-- Description: <Description>-- =============================================ALTER FUNCTION FunctionName●SQL语句中的注释:SQL语句中的注释写到该SQL语句的上一行。
SQL+Server命名规范

SQL Server1.命名协定1.1 数据库命名原则及版本控制1.1.1数据库命名原则数据库命名要遵从以下命名原则:表意性原则:数据库命名本着表意性原则,即命名应尽量反映存储/action/view/column的数据内容。
长名原则:很少使用或者不使用缩写,适用于DB命名之外的任一对象数目最少化原则:数据库对象应该尽量满足数据最小化原则,也就是数据库数目,存储过程,视图等数量最小化。
1.1.2 数据库版本控制当由于多个版本的应用系统同时存在或者是其它特殊原因而使用完成相似的功能的对象存在同时存在时,使用版本控制:版本号在对象名的后面加上[_v1]如:Up_IM_DailyUsageStatsUpdate_v2Up_IM_CustomerGetUsingLast Nam e_v21.2 Server/命名实例的命名基于Domain命名, DOMAIN 的粒度,可分为三级,分别是Server级别,Database级别和表的前缀级别。
此为第一级别。
1.ONLINE PRODUCTION SERVERNEWSQLNEWSQL2EHISSQLWAREHOUSE PRODUCTION SERVERS3SQL01S4SQL01S7SQL01S6SQL011.3 数据库命名数据库命名应当遵从上面所提及到的协定,包括没有特殊的字符,使用文字数据字式字符……..,项目代码命名不应该同样被数据库使用.数据库名字应该唯一以避免冲突等.以Domain来标识, 拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别,另外:其它与部门相关的DATABASE 可以放到相关的SERVER 下。
数据库数目最少化原则数据设置尽可能MERGER原则peration database AND Dept level Database set up rules拆分DATABASE,基于大的逻辑范畴,如operation 范畴以及部门类别其它与部门相关的DATABASE 可以放到相关的SERVER 下。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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,ciBusiness2.3 字段(Field)的定义字段是数据库中的用途最广泛的,它的类型非常多,所以必须加类型前缀来标示它的类型。
字段名称= 字段类型前缀+ 字段内容标识(首字大写)2.4 视图名视图的名称= "vw" + 视图内容标识(首字大写)如vUserPerm2.5 触发器名触发类型触发标识-----------------------------------Insert iDelete dUpdate u触发名= "tr" + 触发标识+ 相应的表名如:triClient,trdClient。
2.6 存储过程名存储过程功能存储过程功能前缀----------------------------------------添加a更新u删除d查询或其它o存储过程名称= 存储过程功能前缀+ 存储过程内容标识(首字大写)如spoChkUserPerm2.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 Ruleru+Rule标识2.11主键pk+表名+主键标识2.12 外键fk+表名+主表名+外键标识2.13 索引idx+字段标识2.14 Defaultdf+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', '销售'* 说明:**************************************************************************** ***************/CREATE PROCEDURE spoxxx…3.3条件执行语句if…else条件语句块(statenemt block,以begin…end为边界)仅在if子句的条件为真时才被执行。
为提高代码的可读性,建议嵌套不多于5层。
还有,当嵌套层次太多时,应该考虑是否可以使用case语句。
3.4重复执行while和跳转语句goto需要多次执行的语句,可以使用while结构。
其中,控制while循环的条件在任何处理开始之前需要先执行一次。
循环体中的保留字break无条件的退出while循环,然后继续处理后续语句;保留字continue重新计算while条件,如果条件为真,则从循环开始处重新执行各语句。
使用跳转语句goto和标签label也可以方便地实现循环和其他更灵活的操作。
SQL SERVER仅具有单通道语法分析器,因此不能解析对尚未创建的对象所做的前向参考。
换言之,跳转到某标签的后续语句应该是可执行的(如不存在可能尚未创建的数据对象)。
3.5书写格式数据库服务器端的触发器和存储过程是一类特殊的文本,为方便开发和维护,提高代码的易读性和可维护性。
规范建议按照分级缩进格式编写该文本。
顺序执行的各命令位于同一级;条件语句块(statenemt block,以begin…end为边界)位于下一级,类推。
SQL语句是该文本的主体。
为适应某些教复杂的用户需求,SQL语句可能比较庞大。
为方便阅读和维护,规范建议按照SQL语句中系统保留字的关键程度再划分为三级。
具体分级请参照下表。
其中,非系统保留字(如字段名、数据表名、标点符号)相对本级保留字再缩进一级。
多个连续的非保留字可以分行书写,也可以写在同一行。
当WHERE包含的条件子句教复杂时,应该每行只写一个条件分句,并为重要的条件字句填写单行注释。
在保证基本缩进格式的前提下,可以通过对齐某些重要关键字(如条件关键字AND、OR,符号= 、等)来进一步提高文本的易读性和可维护性。
相邻两级的缩进量为10个空格。
这也是ISQL编辑器默认的文本缩进量。
另外,在ISQL 编辑器中,一个TAB键也相当于10个空格。
注:按照功能,四类SQL语句(SELECT、INSERT、UPDA TE、DELETE)的关键字可以划分为三类:主关键字、次关键字、一般关键字。
如下表所示:主关键字次关键字一般关键字SELECTINSERT (INTO)UPDA TEDELETE FROMWHEREV ALUESINSERT…SELECT…FROM语句中的SELECT和FROMANDORBETWEENINLIKE3.6字体系统保留字应大写,包括系统公共变量等。
其他字符(如用户自定义变量、用户自定义数据对象名)小写。
需要特殊强调的部分可以大写。
一条完整注释语句的首字符应大写。
对某变量、某条件字句的注释可以全部使用小写。
通过下一节中生成表r_a的删除触发器的实例可以部分说明对象命名、注释、基本书写格式和字符大小写方面的一些注意事项。
4触发器编程规范4.1范例下面通过一个例子,说明触发器编程中应遵守的规范:/* delete related r_a according to deleted table */CREATE TRIGGER r_a_d ON r_aFOR DELETEASIF @@ROWCOUNT = 0 -no rows deletedRETURN/* delete r_b table related to deleted table */DELETE r_bFROM r_b b, deleted dWHERE b.id=d.idIF @@ERROR != 0BEGINRAISERROR("Error occurred deleting related records", 16, 1)ROLLBACK TRANENDRETURN数据库设计规范A.表命名规则数据库中不论是表名还是字段名,都一律用英文,不准出现其它语言;且保留原来的字段名,保留它们的规范;为了不增加数据库当中的表名的长度,一般不允许出现如Form或者Table的字样,如:记录表:应为Record,而不是RecordTable数据库当中的表名的命名,一般不准出现空格,假如有几个单词出现的话,每个单词之间不允许留有空格,用”_”隔开如人事信息表:应为Human_Info,而不是Human Info;每个单词的第一个字母必须大写;如果太长,为了不增加编程的难度可采用缩写的方式,每个单词可取三到四个字母表示,也可根据实际情况,实际习惯进行缩写B.列命名规则表中的字段名的命名方式与表名的命名方式一致,只是不需要模块的前缀,但是为了编程的方便性,可在前面加上字段类型的前缀,一般取用类型的三个字母,但是不需要下划线,而且这三个字母必须小写;如姓名字段为字符型的话就应该为chrName;尝用字段类型的缩写可参考下面的表格:缩写类型chr charnvr nvarcharnum numericflt floatdtm datetimeint Int(integer)mny moneyimg imagetxt textrel realntx ntextC.数据库对象命名规则命名规则为:对象类型+ 变量的含义数据库对象命名可归纳如下:对象前缀示例表无Sales_Reps列数据类型intAuthorId视图[View] vw vwContractAuthors存储过程[Store Procedure] prc prDeleteTerminatedReps规则[Rules] rl rlZipCheck默认[Default] df dfStandardQuanity用户自定义数据类型dt dtAddressLine用户自定义功能fn fnParser索引(聚集) ic icAuthorFullName索引(非聚集) in inClientStateCity主键(聚集) pc pcCustomerId主键(非聚集) pk pnSstateLookupId外键[Foreign Key] fk fkRepCompanyId触发器[Trigger] tr trStoreDelete游标[Cursor] cr crTablesD.特殊规则在字段的类型上面,为了不因为系统的设置而造成编程上面的问题,所以只要是日期类型,一般都用字符型来代替,其长度不应该小于10位,而且存储格式统一,如2002-07-15 。