sql规范.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql规范

Sql规范一、数据库设计规范设计阶段可以说是系统性能的关键阶段1.1、数据库逻辑设计的规范化遵守数据的设计规范3NF 规定无重复的列要求表中的每一列只包含一个实例信息例如:员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。表内的每一行都应该被唯一的标识(有唯一键)例如:员工信息表中加上了员工编号(UserId)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个唯一属性列被称为主关键字或主键、主码。表内不应该存储依赖于其他键的非键信息。要求一个数据库表中不包含其他表中的非主键信息例如:一个部门信息表,其中每个部门有部门编号(DeptId)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。1.2、合理的冗余没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据例如:商品的基本表,如下所示 “金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。商品基本表商品名称商品型号单价数量金额电视机29吋?2,500?40??100,0001.3、字段规范字段是数据库最基本的单位,其设计对性能的影响是很大的一行记录必须表内唯一,表必须有主键用尽量少的存储空间来存数一个字段的数据.数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下。例如能用int的就不用char或者varchar能用nvarchar(20)就不用nvarchar(500)字段必须定义合适的数据类型,以减少使用过程中的数据类型转换例如日期类型 应用datetime 禁止用nvarchar尽量不要允许NULL,除非必要,可以用默认值代替尽量少用TEXT和IMAGE,二进制字段的读写是比较慢的枚举类型的字段,需要有comment 中文注释例如用户表中的用户状态用1、2、需要注释1:正常、2:禁止 1.4、索引规范在设计阶段,可以根据功能和性能的需求进行初步的索引设计,这里需要根据预计的数据量和查询来设计索引。根据数据量决定哪些表需要增加索引,数据量小的可以只有主键在合适的列上创建索引 根据使用频率决定哪些字段需要建立索引,选择经常作为连接条件、筛选条件、聚合查询、排 序的字段作为索引的候选字段。优化器查找到WHERE子句或连接条件列上的索引,如果可用,可避免全表扫描使用窄索引对表编制大量索引会影响 INSERT、UPDATE、DELETE 和 MERGE 语句的性能,因为当表中的数据更改时,所有索引都须进行适当的调整。例如如果某个列在几个索引中使用且您执行修改该列数据的 UPDATE 语句,则必须更新包含该列的每个索引以及基础的基表(堆或聚集索引)中的该列。总结 A、避免对经常更新的表进行过多的索引,并且索引应保持较窄,就是说,列要尽可能少。B、使用多个索引可以提高更新少而数据量大的查询的性能。大量索引,可以提高不修改数据的查询(例如 SELECT 语句的性能)单表索引不能超过六个检查索引的数据类型索引列的数据类型也是很重要的。例如在一个整数键值上的索引查询是非常快的,这是因为int数据类型的尺寸很小,而且算数操纵很容易二、程序书写规范2.1、大小写风格类型约定举例系统保留字大写BEGIN、DECLARE、ELSIF、END内置函数大写SUBSTR、COUNT、TO_NUMBER预定义类型大写NUMBER(7,2)、BOOLEANSQL关键字大写SELECT、INTO、WHERE数据库对象小写表名变量名小写2.2 、注释规范注释总是加在程序的需要一个概括性说明或不易理解或易理解错的地方。注释应语言简炼、易懂而又准确。2.2.1、注释的书写规范可采用单行/多行注释。(-- 或 /* */ 方式)2.2.2、源代码文件的注释在文件的头部必须标明程序名称,它所完成的主要功能。文件的作者,及完成时间。文件的状态:测试/未测试。主要修改活动的修改人、时间、简单原因说明列表、版本号。维护过程中需要修改程序时,应在被修改语句前面注明修改时间和原因说明。例如:/** 文件名: 功能描述: 状态: 作者: 完成时间: 修改时间: 修改: 修改原因:**/2.2.3、语句注释应对不易理解的分支条件表达式加注释;不易理解的循环,应说明出口条件(有GOTO的程序还应说明入口条件);对重要的计

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档