购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第3章
SQL语言基础及数据定义功能

用户使用数据库时需要对数据库进行各种各样的操作,如查询数据,添加、删除和修改数据,定义、修改数据模式等。DBMS必须为用户提供相应的命令或语言,这就构成了用户和数据库的接口。接口的好坏会直接影响用户对数据库的接受程度。

数据库所提供的语言一般局限于对数据库的操作,它不是完备的程序设计语言,也不能独立地用来编写应用程序。

SQL(Structured Query Language,结构化查询语言)是用户操作关系数据库的通用语言。SQL虽然叫结构化查询语言,而且查询操作确实是数据库中的主要操作,但并不是说SQL只支持查询操作,它实际上包含数据定义、数据操作和数据控制等与数据库有关的全部功能。

SQL已经成为关系数据库的标准语言,所以现在所有的关系数据库管理系统,包括小型数据库管理系统(如Access)都支持SQL语言,只是不同的系统支持的SQL语言功能有所区别。本章首先介绍一般SQL语言支持的数据类型,然后介绍SQL语言中的数据定义功能。

3.1 基本概念

SQL语言是操作关系数据库的标准语言,本节介绍SQL语言的发展过程、特点以及主要功能。

3.1.1 SQL语言的发展

最早的SQL原型是IBM的研究人员在20世纪70年代开发的,该原型被命名为SEQUEL(由Structured English QUEry Language的首字母缩写组成)。现在许多人仍将在这个原型之后推出的SQL语言发音为“sequel”,但根据ANSI SQL委员会的规定,其正式发音应该是“ess cue ell”。随着SQL语言的颁布,各数据库厂商纷纷在自己的产品中引入并支持SQL语言,但尽管绝大多数产品对SQL语言的支持大部分是相似的,但它们之间也存在着一定的差异,这些差异不利于初学者进行学习。因此,我们在本章介绍SQL时主要介绍标准的SQL语言,我们将其称为基本SQL。

从20世纪80年代以来,SQL就一直是关系数据库管理系统(RDBMS)的标准语言。最早的SQL标准是1986年10月由美国ANSI(American National Standards Institute)颁布的。随后,ISO(International Standards Organization)于1987年6月也正式采纳它为国际标准,并在此基础上进行了补充,到1989年4月,ISO提出了具有完整性特征的SQL,并称之为SQL-89。SQL-89标准的颁布,对数据库技术的发展和数据库的应用都起了很大的推动作用。尽管如此,SQL-89仍有许多不足或不能满足应用需求的地方。为此,在SQL-89的基础上,经过3年多的研究和修改,ISO和ANSI共同于1992年8月又颁布了SQL的新标准,即SQL-92(或称为SQL2)。SQL-92标准也不是非常完备的,1999年又颁布了新的SQL标准,称为SQL-99或SQL3。

3.1.2 SQL语言的特点

SQL之所以能够被用户和业界所接受并成为国际标准,是因为它是一个综合的、功能强大的且又比较简洁易学的语言。SQL语言集数据查询、数据操作、数据定义和数据控制功能于一身,其主要特点如下。

1.一体化

SQL语言风格统一,可以完成数据库活动中的全部工作,包括创建数据库、定义模式、更改和查询数据以及安全控制和维护数据库等。这为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入使用之后,还可以根据需要随时修改模式结构,并且可以不影响数据库的运行,从而使系统具有良好的可扩展性。

2.高度非过程化

在使用SQL语言访问数据库时,用户没有必要告诉计算机“如何”一步步地实现操作,而只需要描述清楚要“做什么”,SQL语言就可以将要求提交给数据库管理系统,然后由数据库管理系统自动完成全部工作。

3.简洁

虽然SQL语言功能很强,但它只有为数不多的几条命令,另外,SQL的语法也比较简单,比较接近自然语言(英语),因此容易学习、掌握。

4.以多种方式使用

SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中使用。现在很多数据库应用开发工具(比如Visual Basic、PowerBuilder、C#等)都将SQL语言直接融入自身的语言中,使用起来非常方便。这些使用方式为用户提供了灵活的选择余地。而且不管是哪种使用方式,SQL语言的语法基本都是一样的。

3.1.3 SQL语言的功能概述

SQL按其功能可分为四大部分:数据定义功能、数据查询功能、数据操作功能和数据控制功能。表3-1列出了实现这四部分功能的动词。

表3-1 SQL包含的主要动词

数据定义功能用于定义、删除和修改数据库中的对象,数据库对象包括关系表、视图等;数据查询用于实现查询数据的功能,查询数据是数据库中使用最多的操作;数据操作功能用于增加、删除和修改数据库数据;数据控制功能用于控制用户对数据库的操作权限。

本章介绍数据定义功能中定义关系表的SQL语句,同时介绍在定义表时如何实现数据的完整性约束。在第4章介绍实现数据查询和数据操作功能的SQL语句,在第11章介绍实现数据控制功能的语句,创建数据库的语句在第10章介绍。在介绍这些功能之前,首先介绍SQL语言所支持的数据类型。因为本书是以SQL Server 2019作为实践平台,因此这里主要介绍的是SQL Server 2019提供的数据类型。 7r0g5pMc/pFCMB7F+C4/bfbCBQZYLW1cV41ESfKEV44H6p92rju8opiel1I1n/e6

点击中间区域
呼出菜单
上一章
目录
下一章
×