热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

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

数据库是个通用化的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性。目前,国际上主导的大型数据库管理系统有ORACLE、SQLSERVER、SYBASE、INFORMIX和INGRES等。数据库中常用的编程语言是SQL语言,按其功能可分为四

数据库是个通用化的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与程序的独立性。目前,国际上主导的大型数据库管理系统有ORACLE、SQL SERVER、SYBASE、INFORMIX和INGRES等。 数据库中常用的编程语言是SQL语言,按其功能可分为四

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

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

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

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

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

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

其中,数据定义语言包括CREATE、DROP和ALTER语句,数据查询语言包括SELECT语句,数据操纵语言包括UPDATE、DELETE和INSERT语句,数据控制语言包括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. 总结

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


推荐阅读
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 本文介绍了如何使用 PostgreSQL 的 `UPDATE ... FROM` 语法,通过映射表实现对多行记录进行高效的批量更新。这种方法不仅适用于单列更新,还支持多列的同时更新。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 本文详细介绍了如何在 Linux 平台上安装和配置 PostgreSQL 数据库。通过访问官方资源并遵循特定的操作步骤,用户可以在不同发行版(如 Ubuntu 和 Red Hat)上顺利完成 PostgreSQL 的安装。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
author-avatar
12sadad
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有