1.1 数据库系统简介
1.1.1 数据库的基本概念
1.数据
数据(Data)是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。
数据可以是连续的值,如声音、图像,称为模拟数据;也可以是离散的,如符号、文字,称为数字数据。
在计算机科学中,数据是指所有能输入计算机并被计算机程序处理的符号的介质的总称,是用于输入计算机进行处理,具有一定意义的数字、字母、符号和模拟量等的通称。现在计算机存储和处理的对象十分广泛,表示这些对象的数据也随之变得越来越复杂。
2.信息
信息(Information)是对客观世界中各种事物的运动状态和变化的反映,是客观事物之间相互联系和相互作用的表征,表现的是客观事物运动状态和变化的实质内容。
信息与数据既有联系,又有区别。数据是信息的表现形式和载体;而信息是数据的内涵,对数据作具有含义的解释。数据和信息是不可分离的,信息依赖数据来表达,数据则生动具体地表达出信息。
3.数据处理
数据处理(Data Processing)是对数据的采集、存储、检索、加工、变换和传输。数据处理的基本目的是从大量的、可能是杂乱无章的、难以理解的数据中抽取并推导出对于某些特定的人们来说是有价值、有意义的信息,即数据转换成信息的过程。
数据处理主要对所输入的各种形式的数据进行加工整理,其过程包含对数据的收集、存储、加工、分类、归并、计算、排序、转换、检索和传播的演变与推导全过程。
例如,吴喻兰同学的“Java程序开发设计”的期末考试成绩为86分,其中86为数据,然后将该数据进行数据处理,最后得出吴喻兰同学该门课程成绩良好的信息。
4.数据库
数据库(Database,DB)是长期存储在计算机内、有组织的、可共享的数据集合。
例如,学校数据库中存放了学生的基本数据,包括学号、姓名、性别、班级、籍贯、考试成绩、学分等,根据需要对这些数据进行检索、排序和统计等操作。
5.数据库管理系统
数据库管理系统(Database Management System,DBMS)是位于用户与操作系统之间的一层数据管理软件。
数据库管理系统的主要功能包括数据定义功能、数据操作功能、数据库的运行管理、数据库的建立和维护功能,并且为用户或者应用程序提供访问数据库的方法。
通常情况下,人们常常将数据库管理系统称为数据库,如SQL Server、Oracle、DB2、Sybase、MySQL等都属于数据库管理系统。
6.数据库系统
数据库系统(Database System,DBS)是为适应数据处理的需要而发展起来的一种较为理想的数据处理系统。
数据库系统一般由数据库、硬件(构成计算机系统的各种物理设备)、软件(包括操作系统、数据库管理系统及应用程序)和人员(包括数据库设计人员、应用程序员、最终用户、数据库管理员)组成。
1.1.2 数据库的体系结构
数据库具有一个严谨的体系结构,从而能够有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性。
数据库领域公认的标准结构是从数据库管理系统的角度划分的三级模式结构和二级存储映像,如图1.1所示。
图1.1 数据库的体系结构
1.数据库的三级模式结构
数据库的三级模式是数据库在三个级别(层次)上的抽象,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储。数据库的三级模式结构是指内模式、模式和外模式。
(1)内模式。内模式也称存储模式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,对应着实际存储在外存储介质上的数据库。一个数据库只有唯一的一个内模式。
(2)模式。模式也称概念模式或逻辑模式,对应于概念级。它是对数据库中全部数据的逻辑结构和特征的总体描述,是所有用户的公共数据视图。一个数据库只有一个模式,模式处于三级结构的中间层。
(3)外模式。外模式也称子模式或用户模式,对应于用户级。它是某个或某几个用户所看到的数据库的数据视图,是与某一应用有关的数据的逻辑表示。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据。一个数据库可以有多个外模式。
2.数据库的二级存储映像
为了能够在内部实现数据库的三个抽象模式的联系和转换,数据库管理系统在三级模式之间提供了两层映像。
(1)模式/内模式映像。数据库中只有一个模式和一个内模式,所以模式/内模式映像是唯一的,它定义了数据库的全局逻辑结构与存储结构之间的对应关系。当数据库的存储结构发生改变时,通过调整模式和内模式之间的映像,使得整体模式保持不变,当然外模式及应用程序也不用改变,从而实现数据的物理独立性。
(2)外模式/模式映像。对应于同一个模式可以有任意多个外模式。对于每一个外模式,都有一个外模式/模式的映像。当模式改变时,通过调整外模式/模式映像做相应的改变,从而使外模式保持不变,这样,依据外模式编写的应用程序就不用修改,从而实现了数据的逻辑独立性。
1.1.3 数据库的产生与发展
20世纪50年代数据管理非常简单,只是通过机器运行穿孔卡片来进行数据的处理。当时的数据管理就是对所有这些穿孔卡片进行物理的存储和处理。
1950年雷明顿兰德公司(Remington Rand Inc)的一种叫做Univac I的计算机推出了一种一秒可以输入数百条记录的磁带驱动器,从而引发了数据管理的革命,产生了数据库技术。
1956年IBM生产出第一个磁盘驱动器——the Model 305 RAMAC。此驱动器有50个盘片,每个盘片直径是2英尺(1英尺≈0.3m),可以存储5MB的数据。
随着信息技术和市场的发展,特别是20世纪90年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库发展阶段大致划分为如下几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。
1.人工管理阶段
20世纪50年代中期之前,计算机主要用于科学计算,当时的硬件存储设备只有磁带、卡片和纸带,软件方面也没有操作系统和专门管理数据的软件。数据由计算或处理它的程序自行携带,程序设计依赖于数据表示。由于数据的组织面向应用,不同的计算程序之间不能共享数据,使得不同的应用之间存在大量的重复数据,造成了很多的冗余,很难维护应用程序之间数据的一致性,如图1.2所示。
例如,1951年的Univac系统,它当时就是使用磁带和穿孔卡片来进行数据存储。
图1.2 人工管理阶段程序与数据关系图
2.文件系统阶段
20世纪50年代中期到60年代中期,计算机不仅应用于科学计算,还大量用于管理,当时的存储设备出现了硬盘、磁鼓,软件方面出现了操作系统和高级软件。
在文件系统阶段,数据按一定的规则组织成为一个文件,应用程序通过文件系统对文件中的数据进行存取和加工,程序和数据有了一定的独立性,但此时的数据文件仍然为某一特定的应用服务,修改了数据的逻辑结构就要修改相应的程序,反之亦然,数据独立性依然较差,数据冗余较大,如图1.3所示。
图1.3 文件系统阶段程序与数据关系图
3.数据库系统和高级数据库阶段
20世纪60年代后期,计算机在数据管理领域的应用越来越普及,随着互联网的普及,数据共享的需求也越来越多,计算机软硬件功能越来越强,从而发展出了数据库技术。
数据库技术以数据为中心组织数据,对数据的存储是按照统一结构进行的,不同的应用程序可以直接访问和操作这些数据,数据和程序具有较高的独立性,减少了数据冗余,提供更高的数据共享能力,如图1.4所示。
随着信息管理内容的不断扩展和计算机技术的不断进步,数据应用的需求增加,数据库要管理的数据的复杂度和数据量都在迅速增长。因此,出现了一批新的数据库技术,如并行数据库技术,数据仓库,联机分析技术,数据挖掘与商务智能应用、内容管理以及大数据管理和云计算机等领域,都是新一代数据库的变化和发展。
图1.4 数据库阶段程序与数据关系图