搜索
首页数据库mysql教程让你提前认识软件开发(26):数据库脚本的注释

第2部分 数据库SQL语言 数据库脚本的注释 1. 概述 注释在程序语言的编写中占有非常重要的地位。优美的、得当的注释不仅有助于研发人员理解程序,还能够提高编程效率(进而提高办事效率)。 但是,可能是由于工作比较忙的缘故,许多开发人员不重视注释的书写,

第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) 统一使用“--”进行注释(不要使用“/* */进行注释”)。

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

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

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

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

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

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

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

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

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

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

8. 总结

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

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

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
将用户添加到MySQL:完整的教程将用户添加到MySQL:完整的教程May 12, 2025 am 12:14 AM

掌握添加MySQL用户的方法对于数据库管理员和开发者至关重要,因为它确保数据库的安全性和访问控制。1)使用CREATEUSER命令创建新用户,2)通过GRANT命令分配权限,3)使用FLUSHPRIVILEGES确保权限生效,4)定期审计和清理用户账户以维护性能和安全。

掌握mySQL字符串数据类型:varchar vs.文本与char掌握mySQL字符串数据类型:varchar vs.文本与charMay 12, 2025 am 12:12 AM

chosecharforfixed-lengthdata,varcharforvariable-lengthdata,andtextforlargetextfield.1)chariseffity forconsistent-lengthdatalikecodes.2)varcharsuitsvariable-lengthdatalikenames,ballancingflexibilitibility andperformance.3)

MySQL:字符串数据类型和索引:最佳实践MySQL:字符串数据类型和索引:最佳实践May 12, 2025 am 12:11 AM

在MySQL中处理字符串数据类型和索引的最佳实践包括:1)选择合适的字符串类型,如CHAR用于固定长度,VARCHAR用于可变长度,TEXT用于大文本;2)谨慎索引,避免过度索引,针对常用查询创建索引;3)使用前缀索引和全文索引优化长字符串搜索;4)定期监控和优化索引,保持索引小巧高效。通过这些方法,可以在读取和写入性能之间取得平衡,提升数据库效率。

mysql:如何远程添加用户mysql:如何远程添加用户May 12, 2025 am 12:10 AM

ToaddauserremotelytoMySQL,followthesesteps:1)ConnecttoMySQLasroot,2)Createanewuserwithremoteaccess,3)Grantnecessaryprivileges,and4)Flushprivileges.BecautiousofsecurityrisksbylimitingprivilegesandaccesstospecificIPs,ensuringstrongpasswords,andmonitori

MySQL字符串数据类型的最终指南:有效的数据存储MySQL字符串数据类型的最终指南:有效的数据存储May 12, 2025 am 12:05 AM

tostorestringsefliceflicyInmySql,ChooSetherightDataTypeBasedyOrneOrneEds:1)USEcharforFixed-LengthStstringStringStringSlikeCountryCodes.2)UseVarcharforvariable-lengtthslikenames.3)USETEXTCONTENT.3)

MySQL:字符串数据类型可用哪些字符集?MySQL:字符串数据类型可用哪些字符集?May 10, 2025 am 12:07 AM

mysqloffersvariouscharactersetsforstringdatatypes:1)latin1 forwesterneuropeanlanguages,2)utf8 formultingualsupport,3)utf8mb4f OREXTEDENDENDENENICODECLUDINGEMOJIS,4)UCS2FORIXED-WIDTHENCODING,5)assiiforbasiclatin.ChoosideStherightStetSetensensersdaintegrity

mysql:斑点流比存储它们更好吗?mysql:斑点流比存储它们更好吗?May 10, 2025 am 12:06 AM

流式传输BLOB确实比直接存储更好,因为它能减少内存使用和提高性能。1)通过逐步读取和处理文件,避免了数据库膨胀和性能下降。2)流式传输需要更复杂的代码逻辑,且可能增加I/O操作次数。

MySQL字符串类型:存储,性能和最佳实践MySQL字符串类型:存储,性能和最佳实践May 10, 2025 am 12:02 AM

mySqlStringTypesimpactStorageAndPerformanCeaseAsfollows:1)长度,始终使用theSamestoragespace,whatcanbefasterbutlessspace-felfficity.2)varCharisvariable varcharisvariable length,morespace-morespace-morespace-effficitybuteftife buteftife butfority butfority textifforlyslower.3)

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

功能强大的PHP集成开发环境