作者:[日]MICK
出版社:人民邮电出版社
格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT
SQL基础教程(第2版)试读:
前言
本书面向完全没有编程和系统开发经验的初学者,介绍了关系数据库以及用来操作关系数据库的 SQL 语言的使用方法。各个章节结合具体示例进行解说,并在每章的结尾安排了习题,用来检验读者对该章内容的理解程度。大家可以从第 1 章开始,亲自验证示例程序,循序渐进地掌握 SQL 的基础知识和技巧。另外,本书还将重要知识点总结为法则,方便读者在学习完本书之后随时查阅。
近年来,和其他系统领域一样,数据库领域也实现了飞速发展,应用范围不断扩大,不但出现了具有新功能的数据库,而且操作的数据量也大幅增长。
本书将要介绍的关系数据库是时下最流行的数据库,也是理解其他数据库的基础。在系统领域,通常所讲的数据库指的就是关系数据库,其重要性可见一斑。
估计很多读者今后都会慢慢积累各个领域、各种规模的系统开发经验(或者可能已经开始从事开发方面的工作了),到那时,所有的系统必定都需要使用数据库。它们使用的数据库,即便不是关系数据库,也一定是以关系数据库为基础的数据库。从这个意义上看,如果掌握了关系数据库和 SQL,就能成为任何系统开发都需要的数据库专家了。
现在距离本书初版问世已经 6 年了,在这 6 年间,数据库发挥了越来越重要的作用。以前就有专家使用数据库进行统计分析,后来数据库也开始逐渐被应用到大规模数据的处理上,并引发了商业领域的变革。象征着这一变化的“大数据”“数据科学”等用语,已经突破了系统的领域,蔓延到了整个社会之中。甚至有观点认为,统计分析将和人工智能并列成为决定社会未来走向的重要因素。
一方面,数据库的世界中也进行着技术的革新。如今,以 KVS 为代表的非关系数据库的使用已经不再稀奇。同时,为了追求更高的大规模数据处理的性能,内存数据库和面向列数据库的技术也取得了长足的进步,并逐渐投入到实际应用当中。
另一方面,关系数据库依然是当今的主流数据库,这一点没有变。从这个意义上来说,学习关系数据库和操作关系数据库的语言 SQL 语句,仍然是探究数据库世界的第一步,这一点也没有变,但这并不是说关系数据库和 SQL 语句一直在止步不前。大多数 DBMS 都支持窗口函数和 GROUPING 运算符(详见第 8 章),高效处理大规模数据的功能也更加完善。掌握了 SQL 语句,就可以自由自在地操作数据,构筑高效的系统。
本书与时俱进地进行了版本升级。不但根据具有代表性的 DBMS 的新版本对 SQL 语法的支持情况更新了描述,还新增了第 9 章,介绍了通过应用程序来使用数据库的方法。
本书旨在把数据库领域的精彩展示给大家,衷心希望本书能为大家的进步提供一些帮助。MICK关于本书
本书是编程学习系列的 SQL 和关系数据库篇。该系列注重对初学者编程能力的培养,本书秉承了这一宗旨。本书不仅可以用于自学,也可以作为大学、专科学校和企业新人的培训用书。书中提供了大量的示例程序和详实的操作步骤说明,大家可以亲自动手解决具体的问题,切实提高自身的编程能力。
另外,在各章的结尾处还安排了习题来帮助大家复习该章的知识要点,习题的答案和讲解收录在附录中。读者对象● 不了解数据库和 SQL 知识的人● 虽然自学了一些 SQL 知识,但仍希望进行系统学习的人● 需要使用数据库,但不知道从何入手的人● 在大学、专科学校和企业的教育部门等从事数据库和 SQL
教学的人● 希望了解信息处理考试中 SQL 部分应试策略的人学习本书前的预备知识● 了解 Windows 的基本操作方法● 能够使用Windows 的资源管理器创建文件夹并复制文件● 能够使用Windows 的记事本(或者其他文本编辑器)创建
文本文件本书涉及的关系数据库
本书中使用的 SQL 语句全部都在下列关系数据库管理系统(RDBMS)中进行了验证。● Oracle Database 12cR1● SQL Server 2014● DB2 10.5● PostgreSQL 9.5.3● MySQL 5.7
在这 5 种 RDBMS 之间存在差异的 SQL 语句,或者只能在某种特定的 RDBMS 中使用的 SQL 语句,本书都用下列图标进行标识,来提示执行 SQL 语句所使用的 RDBMS。
Oracle SQL Server DB2 PostgreSQL MySQL
反之,在所有 RDBMS 中都能正常执行的 SQL 语句则不用图标标识。本书的学习安排
首先,在第 1 章前半部分学习关系数据库和 SQL 的基础知识,然后结合具体的 SQL 示例程序进行循序渐进的学习。
在 SQL 的学习中,最重要的就是以下两点:● 亲自编写 SQL 语句● 通过执行 SQL 语句来学习和理解数据库操作
要提高学习效率,需尽量亲自执行并验证本书中的示例程序,逐步深入学习。
为了便于初学者操作,本书使用 PostgreSQL 作为 SQL 语句的学习环境。在开始学习之前,读者需要先在自己的电脑上安装 PostgreSQL,准备好 SQL 语句的执行环境。关于 PostgreSQL 的安装方法、SQL 语句的执行方法等详细内容,我们会在第 0 章介绍。
如果你已经安装了上述“本书涉及的关系数据库”中的数据库,也可以直接使用。
另外,如无特殊说明,本书中出现的 SQL 语句的执行结果,都是在 PostgreSQL 9.5 中执行的结果。关于程序下载
本书中的示例程序都可以从下面的网站下载。
http://www.ituring.com.cn/book/1880
示例程序为压缩的 Zip 文件形式,解压后的文件结构如下所示。
ReadMe.txt 文件
介绍了示例程序的内容和注意事项,使用前请务必阅读该文件。
Sample文件夹
本书中所使用的示例程序分别保存在以章节为单位的文件夹中。在 Sample\CreateTable 文件夹中,按照 RDBMS 的不同,分别保存了用来创建示例用表的 SQL 语句。
Answer文件夹
各章末习题的答案(示例程序),分别保存在以章为单位的目录中。关于示例程序
示例程序的文件名与书中的代码清单编号相对应。例如,1-5 节的代码清单 1-3 的示例程序,保存的位置和文件名如下所示。
另外,像如下代码清单这样,在不同的 RDBMS 中存在差异的 SQL 语句,会在其文件名的末尾加上 RDBMS 的名称。
代码清单1-4 添加一列可以存储 100 位可变长度字符串的 product_name_pinyin 列DB2 PostgreSQL MySQLALTER TABLE Product ADD COLUMN product_name_pinyin VARCHAR(100);OracleALTER TABLE Product ADD (product_name_pinyin VARCHAR(100));SQL ServerALTER TABLE Product ADD product_name_pinyin VARCHAR(100);
这种情况下,示例程序的文件名如下所示。● List1_4_DB2_PostgreSQL_MySQL.sql● List1_4_Oracle.sql● List1_4_SQL Server.sql
创建示例用表的 SQL 语句
用于创建示例用表的 SQL 文件保存在 Sample\CreateTable 文件夹中,文件名为“`CreateTable 表名.sql”。例如,PostgreSQL 用到的表 Product 保存在下述目录中。
保存在 Sample 文件夹中的示例程序文件,可以使用 Windows 的记事本(或者其他文本编辑器)打开。声明
翔泳社
本书中的示例程序已经经过编辑部确认,在正常使用时不会出现任何问题。对于执行程序所造成的任何损失,本书作者、软件开发人员和翔泳社概不承担相关责任。
Sample 文件夹中所收录的文件的著作权归本书作者所有。读者可以出于个人目的,根据需要自行使用和修改其中的程序。
对于个别环境相关的问题,以及在超出本书内容范围的环境中进行设置时的问题,本社概不负责解答。第 0 章绪论——搭建 SQL 的学习环境
PostgreSQL 的安装和连接设置
通过 PostgreSQL 执行 SQL 语句本章重点
如果想要一边执行 SQL 语句一边学习,就必须有数据库作为 SQL 语句的执行环境。本章将介绍开源数据库 PostgreSQL(版本 9.5.31)在 Windows 环境下的安装方法。已经安装了执行环境(数据库)的读者,可以跳过本章,直接学习第 1 章及之后的内容。
1因 PostgreSQL 版本在不断更新,读者在学习时下载最新版本即可。——译者注
PostgreSQL 是 1980 年以加利福尼亚大学为中心开发出来的 DBMS,与 MySQL 一样,都是世界上广泛应用的开源数据库(DB)。它严格遵守标准 SQL 规则,是初学者的最佳选择。
0-1 PostgreSQL 的安装和连接设置● 安装步骤● 修改设置文件
0-2 通过 PostgreSQL 执行 SQL 语句● 连接 PostgreSQL(登录)● 执行 SQL 语句● 创建学习用的数据库● 连接学习用的数据库(登录)
注意本书使用 PostgreSQL 作为 SQL 的学习环境,当然也可以使用其他关系数据库。本书使用 Windows 10 来介绍数据库的安装方法,该方法也适用于其他 Windows OS。0-1 PostgreSQL 的安装和连接设置
那么就让我们赶快按照下面的步骤来安装 PostgreSQL 吧。安装步骤1. 下载安装程序
大家可以从 PostgreSQL 的下载页面下载安装程序。
下载页面
http://www.enterprisedb.com/products-services-training/
pgdownload#windows
本书将会介绍使用 64 位版的 Windows 安装程序(Win x86-64)
在 Windows 10(64 位)系统中安装 PostgreSQL 的步骤,请大
家结合自身实际下载相应的安装程序。例如,如果大家使用的
是 32 位的 Windows 操作系统,请下载“Win x86-32”版本的安
装程序(图 0-1),安装步骤都是一样的。图0-1 下载面向Windows的PostgreSQL安装程序2. 运行安装程序
运行安装程序的时候,鼠标右键点击安装文件,然后选择“以管
理员身份运行”。
注意 由于安装 PostgreSQL 需要操作系统的管理员权限,因此
不能直接双击安装程序运行,必须“以管理员身份运行”才可
以。这个过程中有可能会需要输入管理员密码,或者弹出运行许
可的询问窗口,此时请输入密码,或点击“是”(OK)按钮。
然后点击安装画面(图 0-2)中的“Next >”按钮。图0-2 安装开始3. 选择安装路径
接下来会显示选择安装路径的画面(图 0-3)。默认的安装路径
是“C:\Program Files\PostgreSQL\9.5”,但是因为有些用户的账
号可能无法直接访问“Program Files”文件夹,所以我们把路径
改为“C:\PostgreSQL\9.5”,然后点击“Next >”按钮。安装过
程中会自动创建文件夹,因此大家无需提前创建。图0-3 选择安装路径4. 选择数据的保存路径
接下来显示的是选择数据保存路径的画面(图 0-4),无需修改
默认路径“C:\PostgreSQL\9.5\data”,直接点击“Next >”按
钮。图0-4 选择数据保存路径5. 设置数据库管理员密码
在接下来的数据库管理员密码设置画面(图 0-5)中输入任意密
码,点击“Next >”按钮。登录 PostgreSQL 时会用到这个密码,
请大家务必牢记。图0-5 设置数据库管理员密码6. 设置端口号
接下来会出现端口号设置画面(图 0-6),无需修改,直接点击“Next >”按钮。通常情况下保持默认选项即可。图0-6 设置端口号7. 设置地区
接下来是 PostgreSQL 地区设置画面(图 0-7)。选择“Chinese(Simplified),Singapore”,点击“Next >”按钮。图0-7 设置地区8. 安装
接下来是安装开始的画面(图 0-8)。直接点击“Next >”按
钮,开始安装(图 0-9)。图0-8 开始安装图0-9 安装进行中
接下来会显示安装完成的画面(图 0-10)。取消选中的“Launch Stack Builder at exit ?”,点击“Finish”按钮。“Launch Stack Builder”会安装各种附带工具,如果只需要使用
PostgreSQL,就没必要安装这些工具。图0-10 安装完成
这样安装就完成了。修改设置文件
为了提高安全性,我们需要修改一下 PostgreSQL 的设置文件。请使用记事本或其他文本编辑工具打开下面这个文件。
C:\PostgreSQL\9.5\data\postgresql.conf
使用“listen_addresses”作为关键词来查询文件内容。安装完成之后,该关键词会被设置成“listen_addresses = '*'”。虽然这意味着允许所有远程主机进行连接,但是这次的学习环境只需要通过本地机器进行连接就可以了,因此我们在这一行的最前面添加一个 #,注释掉该行。#listen_addresses = '*'
添加如下一行新的内容,然后覆盖保存文件(图 0-11)。listen_addresses = 'localhost'
图0-11 添加“listen_addresses = 'localhost'”
这样就设置成只允许本地机器进行连接了。
必须重新启动 PostgreSQL,该设置才能生效。点击“控制面板”→“管理工具”→“服务”。如果在控制面板中没有找到“管理工具”,那么请点击控制面板右上角的“查看方式”,选择“大图标”或者“小图标”,切换到图标显示模式。
在显示出来的窗口中找到“postgresql-x64-9.5”,用鼠标右键进行点击(图 0-12),然后在弹出的菜单中选择“启动”或者“重新启动”。图0-12 在“服务”窗口中重新启动PostgreSQL
注意 如果 PostgreSQL 是已经启动的状态,那么“启动”选项就是灰色的,无法选择。反之,如果 PostgreSQL 是停止状态,那么“重新启动”选项就是灰色的,无法选择。
这样,之前我们对 PostgreSQL 所做的“listen_addresses”的修改就生效了。
注意 如果错误地停止了“postgresql-x64-9.5”之外的其他服务,可能会造成操作系统无法正常工作,所以请一定不要停止其他服务。
此外,如果使用的是 32 位的安装程序,那么显示出来的服务名就是“postgresql-9.5”。0-2 通过 PostgreSQL 执行 SQL 语句
PostgreSQL 提供了一个可以通过命令行来执行 SQL 语句的工具“psql”。psql 会把 SQL 语句发送给 PostgreSQL,然后再将接收到的执行结果显示出来。下面就来介绍一下使用 psql 执行 SQL 语句的方法。
下面将要执行的 SQL 语句的语法和意义将会在接下来的第 1 章和第2章学习,因此大家不必太过在意。连接 PostgreSQL(登录)
现在已经完成了安装,接下来就让我们启动 psql,连接 PostgreSQL 吧。首先,启动命令提示符窗口。使用鼠标右键点击电脑桌面左下角的“Windows”图标,在弹出的菜单中选择“命令提示符(管理员)(A)”(图 0-13)。图0-13 启动命令提示符窗口
备忘
如果使用的是 Window8/8.1,可以按照如下步骤启动命令提示符窗口。1. 在电脑的开始画面,同时点击键盘上的“Windows”键和“X”
键。2. 在画面左下角显示的菜单一览中点击“命令提示符(管理
员)”。
如果使用的是 Window7,可以按照如下步骤启动命令提示符窗口。1. 在电脑的开始画面,点击键盘上的“Windows”键,在“搜索程
序和文件”输入框中输入“cmd”。2. 右键点击检索结果中的“cmd.exe”,选择“以管理员身份运行(A)”。
打开命令提示符窗口(图 0-14)之后,输入如下命令,然后按下回车键(Enter)。图0-14 命令提示符窗口C:\PostgreSQL\9.5\bin\psql.exe –U postgres
接下来会显示出“用户 postgres 的口令 :”,要求输入密码。输入安装时设置的密码,按下回车键,然后就会在命令提示符窗口显示出“postgres=#”,意味着连接成功了(图 0-15)。图0-15 通过 psql 连接PostgreSQL
下面就可以执行 SQL 语句了。
注意 出于安全考虑,输入的密码不会在画面上显示出来。输入密码时,光标会一直在同一位置闪烁,看上去就像什么也没输入一样,但其实密码已经正常输入了,所以请在输入结束时按下回车键。执行 SQL 语句
连接数据库之后,就可以执行 SQL 语句了。下面就让我们试着来执行一个简单的 SQL 语句吧。1. 输入 SQL 语句
如图 0-16 所示,通过 psql 连接到示例数据库(postgres)之后,
输入如下一行命令。
图0-16 输入“SELECT 1;”2. 按下回车键
输入结束之后,按下回车键,这样就可以执行这条 SQL 语句
了。如果显示出如下信息,就表示执行成功了(图 0-17)。
?column?
----------
1
图0-17 “SELECT 1;”的执行结果
注意 “;”是 SQL 的结束符,如果没有输入的话,即使按下回
车键,SQL 语句也不会执行。因此,在执行 SQL 语句的时候,
请大家注意不要忘记输入“;”。
上面我们介绍了手动输入 SQL 语句的例子,其实直接复制本书的示例代码,粘贴在命令提示符窗口,也同样可以执行 SQL 语句。详细情况请参考本书 9-2 节的专栏“在命令提示符窗口中的粘贴方法”。创建学习用的数据库
本书将从第 1 章后半部分开始介绍各种 SQL 语句的书写方法。这里我们来创建一个学习用的数据库,提前准备一下吧。
数据库的创建步骤如下所示。1. 执行创建数据库的 SQL 语句
在命令提示符窗口,保持 PostgreSQL 连接的状态下,输入如下
一行 SQL 语句,按下回车键。请注意,数据库的名称只能使用
小写字母。
CREATE DATABASE shop;
创建成功后,画面中会显示如下信息(图 0-18)。
CREATE DATABASE
图0-18 数据库创建成功2. 结束 psql
数据库创建成功之后,结束 psql。为了结束 psql,需要输入“\q”,然后按下回车键。这样就切断了与 postgreSQL 的连接,
返回到命令提示符窗口(图 0-19)。“\q”中的 q 是“quit”(退
出)的缩写。
图0-19 从 PostgreSQL 登出
注意 现在通过 psql 连接(登录)的是安装 PostgreSQL 时自动
创建的示例数据库 postgres。为了连接刚刚创建的数据库,我们
需要暂时结束(退出)psql。由于 psql 在窗口关闭时也会结束,
因此也可以通过点击 psql 窗口右上角的“X”按钮结束 psql。连接学习用的数据库(登录)
下面就让我们登录刚刚创建的数据库“shop”吧。在命令提示符窗口执行如下命令。C:\PostgreSQL\9.5\bin\psql.exe –U postgres –d shop
选项“-d shop”是指定“数据库 shop”的意思。
此时会要求输入 postgres 的密码,输入之后按下回车键。登录成功后会显示如下信息(图 0-20)。shop=#图0-20 示例数据库 shop 登录成功
这样数据库 shop 就登录成功了。接下来只需要根据本书的内容输入 SQL 语句,然后按下回车键,就可以执行 SQL 语句了。
本书将使用这个数据库 shop,通过执行各种各样的 SQL 语句来学习 SQL 语句的书写方法和功能。第 1 章数据库和 SQL
数据库是什么
数据库的结构
SQL 概要
表的创建
表的删除和更新本章重点
本章介绍了数据库的结构和基本理论,以及数据库的实际应用。大家可以学习到如何对关系数据库中用来存储数据的表进行创建、更新和删除操作,同时还能掌握关系数据库专用的 SQL 语句的书写方法和规则。
1-1 数据库是什么● 我们身边的数据库● 为什么 DBMS 那么重要● DBMS 的种类
1-2 数据库的结构● RDBMS 的常见系统结构● 表的结构
1-3 SQL 概要● 标准 SQL● SQL 语句及其种类● SQL 的基本书写规则
1-4 表的创建● 表的内容的创建● 数据库的创建(CREATE DATABASE语句)● 表的创建(CREATE TABLE语句)● 命名规则● 数据类型的指定● 约束的设置
1-5 表的删除和更新● 表的删除(DROP TABLE语句)● 表定义的更新(ALTER TABLE语句)● 向 Product表中插入数据1-1 数据库是什么
学习重点数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。用来管理数据库的计算机系统称为数据库管理系统(DBMS)。通过使用DBMS,多个用户便可安全、简单地操作大量数据。数据库有很多种类,本书将介绍如何使用专门的SQL语言来操作关系数据库。关系数据库通过关系数据库管理系统(RDBMS)进行管理。我们身边的数据库
大家都有过下面这样的经历吧?● 收到曾经为自己诊治过的牙医寄来的明信片,上面写着“距上次
检查已有半年,请您再来做个牙齿健康检查”。● 在生日的前一个月,收到曾入住过的旅店或宾馆发来的“生日当
月入住优惠”的邮件或者明信片。● 在网上商城购物之后,收到内附“推荐商品列表”的邮件。
这可能是因为牙医、旅店或商城的经营者掌握了顾客上一次的就诊日期、生日和购买历史等信息,并且拥有能够从大量汇总信息中快速获取所需信息(比如你的住址或爱好)的设备(计算机系统)。如果利用人工完成同样的工作,真不知道要多长时间呢。
另外,现在所有地区的图书馆都配备了计算机,实现了图书的自动查询。使用该系统,可以通过检索书名或出版年份快速查找出希望借阅的图书的所在位置,以及是否已经借出等信息。正是因为拥有了可以保存图书名称、出版年份以及保管位置和外借情况等信息,并且可以按需查询的设备,才使这一切成为可能。
像这样将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合称为数据库(Database,DB)。将姓名、住址、电话号码、邮箱地址、爱好和家庭构成等数据保存到数据库中,就可以随时迅速获取想要的信息了。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)1。
1数据库(DB)和 DBMS 经常被混淆。为了加以区别,本书将数据库管理系统统称为 DBMS。
KEYWORD数据数据库(DB)数据库管理系统(DBMS)
系统的使用者通常无法直接接触到数据库。因此,在使用系统的时候往往意识不到数据库的存在。其实大到银行账户的管理,小到手机的电话簿,可以说社会的所有系统中都有数据库的身影(图 1-1)。图1-1 数据库无处不在为什么 DBMS 那么重要
那么,为什么要使用专用系统(DBMS)来管理数据呢?我们通过计算机管理数据的时候,通常使用文本文件 2 或者 Excel 那样的电子制表软件就可以完成了,非常简单。
2保存只通过文字记录的数据的文件。
确实,通过文本文件或者电子制表软件来管理数据的方法非常简便,但也有不足。下面就举几个有代表性的例子。● 无法多人共享数据
保存在已连接网络的计算机中的文件,可以通过共享设定实现多
个用户在线阅读或编辑。但是,当某个用户打开该文件的时候,
其他用户就无法进行编辑了。如果是网上商城的话,当某个用户
购买商品的时候,其他用户就无法购买了。● 无法提供操作大量数据所需的格式
要想瞬间从几十万或者上百万的数据中获取想要的数据,必须把
数据保存为适当的格式,但是文本文件和 Excel 工作表等无法提
供相应的格式。● 实现读写自动化需要编程能力
通过编写计算机程序(以下简称程序)可以实现数据读取和编辑
自动化,但这必须以了解数据结构为前提,还需具备一定的计算
机编程技术。● 无法应对突发事故
当文件被误删、硬盘出现故障等导致无法读取的时候,可能会造
成重要数据丢失,同时数据还可能被他人轻易读取或窃用。
DBMS 可以克服这些不足,实现多个用户同时安全简单地操作大量数据(图 1-2)。这也是我们一定要使用 DBMS 的原因。图1-2 DBMS能够实现多个用户同时安全简单地操作大量数据DBMS 的种类
DBMS 主要通过数据的保存格式(数据库的种类)来进行分类,现阶段主要有以下 5 种类型。● 层次数据库(Hierarchical Database,HDB)
最古老的数据库之一,它把数据通过层次结构(树形结构)的方
式表现出来。层次数据库曾经是数据库的主流,但随着关系数据
库的出现和普及,现在已经很少使用了。● 关系数据库(Relational Database,RDB)
关系数据库是现在应用最广泛的数据库。关系数据库在 1969 年
诞生,可谓历史悠久。和 Excel 工作表一样,它也采用由行和列
组成的二维表来管理数据,所以简单易懂(表 1-1)。同时,它
还使用专门的 SQL(Structured Query Language,结构化查询语
言)对数据进行操作。
KEYWORD● 层次数据库● 关系数据库(RDB)● SQL表1-1 关系数据库中的数据商品编号商品名称商品种类销售单价进货单价登记日期2009-09-0001T 恤衫衣服1000500202009-09-0002打孔器办公用品500320110003运动 T 恤衣服400028002009-09-0004菜刀厨房用具30002800202009-01-0005高压锅厨房用具68005000152009-09-0006叉子厨房用具500202008-04-0007擦菜板厨房用具880790282009-11-0008圆珠笔办公用品10011
这种类型的 DBMS 称为关系数据库管理系统(Relational
Database Management System,RDBMS)。比较具有代表性的
RDBMS 有如下 5 种。● Oracle Database :甲骨文公司的 RDBMS● SQL Server :微软公司的 RDBMS● DB2 :IBM 公司的 RDBMS● PostgreSQL :开源的 RDBMS● MySQL :开源的 RDBMS
KEYWORD● RDBMS● 开源将软件的内容(代码)无偿地公开在互联网上,任何人都可以进行修改并再次发布。开发项目可以由志同道合的有志之士集体来运营。
另外,Oracle Database 通常简称为 Oracle,因此,本书在接下
来的章节中也使用这一简称。● 面向对象数据库(Object Oriented Database,OODB)
编程语言当中有一种被称为面向对象语言的语言 3。把数据以及
对数据的操作集合起来以对象为单位进行管理,因此得名。面向
对象数据库就是用来保存这些对象的数据库。
KEYWORD
面向对象数据库(OODB)● XML 数据库(XML Database,XMLDB)
最近几年,XML4 作为在网络上进行交互的数据的形式逐渐普及
起来。XML 数据库可以对 XML 形式的大量数据进行高速处理。
KEYWORD
XML 数据库(XMLDB)● 键值存储系统(Key-Value Store,KVS)
这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。具有编程语言知识的读者可以把它
想象成关联数组或者散列(hash)。近年来,随着键值存储系统
被应用到 Google 等需要对大量数据进行超高速查询的 Web 服
务当中,它正逐渐为人们所关注。
KEYWORD
键值存储系统(KVS)
3主要的面向对象语言包括 Java 和 C++ 等。
4eXtensible Markup Language 的缩写,一种使用 HTML 那样的标签来表现数据结构的语言。以
本书将向大家介绍使用 SQL 语言的数据库管理系统,也就是关系数据库管理系统(RDBMS)的操作方法。接下来还会深入讲解 RDBMS。如无特殊说明,本书所提到的数据库以及 DBMS 都是指 RDBMS。
另外,有的 RDBMS 也可以像 XML 数据库那样操作 XML 形式的数据,或者具有面向对象数据库的功能。本书并不会介绍用于这些扩展功能的 SQL,如果要了解这些内容,请参考 RDBMS 附带的 SQL 手册或者针对不同的 RDBMS 介绍 SQL 的图书。1-2 数据库的结构
学习重点RDBMS通常使用客户端/服务器这样的系统结构。通过从客户端向服务器端发送SQL语句来实现数据库的读写操作。关系数据库采用被称为数据库表的二维表来管理数据。数据库表由表示数据项目的列(字段)和表示一条数据的行(记录)所组成,以记录为单位进行数据读写。本书将行和列交汇的方格称为单元格,每个单元格只能输入一个数据。RDBMS 的常见系统结构
使用 RDBMS 时,最常见的系统结构就是客户端 / 服务器类型(C/S 类型)这种结构(图 1-3)。
KEYWORD
客户端 / 服务器类型(C/S 类型)图1-3 使用RDBMS时的系统结构
服务器指的是用来接收其他程序发出的请求,并对该请求进行相应处理的程序(软件),或者是安装了此类程序的设备(计算机)。在计算机上持续执行处理,并等待接收下一条请求。RDBMS 也是一种服务器,它能够从保存在硬盘上的数据库中读取数据并返回,还可以把数据变更为指定内容。
KEYWORD服务器数据库
与之相对,向服务器发出请求的程序(软件),或者是安装了该程序的设备(计算机)称为客户端。访问由 RDBMS 管理的数据库,
试读结束[说明:试读内容隐藏了图片]