让你提前认识软件开发(26):数据库脚本的注释

第2部分 数据库SQL语言

数据库脚本的注释

 

1. 概述

        注释在程序语言的编写中占有非常重要的地位。优美的、得当的注释不仅有助于研发人员理解程序,还能够提高编程效率(进而提高办事效率)。

        但是,可能是由于工作比较忙的缘故,许多开发人员不重视注释的书写,这也导致了项目交接的时候,其他开发人员理解程序困难,甚至不知道程序到底要做什么事情。因此,良好注释的书写是对一个开发人员的基本要求,大家一定要重视。

        对于脚本的注释,建议大家一律采用英文,这样可以体现出国际化、专业性与规范性。

 

2. 数据库脚本文件头部的注释

        很多脚本文件都没有头部的注释,大家认为它不重要。但作者认为一定要把这部分内容加上,这样为以后追踪版本信息提供了方便。

        在文件头部的注释中,要包括版权、数据库类型、创建日期、作者、修改记录等信息,可以采用以下的样式:

--*********************************************************************

-- copy right (C)2014, company name.

-- DB Type: XXX

-- Content: XXX

-- Created: YYYY.MM.DD

-- Modify1: The name of the author

-- Date1: YYYY.MM.DD

-- version1: The original version of the product

-- Modify2: The name of who modified the file

-- Date2: YYYY.MM.DD

-- version2: The updated version of the product

--**********************************************************************

 

3. 数据库脚本文件摘要信息的注释

        在头部注释之后,不要马上就开始创建表及存储过程,而应该有一个摘要。如果是建表脚本,摘要就是该文件中包括的表的名称和用途;如果是创建存储过程的脚本,摘要就是该文件中包括的存储过程的名称和用途。这个摘要可以起到索引的作用,帮助开发人员了解脚本文件的主要内容。

        摘要信息的注释可以采用以下的样式:

--********* XXX(Version)DataBase Table Creating*********

--*  1    table1                : description1

--*  2    table2                : description2

--*  3    table3                : description3

    . . . . . .

--***************************************************

 

4. 表或存储过程开头处的注释

        在表或存储过程的开头处添加注释,可以起到方便定位、易于查阅的作用。可以采用以下的样式:

-- XXX(The name of the table or procedure, and what it is used for)

The definition of the table or procedure

 

5. 表的各字段之后的注释

        在定义了一个表的各字段之后,需要对每个字段进行注释,以方便研发人员了解其作用,避免猜测和错误理解。这样,使用起来也会得心应手。

        表的定义及字段注释可以采用以下的样式:

create table tb_XXX

 (

    AAA               int                                   not null,          -- description1

    BBB              varchar(256)                 not null,          -- description2

    CCC              int default(0)                        null,          -- description3

    DDD             varchar(256)  default('''')   null,         -- description4

    . . . . . .

)

 

6. 存储过程的注释

        一般说来,存储过程包括的SQL语句比较多,因此注释也会比较的复杂。即便是这样,在一些关键语句的地方,一定要有注释,否则其他开发人员阅读起来就会比较费劲。

       存储过程的编写及注释可以采用以下的样式(以Sybase数据库中的语法为例):

create procedure pr_XXX

    @AAA          varchar(30),        -- description1

    @BBB          int,                       -- description2

    . . . . . .

as

begin

declare

    @CCC          int,                       -- description3

@DDD          varchar(100),        -- description4

    . . . . . .

   . . . . . .

    -- YYY(name) add YYYYMMDD for ZZZ begin

    . . . . . .

    -- YYY(name) add YYYYMMDD for ZZZ end

    . . . . . .

    statement1                    -- YYY add YYYYMMDD description5

    . . . . . .

    statement2                    -- YYY modify YYYYMMDD description6

     . . . . . .

    statement3                    -- YYY delete YYYYMMDD description7

    . . . . . .

    . . . . . .

    statement4                    -- description8(important statement)

    . . . . . .

end

 

7. 有关注释的一些规则和建议

(1) 统一使用“--”进行注释(不要使用“/* */进行注释”)。
(2) 脚本文件头部必须进行注释。

(3) 每段完成一定功能的脚本前(如创建数据表、存储过程、任务、插入缺省记录等),均应有注释说明。

(4) 创建数据表中每个字段后应有注释,说明字段含义,有些还需要说明取值范围等。

(5) 创建存储过程和函数中每个输入输出参数后应有注释,说明参数含义,有些还需要说明取值范围等。

(6) 对分支语句(包括条件分支)、循环语句等要编写注释。

(7) 保证代码和注释的一致性。修改代码同时修改相应的注释,不再有用的注释要删除。

(8) 注释应与其描述的代码相近,对代码的注释应放在其上方或右方(对数据表中字段和存储过程参数的注释)相邻位置,不可放在下面,如放于上方则需与其上面的代码用空行隔开。

(9) 注释与所描述代码进行同样的缩排。

(10) 中文版本的注释统一使用中文描述,海外版本的注释统一使用英文描述。

(11) 通过对函数或过程、变量等正确的命名以及合理地组织代码结构,使代码成为自注释的。

(12) 尽量避免在注释中使用缩写,特别是不常用缩写。

 

8. 总结

        注释的作用是锦上添花,不恰当的注释不但不能够起到应有的作用,反而有可能让人产生误解。因此,我们在添加脚本文件注释的时候,一定要遵循简单、清晰、明了、通俗易懂的原则。

 

 

(本系列文章每周更新两篇,敬请期待!本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,微信号:245924426,欢迎关注!)

时间: 2024-09-13 16:55:16

让你提前认识软件开发(26):数据库脚本的注释的相关文章

提前认识软件开发(26) 数据库脚本的注释

1. 概述 注释在程序语言的编写中占有非常重要的地位.优美的.得当的注释不仅有助于研发人员理解程序,还能够提高编程效率(进而提高办事效率). 但是,可能是由于工作比较忙的缘故,许多开发人员不重视注释的书写,这也导致了项目交接的时候,其他开发人员理解程序困难,甚至不知道程序到底要做什么事情.因此,良好注释的书写是对一个开发人员的基本要求,大家一定要重视. 对于脚本的注释,建议大家一律采用英文,这样可以体现出国际化.专业性与规范性. 2. 数据库脚本文件头部的注释 很多脚本文件都没有头部的注释,大家

提前认识软件开发(29) 数据库脚本文件的布局

"没有规矩,不成方圆",规范数据库脚本文件的代码布局具有以下重要意义: (1) 可表现出代码良好的逻辑结构,提高代码的准确性.连续性.可读性及可维护性. (2) 有利于提高产品的开发质量和效率,并降低开发成本. (3) 对于开发人员来说,养成良好的脚本编写习惯有助于提高个人的数据库脚本编程水平,进而提高脚本编程效率. 可见,统一的.良好的脚本代码布局和风格不仅仅是个人主观美学或形式上的问题,而且影响到产品的质量,并涉及到自身脚本编程能力的提高. 1. 脚本布局顺序概述 在实际的软件开发

提前认识软件开发(31) 数据库脚本中的begin与end

在数据库脚本中,begin与end是一对奇怪的单词.缺少它们,某些代码看起来会让人一头雾水:添加它们,代码的结构瞬间就清晰了. 确实,begin与end作为代码语句的开始和结束标志,可以让脚本程序的逻辑明确,易于阅读. begin与end主要用在以下地方: 1. if.else.else if.while等语句中 if.else.else if.while等语句要自占一行,执行语句不得紧跟其后,不论执行语句有多少都要加语句块标志begin-end. 脚本文件中的begin和end应独占一行并且位

提前认识软件开发(30) 数据库脚本中的空行与空格

在数据库脚本中,空行与空格起着"锦上添花"的作用.恰当地使用它们,可以提高代码的规范性及可阅读性,进而提升数据库的编程效率. 1. 空行 空行起着分隔脚本段落的作用,适当的空行可以使脚本的布局更加的清晰.空行的作用有以下几个: (1) 用于分隔两个数据表的创建脚本 示例: create table tb_example1 ( [表内容实现代码] ) go -- 空行 create table tb_example2 ( [表内容实现代码] ) go (2) 用于分割两个存储过程的创建脚

提前认识软件开发(25) 数据库简介

数据库是个通用化的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性.目前,国际上主导的大型数据库管理系统有ORACLE.SQL SERVER.SYBASE.INFORMIX和INGRES等. 数据库中常用的编程语言是SQL语言,按其功能可分为四大部分: 开发(25) 数据库简介-tcga数据库简介"> (1) 数据定义语言(Data Definition Language,DDL),用于定义.撤销和修改数据模式. (2) 数据查询语言(Data Query

提前认识软件开发(32) 数据库索引

索引在数据库中占有非常重要的地位,它是对数据库表中一列或多列的值进行排序的一种结构.正确使用索引,可快速访问数据库表中的特定信息,进而提高数据库脚本的执行效率. 1. 索引分类 数据库表中经常有一列或几列的组合,其值唯一地标识表中的每一行,该列称为表的主键. 在数据库中,将索引分为三类:唯一索引.主键索引和聚集索引. 唯一索引是不允许其中任何两行具有相同索引值的索引,即索引列的值不允许重复. 主键索引是唯一索引的特定类型,该索引要求主键中的每个值都唯一. 在聚集索引中,表中行的物理顺序与键值的逻

提前认识软件开发(28) 数据库存储过程中的重要表信息的保存

1. 存储过程中的重要表信息的保存 在很多存储过程中,会涉及到对表数据的更新.插入或删除等,为了防止修改之后的表数据出现问题,同时方便追踪问题,一般会为一些重要的表建立一个对应的debug表.这个debug表中的字段要包括原表的所有字段,同时要增加操作时间.操作码和操作描述等字段信息. 例如,在某项目中,包括了如下一个重要的表tb_XXX: create table tb_XXX ( AAA varchar(30) not null, -- AAA BBB varchar(30) not nul

提前认识软件开发(27) 数据库表及索引的创建

数据表(或称表),是数据库最重要的组成部分之一.数据库只是一个框架,数据表才是其实质的内容.举个例子来说,数据库就像是一座空旷的房子,而数据表是里面的家具,没有家具的房子只是一个空壳而已.根据信息的分类情况,一个数据库中可能包含若干个不同用途的数据表. 表结构有简单.有复杂,这就对开发人员提出了要求.如何设计一个表的字段才是最好的?表的字段如何命名?如何定义表字段的类型?如何建立索引?等等. 1. 修改之前的建表脚本 在作者从事过的某项目中,有一个建表脚本(基于Sybase数据库)样例如下: -

提前认识软件开发(34) 数据库的维护

对于某些大型软件产品,一旦商用,必然会存储很多用户信息,这就对产品所使用的数据库(以下简称业务数据库)带来了压力.为了保证业务数据库的平稳运行,需要在日常工作中对数据库做一些基本的维护操作. 业务数据库的维护规则如下: 1. 对业务数据库必须进行定期全量备份 业务数据库的定期备份能在数据库被意外破坏时进行快速恢复,备份策略可以根据数据增量大小采用周计划或月计划. 假如备份数据库db_100,则Oracle.Sybase和SQL Server中的操作方法如下: (1) Oracle用户模式的备份