欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年数据库编码标准 .pdf

    • 资源ID:25942551       资源大小:52.06KB        全文页数:5页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年数据库编码标准 .pdf

    MIS 系统课程设计规范(草案)1开发环境规范使用 windows 操作系统使用 SQL Server 或 ACCESS 数据库2开发语言规范使用团队熟悉的一种开发语言,如:VB,Delphi,ASP,JSP,Java3开发文档的规范需求文档规范设计文档规范程序编码标准附录:数据库编码标准9.1 大小写规则1.关键字采用大写。2.系统定义的对象及数据类型采用小写。3.引用变量、参数、列名,以及表、过程和视图之类的对象名时,使用混合的大小写9.2 缩进与空白1.选择a.一般缩进为两个英文字符的宽度,但SELECT 语句的折行显示应字段对齐,例如:SELECT CustomerID,Companyname,ContactName,ContactTitle,Address,City, Region,PostalCode,Country,Phone,Fax, FROM Northwind.dbo.customers b.没有理由将一个短的SELECT 语句拆为多行。例如:IF EXISTS ( SELEC * FROM Northwind.dbo.Customers )c.对于比较长的SELECT 语句, 通常将每个主要子句放置在单独的一行中,并且让它们左对齐。通常将列紧挨SELECT 保留字之右放置。如果存在许多列而无法放置在同一行中,则只要在下一行中继续给出此列表,通常对位于第二行和后续行中的列缩进排列,以便它们与第一行中的列对齐。例如:SELECT CustomerID,Companyname,ContactName,ContactTitle,Address,City, Region,PostalCode,Country,Phone,Fax, FROM Northwind.dbo.customers WHERE City IN(London,Madred) 2.字句与谓词名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 5 页 - - - - - - - - - a.构成主要子句的较小子句让它们相互对齐, 如果将一个复合句的组成部分放置在同一行中,则通常用圆括号分隔它们。例如:SELECT CustomerID,CompanyName,ContactName,ContactTitle,Address,City, Region,PostalCode,Phone,Fax, FROM Northwind.dbo.Customers WHERE City = China OR City = London OR City = Madrid 3.表达式如果一个 CASE 表达式比较简单,则我通常将其嵌入单一的代码行。如果它比较复杂,则将其拆为多行。对于函数及其他类型表达式也如此,例如:SELECT CustomedD ,CompanyName,ContactName,ContactTitle ,Phone, CASE WHEN Fax Is NULL THEN N ELSE Y END AS FaxFROM Northwind.dbo.Customers WHERE City = London 较复杂的 CASE 表达式通常占用多行SELECT CASE Region WHEN WA THEN Phil WHEN SP THEN Xavier WHEN BC THENJ Jean-Marc ELSE Unknown END AS Salesman,CustomerID,CompanyName,ContactName, FROM Northwind.dbo.Customers ORDER BY Salesman 9.3BEGIN/END 规则参照 DELPHI 编码标准 2.3。9.4 圆括号规则参照 DELPHI 编码标准 3.1。9.5 水平间隔规则参照 DELPHI 编码标准 2.5。9.6 列与表的别名对于列与表的别名通常使用的是 ColumnName As Label, 建议表的别名用一个或两个缩写字符。在SELECT 列表中的列名前应用各自的表别名作为列引用的前缀,其理由有两个。第一,它增加了代码的可读性。不必猜测一个列是源自哪里。第二,它增强了代码的健壮性。如果您在此后向查询中增加一个表,该表恰巧包含一个与未限定的列同名的列,则将得到令人讨厌的“不确定的列名”错误消息。9.7 缩写与可选关键字名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 1.关键字对于可选关键字。一般应在自己的代码中省略它们。这种代码决不会产生语法错误,决不会中断, 决不会通过对工具的修改而变得失效,而且不占用宝贵的屏幕资源。其中的例外就是与 INSERT命令一起的INTO关键字不要省略,因为在ORACLE 数据库中必须这样,以及与 DELETE 命令一起的FROM 关键字要省略。2. 常见单词的缩写当您在自己创建的对象名中缩写常见单词时,请尽量保持一致。如果在一个名称中将number 缩写为“ Num” ,则在所有对象中都做类似的缩写。不要在一个表中缩写为“ No”(如, CustNo) ,而在另一个表中又缩写为“ Number” (如, InvoiceNumber ) 。请保持一致。9.8 名称选择当命名一个对象时,要避免表、视图、UDF 、过程、触发器、默认值和规则对象之间的命名冲突, 因为它们的命名必须唯一。例如,不能让一个存储过程和一个表拥有相同的名称。如前所述,尽量保持命名的描述性,而不放任自流。1.表对于表,通常应使用单个单词的单数形式的实体类型名称(如,Customer) 。如果表与其它表有关联,应尽量建立主键与外键。2.视图对于视图,通常应使用V_开头,加上有意义的描述性单词(如,V_Customer) 。3.索引索引命名应据用描述性,见名知意,如果一个索引是建立在表Customer的 CompanyName和 ContractName 列之上, 则好的命名应为CompanyNameContractName 或类似的名称, 因为索引不必在整个数据库中唯一,这样只看一下名称就可以知道该索引的主键是什么。4.触发器对于触发器,使用这样一种命名规则,它表示激发触发器的动作和该触发器所关联的表名(如, DeleteCustomer 或 InsertUpdateOrder) 。如果触发器拥有特别的特性(如,它是一个INSTEADOF触 发 器 ) , 则 通 常 通 过 一 个 名 称 的 前 缀 来 表 明 这 一 点 ( 如 ,InsteadOfDeleteCustomer) 。建议:除非别无它法,否则应尽可能避免使用触发器。5.变量参照 DELPHI 编码标准3.4。6.过程和函数过程与函数应以基于动词的形式命名,如PostPurchases或 BuildHistory 。7.约束约束的命名应能区分是哪一各类型的约束,并能根据名称知道该约束是干什么的,通常主键前加前缀PK_,外部键加前缀FK_,唯一键加前缀UK_ ,检查约束加前缀CK_,如:PK_EmployeeID ,CK_Amount must not equal 0 。建议: 如果表中的某列或多列不可以出现重复记录,应尽可能地在这此列上建立唯一约束。9.9 编码约定1.脚本建议(1) 对象删除试图删除一个对象之前应检查其存在性。不这样做会不必要地生成错误消息,甚至当DROP 命令被分割在其自己的TSQL 批处理之中。 错误消息应该是一种会引起您注意的内名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 容,而不是一种可以经常被忽略的内容。应避免生成不必要的错误消息,以免变得对它们熟视无睹。(2) 注释通过平衡澄清含糊与不确定的编码元素的需求与让代码免于噪声和不必要干扰的需求,来确定在自己的代码中“注释”什么。过分的注释与注释不足同样不可取。过分注释一个脚本将给您带来大量的工作,还不能真正改善代码的可读性。当处理某些从编码的角度来看不是显而易见的,并且那些继续处理此编码的人应该知道的内容时, 才应注释它。 任何有意义的存储过程都应该在其开始处包含一个代码块,用来描述该过程以及该过程做什么。如同对待任何源代码过程,跟踪诸如谁修改了代码和修改代码的时间等事项也可以是非常方便的注释应尽量用斜线-星号 (/* .*/),而少用双斜线(/) (3) 脚本文件一般而言在一个单独的脚本文件中保存自己所创建的每个数据库对象的源代码。对于重新创建或修改对象而言,这样做提供了最大的灵活性。(4) 脚本段如果脚本包含多个没有共享局部变量的不同段,那么通常用GO 来分隔各个段,以便模块化所要执行的操作。按照这种方式, 如果在其中一个段出现错误,则可以防止它引起紧跟其后的段出错。 相反地, 如果希望脚本段只在其前一个脚本段不出错的条件下执行,则可以去掉 GO 并将两块代码合并为一块。如果在前面的块中出现较严重的错误,则位于后面的块中的命令永远都不会执行。(5) USE 如果一个脚本必须从给定数据库中运行,那么在脚本中尽可能地包含合适的USE 命令。2.存储过程与函数(1) 变量声明如果可能, 应集中地在一个位置声明存储过程或函数将使用的变量,最好在过程或函数的开始处。尽管语法上允许在代码的任何位置声明变量,但为查找一个变量声明而不得不搜索一个例程将浪费时间并导致代码更难于理解。(2) 存储过程的返回值与参数在存储过程中对于过程的返回值应检查其正确性并做出适当的处理,通常,值0 表示成功,非零值表示已出现了错误,对于存储过程的参数,应尽早检查参数的正确性,并且当提供的值不对时应返回一个错误,这样防止无效值或操作影响数据的正确性。(3) 默认参数值给存储过和或UDF 的参数提供默认值是一种不错的做法,这让它们更易于使用、更灵活和更不易出错。(4) 错误健壮代码的标志在于全面的错误检查,应在关键操作和相应响应之后进行错误检查。通常在可能导致一个错误条件的语句这后立即检查ERROR ,并且当一个语句没有影响任何构成错误的行时,检查ROWCOUNT 。(5) 模块性较之于单一且非常长的存储过程,一组较小且逻辑简单的例程更易于处理和理解。在可能的情况下,应将复杂例程拆分为较小的例程。3.表与视图(1) 临时表在可能的情况下,应尽量过分使用临时表。两个理由: 第一, 它们可以导致吞吐量问题,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - 因为位于tempdb 的资源争用。第二,与永久表相比,对于保持对临时表的更新统计,SQL Server 更为主动。 这会引起性能问题和未预料的存储过程的重编译。避免临时表的一种策略是使用 table 变量,当它超出作用域时,会被自动删除。(2) 资源清除在使用监临时表时,应在不再需要时删除它们。对于游标也是如此:当使用完它们,应关闭并释放它们。(3) 系统表除非别无它法,应力求避免直接查询系统表,SQL SERVER 提供一组属性函数(如,DATABASEPROPERTY() 、COLUMNPROPERTY()、OBJECTPROPERTY() 等)以及大量视图与系统存储过程供您使用,直接查询系统表有两点不足。第一, 系统表在不同版本之间会有变化。 第二, 与等价的属性可无数据函数相比,通过直接引用系统表获得的系统级信息通常欠缺可读性。4.Trabsact-Sql (1) 特殊了一 SQL 在可能的情况下,应避免通过EXEC ()函数执行特殊TSQL。有两个理由。第一,由特殊 T SQL 生成的执行计划不能像存储过程的执行计划那样得以重用。第二,特殊TSQL非常难于调试。因此, 如果可能, 应将代码放置在正常的存储过程和函数等对象之中,然后调用这些对象。这几乎总是优于任何动态TSQL 途径。 如果必须执行在运行时生成的T-SQL,则我力求使用扩展过程sp_executesql。它通常明显快于EXEC () ,而且服务于sp_executesql 的执行计划被插入缓存并可被复用。(2) COMPUTE 与 PRINT COMPUTE是一个坏消息,因为它实际上导致多结果集被创建。您必须对它们全部做迭代,以便获得由一个COMPUTE 查询所返回的所有行。ROLLUP 和 CUBE 运算符更好,因为它们可以完成COMPUTE所完成的全部操作,甚至更多,但是,它们这样做时不需要额外的结果集。PRINT 也欠理想, ADO 不能正确地返回报告消息,除非还正好产生一个包含大于10 的严重级的消息。换言之,当使用ADO 运行查询时,将永远不会看到PAINT 消息,除非还产生了此查询的真正错误消息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -

    注意事项

    本文(2022年数据库编码标准 .pdf)为本站会员(Q****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开