数据管理技术经过多年的发展,已经发展到数据库系统阶段,在该阶段会把数据存储到数据库(DataBase DB)中。即数据库相当于存储数据的仓库。为了便于用户组织和管理数据,还专门提供了数据库管理系统(DataBase Management System DBMS),可以有效管理存储在数据库中的数据。MySQL软件,就是一种非常优秀的数据库管理系统。
1.关于数据库的基本概念
在目前阶段,如果要存储和管理数据离不开数据库。当数据存储到数据库后,就会通过数据库管理系统对这些数据进行组织和管理。
1)数据管理技术的发展阶段
所谓数据管理,是指对各种数据进行分类、组织、编码、存储、检索和维护。发展到现在,数据管理技术经历了三个阶段,分别为人工管理阶段、文件系统阶段和数据库系统阶段。
(1)人工管理阶段
20世纪50年代中期以前,由于计算机中的硬件还没有像现在这样的硬盘,软件没有专门管理数据的软件,所以计算机只局限于科学技术方面,数据由计算和处理它的程序自行携带。该时期被称为人工管理阶段。
人工管理阶段的特点如下:
数据不能长期保存
程序本身管理数据
数据不能共享
数据不具有独立性
(2)文件系统阶段
随着技术的发展,在20世纪50年代后期到20世纪60年代中期,计算机不仅应用于科学技术而且开始用于管理,在该时期由于计算机硬件出现了磁盘,计算机软件出现了高级语言和OS,因此程序和数据具有了一定的独立性,出现了程序文件和数据文件,这就是所谓的文件系统阶段。
文件系统阶段的有特点如下:
数据可以长期保存
数据由文件系统来管理
数据冗余大,共享性差
数据独立性差
(3)数据库系统阶段
随着网络技术的发展,计算机软件/硬件功能的进步,在20世纪60年代后期,计算机可以管理规模巨大的数据,这时候如果计算机还是用文件系统来管理数据,则远远不能满足当时各种各样的应用需求,于是出现了数据库管理技术,特别是关系型数据库技术。该阶段就是所谓的数据库系统阶段。
数据库系统阶段的特点如下:
数据实现结构化
数据实现了共享性
数据独立性强
数据粒度变小
2)数据库系统阶段涉及的概念
到目前为止,处理数据的技术仍然属于数据库系统阶段,在该阶段处理数据时,经常会设计各种概念:数据库、数据库管理系统和数据库系统。同时如果想完全掌握数据库系统阶段的数据处理技术,也必须熟悉和掌握这些概念。
数据库(DataBase DB)是指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户和应用共享的数据集合。
数据库管理系统(DBMS)是指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性,用户通过数据库管理系统访问数据库中的数据。当前比较流行和常用的数据库管理系统有Oracle、MySQL、SQL Server和DB 2等。
数据库系统(DBS)是指在计算机系统中引入数据库后的系统,通常由计算机硬件、软件、数据库管理系统和数据管理员组成。
在通常情况下,经常会用数据库来表示它们使用的数据库软件。这经常会引起混淆,确切的说数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的容器。
3)数据库技术经历的阶段
在数据库系统管理数据阶段,随着时间的推移,又经历了三个技术阶段,分别为:层次数据库和网状数据库技术阶段、关系数据库技术阶段和后关系数据库技术阶段。
(1)层次数据库和网状数据库技术阶段
层次数据库代表IMS,1968年IBM为阿波罗11号飞船顺利登月提供了重要保障,网状数据库代表为IDS,其为1961年美国通用电气公司使用的数据库。该阶段的数据库技术,支持三级模式结构,用指针来表示数据之间的联系:数据定义语言和数据操作语言相对独立。
(2)关系数据库技术阶段
关系数据库技术的出现,可以说是数据库系统管理数据的一个里程碑。该技术具有严格的数学理论,概念简单清晰,便于使用,受到众多数据库管理系统厂商的追捧。关系数据库技术的代表数据库管理系统为Oracle、DB 2、SQL Server、MySQL、SyBase和InFormix等。
(3)后关系数据库技术阶段
由于关系数据库在数据模型、性能、扩展伸缩性上存在问题,所以出现了一些后关系数据库技术。例如,面向对象数据库技术(ORDBMS)和结构化数据库技术(NOSQL)。
对于ORDBMS技术,虽然其尚未完全成熟,但是能很好地支持对数据和对象的管理,能够很好地和面向对象设计技术相融合。而NOSQL技术,则打破了关系型数据库和ACID理论相互统一的局面。利用NOSQL技术存储数据时,不需要固定的表结构,因此在大型数据存取上具备关系型数据库无法比拟的性能优势。
4)数据库管理系统提供的功能
数据库管理系统提供很多功能,可以通过SQL(结构化查询语言)来定义和操作数据,维护数据的完整性和安全性,以及进行各种数据库的管理等。那么数据库管理系统所支持的SQL提供哪些功能呢?
(1)数据定义语言(Data Definition Language,DDL)
数据库管理系统提供了数据定义语言定义数据库设计各种对象,定义数据的完整性约束、保密限制等约束。
(2)数据操作语言(Data Manipulation Language,DML)
数据库管理系统提供了数据操作语言实现对数据的操作。基本的数据操作有两类:检索(查询)和更新(插入、删除和更新)。
(3)数据控制语言(Data Control Language,DCL)
数据库管理系统提供了数据控制语言对数据库的控制,包含数据完整性控制、数据安全性控制和数据库的恢复等。
5)设么是SQL
SQL是Structure Query Language(结构化查询语言)的缩写,是目前广泛使用的关系数据库标准语言。该语言由IBM在20世纪70年代开发出来,被作为IBM关系数据库System R的原型关系语言,实现关系数据库中信息的检索。
由于SQL简单易学、功能丰富且使用灵活,因此受到众多的追捧。经过不断的发展、完善和扩充,SQL被ANSI确定为关系型数据库语言的美国标准,后来又被ISO采纳为关系型数据库语言的国际标准。各种SQL标准的出台,使得所有的数据库生产厂家都推出了各自支持SQL的数据库管理系统,MySQL数据库实现了对SQL的支持。
SQL具有数据库管理系统的所有功能,主要功能如下:数据定义语言、数据操作语言和数据控制语言。
SQL具有如下优点:
SQL不是某个特定数据库供应商的专有语言。几乎所有重要的数据库管理系统都支持SQL,所以只要学习了SQL就能与所有的数据库交互。
SQL简单易学,该语言的语句都是由描述性很强的英语单词组成,而且这些单词的数目不多。
SQL高度非过程化,即用SQL进行数据库操作,只需指出“做什么”,无需指明“怎么做”,存取路径的选择和操作的执行由数据库管理系统自动完成。