当前位置: 首页 > 文章教程  > 计算机与互联网 > 网络编程

9.1.1数据库的概念

9/17/2020 9:38:49 PM 人评论

9.1.1数据库的概念

9.1 数据库技术基础

数据库(DataBase,DB),从字面上讲就是存放数据的仓库。不过,数据库不是数据的简单堆积,而是以一定的方式保存在计算机存储设备上的相互关联的数据的集合。也就是说,数据库中的数据并不是相互孤立的,数据和数据之间是有关联的。

在介绍 MySQL 数据库之前,本节首先讲解数据库的基本概念和关系型数据库系统的工作原理。

9.1.1 数据库的概念

数据库的概念最早于19世纪60年代提出,为了解决在设计、构建和维护复杂信息系统时遇到的技术困难,信息系统要求支持很多用户,可以并发地访问大量的、不同类型、不同结构的数据。应用程序需要对数据进行分类、组织、编码、存储、检索、维护等。复杂而大量的数据处理需求使得数据管理技术越来越引人关注。数据管理技术的发展经历了人工管理、文件系统和数据库系统3个阶段。

1.人工管理阶段

早期的数据处理都是通过手工进行的,那时的计算机多用于科学计算。每个应用程序根据需求组织数据,数据与程序一一对应,一个程序的数据一般不能被其他程序使用,如图9-1所示。

figure_0145_0189

图9-1 人工管理阶段程序和数据的关系

此阶段没有专门的数据管理软件,程序员既要考虑数据的逻辑结构,还要设计存储数据的物理结构及存取方法等。

2.文件系统阶段

随着操作系统的诞生,文件系统也作为操作系统的一个子系统应运而生了。应用程序可以通过文件系统将数据组织成一个文件。文件系统提供对文件的访问和管理接口。文件系统阶段程序和数据的关系如图9-2所示。这种方式多用于早期的单机信息管理系统。

figure_0146_0190

图9-2 文件系统阶段程序和数据的关系

文件系统的最大特点是解决了应用程序与数据之间的公共接口问题,使应用程序可以通过统一的存取方法来操作数据。但通过文件系统管理数据也存在一些不足,主要有以下几方面。

• 文件系统虽然提供了统一的存取方法来操作数据,但保存数据的格式和结构却由应用程序自定义。从文件中读取数据后,需要自行解析数据。

• 数据量比较大时检索数据的效率通常很低。

• 数据冗余度大。相同的数据集合在不同应用程序中使用,经常需要重复定义、重复存储。例如,人事部的档案管理系统和财务部的工资管理系统用到的很多数据是重复的,它们各自使用自己的文件来存储数据。

• 数据不一致性。由于数据重复存储、单独管理,给数据维护带来难度,容易造成数据不一致。

3.数据库系统阶段

数据库系统是由计算机软件和硬件资源组成的系统,它实现了有组织地、动态地存储大量关联数据,便于多用户访问。数据库系统与文件系统的重要区别是数据的充分共享、交叉访问,应用程序的高度独立性。文件系统阶段程序和数据的关系如图9-3所示。

figure_0146_0191

图9-3 数据库系统阶段程序和数据的关系

数据库对数据的存储是按照同一结构进行的,不同应用程序都可以直接操作这些数据。数据库系统对数据的完整性、唯一性和安全性都提供有效的管理手段。数据库系统还提供管理和控制数据的简单操作命令。

9.1.2 关系型数据库管理系统

数据库管理系统(DBMS)是用来管理数据的计算机软件,它能使用户方便地定义和操纵数据、维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。

关系型数据库管理系统(RDBMS)是应用最广泛的一种数据库管理系统,它以表、字段、记录等结构来组织数据。表用来保存数据,每个表由一组字段来定义其结构,记录则是表中的一条数据。本章介绍的MySQL就是一款常用的关系型数据库管理系统。

9.1.3 数据模型

数据库不仅要反映数据本身的内容,而且要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以必须事先把具体事物转换成计算机能够处理的数据。在数据库技术中使用数据模型来抽象、表示现实世界中的数据和信息。

现实世界中的数据要进入数据库中,需要经过人们的认识、理解、整理、规范和加工。可以把这一过程划分成3个主要阶段,即现实世界阶段、信息世界阶段和机器世界阶段。现实世界中的数据经过人们的认识和抽象,形成信息世界;在信息世界中用概念模型来描述数据及其联系,概念模型按用户的观点对数据和信息进行建模,不依赖于具体的机器,独立于具体的数据库管理系统,是对现实世界的第一层抽象;根据所使用的具体机器和数据库管理系统,需要对概念模型进行进一步转换,形成在具体机器环境下可以实现的数据模型。这3个阶段的相互关系可以用图9-4来表示。

figure_0147_0192

图9-4 对现实世界数据的抽象过程

数据模型是数据特征的抽象,是数据库管理的教学形式框架。下面介绍关系型数据库系统常用的实体—联系模型。

实体—联系(Entity—Relationship)模型(简称E—R模型)使用E—R图来描述现实世界的概念模型,E—R图提供了表示实体、属性和联系的方法,具体如下。

• 实体型:用矩形表示,在矩形内写明实体名。图9-5所示为商品实体和顾客实体。

• 属性:用椭圆形表示,并用无向边将其与实体连接起来。商品实体及其属性用E—R图表示如图9-6所示。

figure_0147_0193

图9-5 实体的表示

figure_0147_0194

图9-6 商品实体及其属性

• 联系:用菱形表示,在菱形框内写明联系的名称,并用无向边将其与有关的实体连接起来,同时在无向边旁标上联系的类型。需要注意的是,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。例如,图9-7表示了顾客实体和商品实体之间的联系“购买”,每个顾客购买某一个商品会产生一个购买数量,因此,“购买”联系有一个属性“数量”,顾客和商品实体之间是多对多的联系。

用E—R图表示的概念模型独立于具体的DBMS所支持的数据模型,是各种数据模型的共同基础,因此比数据模型更一般、更抽象、更接近现实世界。

figure_0148_0195

图9-7 顾客实体和商品实体之间的联系

9.1.4 SQL语言

SQL(Structured Query Language,结构化查询语言)是目前使用最为广泛的关系数据库语言,它简单易学,功能丰富,深受广大用户的欢迎,是用户与数据库沟通交流的重要渠道之一。SQL是20世纪70年代由IBM公司开发出来的;1976年,SQL开始在商品化关系数据库系统中应用;1986年,美国国家标准化组织(American National Standard Institude,ANSI)确认SQL为关系数据库语言的美国标准,1987年该标准被ISO采纳为国际标准,称为SQL-86;1989年,ANSI发布了SQL-89标准,后来被ISO采纳为国际标准;1992年,ANSI/ISO发布了SQL-92标准,习惯称为SQL 2;1999年,ANSI/ISO发布了SQL-99标准,习惯称为SQL 3。ANSI/ISO于2003年12月又共同推出了SQL 2003标准。尽管ANSI和ISO针对SQL制定了一些标准,但各家厂商仍然针对其各自的数据库产品进行不同程度的扩充或修改。基本上,使用标准的SQL语句可以访问各种关系数据库,因此,SQL是数据库领域的“世界语”。在本书介绍的Web应用程序中,都是使用SQL语句访问数据库的。

SQL语言可以下面几种类型。

• 数据定义语言(Data Definition Language,DDL),包含用来定义和管理数据库及各种数据库对象的语句,如对数据库对象的创建、修改和删除语句,这些语句包括CREATE、ALTER、DROP等。

• 数据操纵语言(Data Manipulation Language,DML),包含用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。

• 数据控制语言(Data Control Language,DCL),包含用来设置、更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等。

相关教程

共有条评论 网友评论

验证码: 看不清楚?