热门标签 | 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. 总结

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


推荐阅读
  • ABP框架是ASP.NET Boilerplate的简称,它不仅是一个开源且文档丰富的应用程序框架,还提供了一套基于领域驱动设计(DDD)的最佳实践架构模型。本文将详细介绍ABP框架的特点、项目结构及其在Web API优先架构中的应用。 ... [详细]
  • 本文介绍了 Oracle SQL 中的集合运算、子查询、数据处理、表的创建与管理等内容。包括查询部门号为10和20的员工信息、使用集合运算、子查询的注意事项、数据插入与删除、表的创建与修改等。 ... [详细]
  • 本文介绍了如何在 SQL Server (MSSQL) 数据库中更新 XML 列中的属性和节点内容。 ... [详细]
  • 图数据库与传统数仓实现联邦查询使用CYPHER实现从关系数据库过滤时间序列指标一、MySQL得到研报实体在Oracle中的唯一ID二、Oracle中过滤时间序列数据三、CYPHER ... [详细]
  • 大数据领域的职业路径与角色解析
    本文将深入探讨大数据领域的各种职业和工作角色,帮助读者全面了解大数据行业的需求、市场趋势,以及从入门到高级专业人士的职业发展路径。文章还将详细介绍不同公司对大数据人才的需求,并解析各岗位的具体职责、所需技能和经验。 ... [详细]
  • Java毕业设计项目:“传情旧物”网站(含源码与数据库)
    本项目介绍了如何配置和运行“传情旧物”网站,包括所需的技术栈、环境配置以及具体的操作步骤。 ... [详细]
  • 本文为初学者提供了一条清晰的学习路线,帮助他们逐步成长为优秀的Web开发人员。通过十个关键步骤,涵盖从基础到高级的各个方面,确保每位学习者都能找到适合自己的学习方向。 ... [详细]
  • 在尝试将 mysqldump 文件加载到新的 MySQL 服务器时,遇到因使用保留关键字 'table' 导致的语法错误。 ... [详细]
  • 阿里面试题解析:分库分表后的无限扩容瓶颈与解决方案
    本文探讨了在分布式系统中,分库分表后的无限扩容问题及其解决方案。通过分析不同阶段的服务架构演变,提出了单元化作为解决数据库连接数过多的有效方法。 ... [详细]
  • 本文详细介绍了如何将Spring框架与Hibernate ORM框架进行集成,包括配置文件的设置和数据持久化操作的实现。 ... [详细]
  • 如何将两个具有相同主键的Excel表格合并
    本文介绍如何将两个具有相同主键的Excel表格进行合并,通过左连接的方式将表2的数据插入到表1中。具体步骤包括在表1中添加新的列、使用VLOOKUP函数进行数据匹配,以及通过SQL语句实现数据库中的表连接。 ... [详细]
  • 解决Win7安装SQL Server时NetFx3启动失败的问题
    在使用Win7系统安装SQL Server时,部分用户可能会遇到“启动Windows功能NetFx3时出错”的提示。本文将详细介绍这一问题的原因及解决方法。 ... [详细]
  • WPF项目学习.一
    WPF项目搭建版权声明:本文为博主初学经验,未经博主允许不得转载。一、前言记录在学习与制作WPF过程中遇到的解决方案。使用MVVM的优点是数据和视图分离,双向绑定,低耦合,可重用行 ... [详细]
  • 本文讨论了在 Oracle 10gR2 和 Solaris 10 64-bit 环境下,从 XMLType 列中提取数据并插入到 VARCHAR2 列时遇到的性能问题,并提供了优化建议。 ... [详细]
  • 本文探讨了在 SQL Server 2012 的 Integration Services 项目中配置 ADO.NET 源时遇到的错误及其解决方案。 ... [详细]
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社区 版权所有