前言
数据管理技术经过多年的发展,已经步入数据库系统阶段。该阶段,数据存储在数据库(Database,DB)中。数据库相当于数据存储仓库。为了便于用户组织和管理数据,该阶段也提供了数据库管理系统(Database Management System,DBMS)。
数据管理技术发展阶段
所谓数据管理,是指对各种数据进行分类、组织、编码、存储、检索和维护。数据管理技术经历了三个阶段,分别为人工管理阶段、文件系统阶段和数据库系统阶段。
人工管理阶段
20世纪50年代中期以前,由于计算机中硬件还没有像现在这样的磁盘、软件也没有专门管理数据的软件,所以计算机只局限于科学技术方面,数据则由计算和处理它的程序自行携带。该时期被称为人工管理阶段。特点如下:
数据不能长期保存
程序本身管理数据
数据不能共享
数据不具有独立性
文件系统阶段
20世纪50年代后期到60年代中期,计算机硬件出现了磁盘,计算机软件出现了高级语言和操作系统,因此程序和数据有了一定的独立性,出现了程序文件和数据文件,这就是文件系统阶段。特点如下:
数据可以长期保存
数据由文件系统管理
数据冗余大,共享性差
数据独立性差
数据库系统阶段
随着网络技术的发展,计算机硬/软件功能的进步,20世纪60年代后期,计算机可以管理规模巨大的数据,而此时文件系统管理数据的方式已经远远不能满足各种应用需求,于是出现了数据库技术,从此进入了数据库系统阶段。特点如下:
数据实现结构化
数据实现了共享性
数据独立性强
数据粒度变小
基本概念
数据库:长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。
数据库管理系统:操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全和稳定。用户通过数据库管理系统访问数据库中的数据。当前比较流行的数据库管理系统有Oracle、MySQL、SQL Server和DB2等。
数据库系统:在计算机系统中引入数据库后的系统,通常由计算机硬件、软件、数据库管理系统和数据库管理员组成。
数据库技术发展阶段
数据库系统管理数据技术发展分为三个阶段:层次和网状数据库技术阶段、关系数据库技术阶段和非关系数据库技术阶段。
层次数据库代表为IBM的IMS,1968年为阿波罗11号飞船顺利登月提供了保障。网状数据库代表为IDS,其为1961年美国通用电气公司使用的数据库。
关系数据库技术的出现,可以说是数据库系统管理数据的一个里程碑。该技术具有严格的数学理论,概念简单清晰,便于使用,受到众多数据库管理系统厂家的追捧。关系数据库技术的代表数据库管理系统有:Oracle、DB2、SQL Server、MySQL等。
由于关系数据库在数据模型、性能、伸缩性上存在问题,所以出现了非关系数据库技术,代表数据库管理系统:NOSQL。
DBMS功能
数据库管理系统可以通过SQL(Structure Query Language,结构化查询语言)来定义和操作数据,保证数据的完整和安全,以及进行各种数据库的管理。数据库管理系统所支持的SQL的功能可分为三个子类:
数据定义语言(Data Definition Language,DDL):定义数据库涉及的各种对象,定义数据的完整性约束、保密限制等约束。常见的DDL语句有,创建数据库,创建数据库表,修改数据库表等。
数据操作语言(Data Manipulation Language,DML):用来实现对数据的查询和更新操作。
数据控制语言(Data Control Language,DCL):用来实现对数据库的控制,包含数据完整性控制、数据安全性控制和数据库的恢复等。
什么是SQL
其发音为字母S-Q-L或sequel,是Structure Query Language(结构化查询语言)的缩写,是目前广泛使用的关系数据库标准语言。该语言由IBM在20世纪70年代开发出来,经过不断的完善和扩充,于1987年被国际标准化组织(ISO)采纳为关系数据库语言的国际标准。随着各种SQL标准的出台,使得所有数据库生产厂家都推出了各自支持SQL的数据库管理系统。SQL优点:
SQL不是某个特定数据库供应商专有语言。几乎所有重要的数据库管理系统都支持SQL。所以,只要学习了SQL就能与所有数据库进行交互。
SQL简单易学。该语言的语句都是由描述性很强的英语单词组成,而且这些单词的数目不多。
SQL高度非过程化。用SQL进行数据库操作,只需指出“做什么”,无须指明“怎么做”,存取路径的选择和操作的执行由数据库管理系统自动完成。
常见数据库管理系统
关系型
Oracle
Oracle数据库管理系统被认为是业界目前最成功的关系型数据库管理系统,由世界第二大软件供应商Oracle公司于1983年推出。它被认为是运行稳定、功能齐全、性能超群的贵族产品。主要为大型企业提供数据库服务。
SQLServer
SQL Server数据库管理系统是一款功能比较全面,效率比较高,可以作为大中型企业或单位的数据库管理系统,由世界第一大软件供应商Microsoft公司推出。该数据库管理系统继承了Microsoft软件产品的界面友好、易学易用的特点,与其他大型数据库管理系统产品相比,在操作性和交互性方面独树一帜。
MySQL
MySQL数据库管理系统一款免费开源、小型、关系型数据库管理系统。其中的My是MySQL创始人之一Michael Widenius女儿的名字。MySQL的Logo为海豚标志,代表了速度、动力、精确等MySQL所拥有的特性。MySQL由于其体积小,速度快,总体成本低,尤其是开放源代码,因此常作为中小型网站的首选数据库。MySQL公司于2008年1月16日被SUN公司收购,而在2009年SUN又被Oracle收购。
PostgreSQL
PostgreSQL数据库管理系统是一款最富特色的自由数据库管理系统,甚至也可以说是最强大的自由软件数据库管理系统。该数据库管理系统支持了目前世界上最丰富的数据类型,是自由软件数据库管理系统中唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的自由软件。(自由软件是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。)
DB2
DB2数据库管理系统是一款支持多媒体、Web关系型数据库管理系统,其功能不仅可以满足大中型企业或单位的需要,而且可以灵活地服务于中小型电子商务解决方案。
非关系型
NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。NoSQL不使用SQL作为查询语言。其数据存储可以不需要固定的表格模式,也经常会避免使用SQL的JOIN操作,一般有水平可扩展的特征。根据DB-ENGINES数据库排名,最受欢迎的NoSQL数据库有MongoDB、Redis、ElasticSearch、Cassandra等。