1.1 数据库概述
目前,全球数据量正以约50%的年增长率飞速增长,而当前数据总量的80% 都是最近两年产生的。2016年,思科发布云计算市场展望报告称,到2020年时,云数据流量很可能将增长2.7倍,从2015年的每年3.9 ZB增长到2020年的每年14.1ZB。
大量的数据、信息在不断产生,伴随而来的就是如何安全有效地存储、检索、管理它们。对数据的有效存储、高效访问、方便共享和安全控制等问题成了信息时代非常重要的问题。
使用数据库可以结构化存储大量的数据信息,方便用户进行有效的检索和访问,可以有效地保持数据信息的一致性、完整性,降低数据冗余,可以满足数据应用的共享和安全方面的要求,同时还能方便智能化地分析数据,产生新的有用信息。
1.1.1 数据、数据库
了解数据库概念之前,先来看一看数据的概念。在大多数人的头脑中,数据就是数字。其实,数字只是最简单的一种数据,是对数据传统、狭义的理解。从广义上理解,数据种类很多,包括文字、图形、图像、音频、视频等,这些都是数据。
可以这样定义数据:数据是描述事务的符号记录。这种描述事务的符号可以是数字,也可以是文字、图形等。在日常生活中,人们可以通过自然语言的记录形式来描述。比如可以记录这样一小段话:1991年3月28日出生的刘静涛同学,性别女,2009年由安徽考入北京航空航天大学,专业是计算机科学与技术。通过这一小段话,简单记录了该学生的信息。
作为计算机,为了更好地存储和处理这些事务,就需要抽象出一组描述事务的特征,通过这个特征来描述具体的事务。例如上面的例子,就可以抽象出姓名、性别、出生日期、入学省份、入学年份、专业,具体可以描述为:刘静涛,女,1991年3月28日,安徽,2009,计算机科学与技术。这里对学生信息的记录就是通常所说的计算机中记录的数据。
数据库,顾名思义就是存放数据的仓库。这个仓库将数据按照一定的格式,存储在计算机的存储设备上。数据库是长期存储在计算机内有组织、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的数据冗余度、较高的数据独立性和易扩展性,并为各种用户所共享。数据库可以存储数据,重要的是在需要的时候可以从数据库大量的数据中快速找到用户自己需要的数据,甚至可以帮用户分析出更有用的信息。
1.1.2 数据库管理系统
了解了数据和数据库的概念之后,接下来就需要了解数据库如何科学、有效地存放数据,从而能保证高效、快速地获取数据。完成这个任务的就是数据库管理系统(Database Management System,DBMS)。
数据库管理系统是一个系统软件。系统软件是区别于操作系统和应用软件的一种软件分类。数据库管理系统位于操作系统和应用软件之间,主要提供了如下功能。
- 数据定义
DBMS提供数据定义语言(Data Definition Language,DDL),用户通过DDL可以方便地对数据库中的对象(例如表、视图、存储过程等)进行定义。DDL主要用于建立、修改数据库的库结构,DDL所描述的库结构仅仅给出了数据库的框架,数据库的框架信息被存放在数据字典(对数据库对象信息进行描述)中。
- 数据操作
DBMS提供数据操作语言(Data Manipulation Language,DML),供用户实现对数据的添加(INSERT)、删除(DELETE)、更新(UPDATE)、查询(SELECT)等操作,也就是“增删改查”。
- 数据库的运行管理
数据库的运行管理功能是指DBMS的运行控制、管理功能,包括多用户环境下的并发控制、安全性检查和存取限制控制、完整性检查和执行,运行日志的组织管理、事务的管理和自动恢复,这些功能保证了数据库系统的正常运行。
- 数据组织、存储与管理
DBMS要分类组织、存储和管理各种数据,包括用户数据、数据字典等,需确定以何种文件结构和存取方式在存储设备上组织这些数据,以及实现数据之间的联系。数据组织和存储的基本目标是提高存储空间利用率,选择合适的存取方法提高存取效率。
- 数据库保护
数据库中的数据是信息社会的战略资源,所以数据的保护至关重要。DBMS对数据库的保护通过四个方面来实现:数据库的恢复、数据库的并发控制、数据库的完整性控制、数据库的安全性控制。
- 数据库维护
数据库维护包括数据库的数据载入、转换、转储、数据库重构以及性能监控等功能,这些功能分别由各个程序来完成。