数据库系统由硬件部分和软件部分共同构成:硬件主要用于存储数据库中的数据,包括计算机、存储设备等;软件部分则主要包括DBMS、支持DBMS运行的操作系统以及支持多种语言进行应用开发的访问技术等。本节将介绍数据库的技术构成。
数据库系统有3个主要的组成部分。
· 数据库:用于存储数据的地方。
· 数据库管理系统:用于管理数据库的软件。
· 数据库应用程序:为了提高数据库系统的处理能力所使用的、管理数据库的软件补充。
数据库系统(Database System)提供了一个存储空间用以存储各种数据,可以将数据库视为一个存储数据的容器。一个数据库可能包含许多文件,一个数据库系统中通常包含许多数据库。
数据库管理系统(Database Management System, DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户与操作系统之间,对数据库进行统一管理。DBMS能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性和可靠性。
数据库应用程序(Database Application)虽然已经有了DBMS,但是在很多情况下,DBMS无法满足对数据管理的要求。数据库应用程序的使用可以满足对数据管理的更高要求,还可以使数据管理过程更加直观和友好。数据库应用程序负责与DBMS进行通信,访问和管理DBMS中存储的数据,允许用户插入、修改、删除DB(Database,数据库)中的数据。
数据库系统如图1.2所示。
图1.2 数据库系统
对数据库进行查询和修改操作的语言叫作SQL。SQL的含义是结构化查询语言(Structured Query Languate)。SQL有许多不同的类型,目前有3个主要的标准:ANSI(美国国家标准机构)SQL;对ANSI SQL修改后在1992年采纳的标准,称为SQL-92或SQL 2;最近的SQL-99标准,从SQL 2扩充而来并增加了对象关系特征和许多其他新功能。其次,各大数据库厂商提供了不同版本的SQL,这些版本的SQL不但能包括原始的ANSI标准,而且在很大程度上支持SQL-92标准。
SQL语言包含以下4个部分:
(1)数据定义语言(DDL):DROP、CREATE、ALTER等语句。
(2)数据操作语言(DML):INSERT(插入)、UPDATE(修改)、DELETE(删除)语句。
(3)数据查询语言(DQL):SELECT语句。
(4)数据控制语言(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。
下面是一条SQL语句的例子,该语句声明创建一个名叫students的表:
该表包含两个字段,分别为student_id和name,其中student_id定义为表的主键。
现在只是定义了一张表格,但并没有任何数据,接下来这条SQL声明语句将在students表中插入一条数据记录:
执行完该SQL语句之后,students表中就会增加一行新记录,该记录中字段student_id的值为41048101,name字段的值为Lucy Green。
再使用SELECT查询语句获取刚才插入的数据,代码如下:
上面简单列举了常用的数据库操作语句,在这里给读者一个直观的印象,读者可能还不能理解,接下来会在学习MySQL的过程中详细介绍这些知识。