漫谈数据库SQL语言(1):从注释谈起

数据库是个通用化的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性。目前,国际上主导的大型数据库管理系统有ORACLESQL SERVERSYBASEINFORMIXINGRES等。

数据库中常用的编程语言是SQL语言,按其功能可分为四大部分:

(1)   数据定义语言(Data Definition Language),用于定义、撤销和修改数据模式。

(2)   数据查询语言(Data Query Language),用于查询数据。

(3)   数据操纵语言(Data Manipulation Language),用于增、删、改数据。

(4)   数据控制语言(Data Control Language),用于数据访问权限的控制。

其中,数据定义语言包括CREATEDROPALTER语句,数据查询语言包括SELECT语句,数据操纵语言包括UPDATEDELETEINSERT语句,数据控制语言包括GRANT语句。

在数据库中,除了以上四种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语句比较多,因此注释也会比较的复杂。即便是这样,在一些关键语句的地方,一定要有注释,否则其他开发人员阅读起来就会比较费劲。

存储过程的编写及注释可以采用以下的样式:

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.      总结

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

 

 

 

(本人微博名:周兆熊,微信号:245924426,欢迎关注!)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。