- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库开发细则Ver2-0
数据库开发规范
创建者:阿福
版本记录
版本 修改者 修改时间 内容 V1.0 起草 阿福 2005-03-17 建立最初版本 V1.1 阿福 2005-03-31 ·增加数据库物理优化方案 V2.0 阿福 2005-05-23 ·增加数据访问模式
·根据网友意见,修改部分错误
感谢勇者无敌(zyie@)提供BUG
说明
本文档整理于一些SQL Server开发中的经验,可能对于其他类型的数据库并不合适。笔者会在稍后继续增加其他数据库的规范部分。
本文档的很多知识来源于网络,如果发现其中有涉及版权的问题,请与我联系,我将在第一时间删除非法引用的内容。
本文档旨在和大家交流经验,任何人均可对此文档进行使用、修改或增加。欢迎大家积极参与,共同交流经验。
我叫阿福,我的MSN是:ah_fu126@,我的QQ是欢迎大家和我一起讨论,无论是批评还是交流,我都会非常乐意。
目录
说明 2
目录 3
1、命名规范 5
1.1、命名总规则 5
1.2、表命名规范 5
1.3、字段命名规范 6
2、SQL语句规范 6
3、存储过程编码规范 7
3.1、只允许应用程序通过存储过程访问数据库 7
3.2、命名规范 9
3.3、存储过程的参数命名 9
3.4、存储过程返回的记录集 9
3.5、格式约定 9
3.6、事务使用约定 10
3.7、游标使用约定 10
3.8、表锁定 11
4、数据库设计规范 13
4.1数据完整性规范(编码期) 13
4.2、设计工具和版本划分 14
6、数据库优化 14
6.1、数据库性能优化规范(运行期) 14
6.2、拆分表示例 14
6.3、冗余字段建立示例 15
6.4、冗余表建立示例 15
6.5、存储过程中分页方案 15
7、整体优化和物理优化 16
7.1、查询优化方法 16
7.1.1、原因 16
7.1.2、查询优化方法 16
8、数据访问模式(Data Access Patterns) 23
8.1、解耦模式 23
8.1.1、数据访问器 24
8.1.2、主动域对象 24
8.1.3、对象/关系映射 24
8.1.4、层 24
8.2、资源模式 24
8.2.1、资源修饰器 24
8.2.2、资源池 24
8.2.3、资源定时器 24
8.2.4、资源描述器 25
8.2.5、重试器 25
8.3、输入输出模式 25
8.3.1、选择工厂 25
8.3.2、域对象工厂 25
8.3.3、更新工厂 25
8.3.4、域对象装配器 25
8.3.5、分页迭代器 25
8.4、缓存模式 25
8.4.1、缓存访问器 26
8.4.2、即时缓存 26
8.4.3、填装缓存 26
8.4.4、缓存查找序列 26
8.4.5、缓存收集器 26
8.4.6、缓存复制器 26
8.4.7、缓存统计 26
8.5、并发模式 26
8.5.1、事务 27
8.5.2、乐观锁定 27
8.5.3、悲观锁定 27
8.5.4、补偿事务 27
附录 27
附录1:T-SQL 编码标准 27
1、命名规范
1.1、命名总规则
所有名称的字符范围为:A-Z, a-z, 0-9 和_(下划线)。不允许使用其他字符作为名称。
采用英文单词或英文短语(包括缩写)作为名称,不能使用无意义的字符或汉语拼音。
名称应该清晰明了,能够准确表达事物的含义,最好可读,遵循“见名知义”的原则。
1.2、表命名规范
1、不使用tab或tbl作为表前缀(本来就是一个表,为什么还要说明)
2、表名以代表表内的内容的一个和多个名词组成,以下划线分隔,每个名词的第一个字母大写。
3、使用表的内容分类作为表名的前缀:如,与用户信息相关的表使用前缀User_,与内容相关的信息使用前缀Content_。
4、表的前缀以后,是表的具体内容的描述。如:用户登录信息的表名为:User_Login,用户在论坛中的信息的表名为:User_BBS_Info
5、一些作为多对多连接的表,可以使用两个表的前缀作为表名:
如:用户登录表User_Login,用户分组表Group_Info,这两个表建立多对多关系的表名为:User_Group_Relation
6、当系统中有一些少量的,重复出现的值时,使用字典表来节约存储空间和优化查询。如地区、系统中用户类型的代号等。这类值不会在程序的运行期变化,但是需要存储在数据库中。
就地区而言,如果我们要查询某个地区的记录,则数据库需要通过字符串匹配的方式来查询;如果将地区改为一个地区的代号保存在表中,查询时通过地区的代号来查询,则查询的效率将大大提高。
程序中宜大量的使用字典表来表示这类值。字典
文档评论(0)