什么是数据库?什么是SQL?怎么入门SQL?( 二 )


4.XML数据库(XML Database,XMLDB)
最近几年,XMLB 作为在网络上进行交互的数据的形式逐渐普及起来 。XML 数据库可以对XML 形式的大量数据进行高速处理 。
5.键值存储系统(Key-Value Store,KVS)
这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库 。具有编程语言知识的读者可以把它想象成关联数组或者散列(hash) 。近年来,随着键值存储系统被应用到google 等需要对大量数据进行超高速查询的Web 服务当中,它正逐渐为人们所关注 。
下面向大家介绍使用SQL 语言的数据库管理系统,也就是关系数据库管理系统(RDBMS)的操作方法 。如无特殊说明,下面所提到的数据库以及DBMS 都是指RDBMS 。
数据库的结构
RDBMS 的常见系统结构
使用RDBMS 时,最常见的系统结构就是客户端/ 服务器类型(C/S类型)这种结构(图1) 。

什么是数据库?什么是SQL?怎么入门SQL?

文章插图
图1 使用RDBMS时的系统结构
服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机) 。在计算机上持续执行处理,并等待接收下一条请求 。RDBMS 也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回,还可以把数据变更为指定内容 。
与之相对,向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端 。访问由RDBMS 管理的数据库,进行数据读写的程序称为RDBMS 客户端 。RDBMS 客户端将想要获取什么样的数据,或者想对哪些数据进行何种变更等信息通过SQL 语句发送给RDBMS 服务器 。RDBMS 根据该语句的内容返回所请求的数据,或者对存储在数据库中的数据进行更新 。
客户端就如同委托方,而服务器就像是受托方 。由于两者关系类似受托方执行委托方发出的指令,故而得名 。
这样就可以使用SQL 语句来实现关系数据库的读写操作了 。
另外,RDBMS 既可以和其客户端安装在同一台计算机上,也可以分别安装在不同的计算机上 。这样一来,不仅可以通过网络使二者相互关联,还可以实现多个客户端访问同一个RDBMS(图2) 。
什么是数据库?什么是SQL?怎么入门SQL?

文章插图
图2 通过网络可以实现多个客户端访问同一个数据库
客户端没有必要使用同样的程序,只要能将SQL 发送给RDBMS,就可以操作数据库了 。并且,多个客户端还可以同时对同一个数据库进行读写操作 。
另外,RDBMS 除了需要同时接收多个客户端的请求之外,还需要操作存有大量数据的数据库,因此通常都会安装在比客户端性能更优越的计算机上 。操作数据量特别巨大的数据库时,还可以将多台计算机组合使用 。
虽然RDBMS 的系统结构多种多样,但是从客户端发来的SQL 语句基本上都是一样的 。
什么是SQLSQL是为操作数据库而开发的语言 。
它原本是为了提高数据库查询效率而开发的语言,但是现在不仅可以进行数据查询,就连数据的插入和删除等操作也基本上都可以通过SQL 来完成了 。
国际标准化组织(ISO)为SQL 制定了相应的标准,以此为基准的SQL 称为标准SQL 。
以前,完全基于标准SQL 的RDBMS 很少,通常需要根据不同的RDBMS来编写特定的SQL 语句 。这样一来,就会造成能够在Oracle 中使用的SQL 语句却无法在SQL Server 中使用,反之亦然 。近来,对标准SQL 的支持取得了一些进展,因此希望准备学习SQL 的人们能够从现在开始就牢记标准SQL 的书写方式 。
学会标准SQL 就可以在各种RDBMS 中书写SQL 语句了 。
SQL 语句及其种类
SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容 。关键字是指那些含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字 。
根据对RDBMS 赋予的指令种类的不同,SQL 语句可以分为以下三类 。
● DDL
DDL(Data Definition Language,数据定义语言) 用来创建或者删除存储数据用的数据库以及数据库中的表等对象 。DDL 包含以下几种指令 。
  • CREATE: 创建数据库和表等对象
  • DROP: 删除数据库和表等对象
  • ALTER: 修改数据库和表等对象的结构
●DML
DML(Data Manipulation Language,数据操纵语言) 用来查询或者变更表中的记录 。DML 包含以下几种指令 。


推荐阅读