让你提前认识软件开发(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,欢迎关注!)

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题











苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

Hibernate多态映射可映射继承类到数据库,提供以下映射类型:joined-subclass:为子类创建单独表,包含父类所有列。table-per-class:为子类创建单独表,仅包含子类特有列。union-subclass:类似joined-subclass,但父类表联合所有子类列。

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

HTML无法直接读取数据库,但可以通过JavaScript和AJAX实现。其步骤包括建立数据库连接、发送查询、处理响应和更新页面。本文提供了利用JavaScript、AJAX和PHP来从MySQL数据库读取数据的实战示例,展示了如何在HTML页面中动态显示查询结果。该示例使用XMLHttpRequest建立数据库连接,发送查询并处理响应,从而将数据填充到页面元素中,实现了HTML读取数据库的功能。

PHP中处理数据库连接报错,可以使用以下步骤:使用mysqli_connect_errno()获取错误代码。使用mysqli_connect_error()获取错误消息。通过捕获并记录这些错误信息,可以轻松识别并解决数据库连接问题,确保应用程序的顺畅运行。

在Golang中使用数据库回调函数可以实现:在指定数据库操作完成后执行自定义代码。通过单独的函数添加自定义行为,无需编写额外代码。回调函数可用于插入、更新、删除和查询操作。必须使用sql.Exec、sql.QueryRow或sql.Query函数才能使用回调函数。

通过Go标准库database/sql包,可以连接到MySQL、PostgreSQL或SQLite等远程数据库:创建包含数据库连接信息的连接字符串。使用sql.Open()函数打开数据库连接。执行SQL查询和插入操作等数据库操作。使用defer关闭数据库连接以释放资源。

在C++中使用DataAccessObjects(DAO)库连接和操作数据库,包括建立数据库连接、执行SQL查询、插入新记录和更新现有记录。具体步骤为:1.包含必要的库语句;2.打开数据库文件;3.创建Recordset对象执行SQL查询或操作数据;4.遍历结果或按照具体需求更新记录。
