首页 理论教育计算机数据库基本理论:计算机网络与信息安全

计算机数据库基本理论:计算机网络与信息安全

【摘要】:数据库管理系统主要功能是维护数据库系统的正常活动,接受并响应用户对数据库的一切访问要求,包括建立及删除数据库文件,检索、统计、修改和组织数据库中的数据以及为用户提供对数据库的维护手段等。通过使用数据库管理系统,用户可以逻辑地、抽象地处理数据,而不必关心这些数据在计算机中的存放方式以及计算机处理数据的过程细节,把一切处理数据的具体而繁杂的工作交给数据库管理系统去完成。

(一)数据库系统的概念

1.数据

数据是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材,既可以用数字表示(如身高、体重、大小等数值型数据),也可以用非数字形式表示(如字符、文字、图表、图形、图像、声音等非数值型数据)。

2.信息

信息则是经过加工后的数据,也就是有用的数据,是客观事物的特征通过一定物质载体形式的反映。信息是经过整理并通过分析、比较得出的推断或结论,能够反映客观事物的状态,和形式无关。

数据是具体的符号,信息是抽象概念。数据有如原始材料,比如用户买的一份报纸,报纸上所有的内容都是数据,可用户不会把报纸上所有的数据看完,用户所看的或者关心的内容就是信息。

3.数据库

数据库(Database,DB)是以一定的组织方式将相关数据组织在一起,存储在外部存储介质上所形成的、能为多个用户共享的、与应用程序相互独立的相关数据集合的文件。在信息系统中,数据库是数据和数据库对象(如表、视图、存储过程等)的集合。数据库中的大量数据必须按一定的逻辑结构加以存储,目的是提高数据库中的数据的共享性、独立性、安全性以及较低的数据冗余度,以便对数据进行各种处理,并保证数据的一致性和完整性。

4.数据库管理系统

数据库管理系统(Database Management System,DBMS)是管理数据库的软件工具,是帮助用户创建、维护和使用数据库的软件系统。它建立在操作系统的基础上,实现对数据库的统一管理和操作,满足用户对数据库进行访问的各种需要。目前广泛运用的大型数据库管理系统软件有Oracle、Sybase,DB2等,而在PC机上广泛应用的则有SOL Server、Visual Foxpro、Aces等。

5.数据库管理员

数据库管理员(Database Administrator,DBA)负责全面管理和控制数据库系统。数据库管理员是支持数据库系统的专业技术人员。数据库管理员的任务主要是决定数据库的内容,对数据库中的数据进行修改、维护,对数据库的运行状况进行监督,并且管理账号,和还原数据,以及提高数据库的运行效率

6.数据库系统

数据库系统(Database System)泛指引入数据库技术后的系统,指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。

数据库系统是一个由硬件、软件(操作系统、数据库管理系统和编译系统等)、数据库和用户构成的完整计算机应用系统。数据库是数据库系统的核心和管理对象。因此,数据库系统的含义已经不仅仅是一个对数据进行管理的软件,也不仅仅是一个数据库,数据库系统是一个实际运行的,按照数据库方式存储、维护和向应用系统提供数据支持的系统。

(二)数据管理技术的发展

数据管理技术是对数据进行分类、组织、编码、输入、存储、检索、维护和输出的技术。数据管理技术的发展大致经过了以下3个阶段:人工管理阶段、文件系统阶段、数据库管理系统阶段

1.人工管理阶段

20世纪50年代以前,计算机主要用于数值计算。从当时的硬件看,外存只有纸带、卡片、磁带,没有直接存取设备;从软件看(实际上,当时还未形成软件的整体概念),没有操作系统以及管理数据的软件;从数据看,数据量小,数据无结构,由用户直接管理,且数据间缺乏逻辑组织,数据依赖于特定的应用程序,缺乏独立性。特点:其一是数据不保存,只是在计算某一具体问题时将数据进行输入,运行后得到输岀结果,输入、输岀和中间结果均不保存;其二是数据不共享,冗余度大,一组数据只对应一个应用程序,即使多个应用程序使用相同的数据,也要各自定义,不能共享,导致冗余度大;其三是数据缺乏独立性,数据和程序是紧密结合在一起的,数据的逻辑结构、物理结构和存储方式都是由程序规定的,没有文件的概念,数据的组织形式完全是由程序员决定。

2.文件系统阶段

20世纪50年代后期到60年代中期,出现了磁鼓、磁盘等数据存储设备,出现了操作系统和专门的数据管理软件,称为文件系统。这种数据处理系统是把计算机中的数据组织成相互独立的数据文件,系统可以按照文件的名称对其进行访问,对文件中的记录进行存取,并可以实现对文件的修改、插入和删除。文件可以命名,应用程序可以“按文件访问、按记录进行读取”。文件系统实现了记录内的结构化,即给出了记录内各种数据间的关系,可以对文件进行修改、插入、删除操作。但是,文件从整体来看却是无结构的,其数据面向特定的应用程序,因此数据共享性、独立性差,且冗余度大,管理和维护的代价也很大。

3.数据库管理系统阶段

从20世纪60年代后期开始,计算机数据管理技术岀现了数据库这样的数据管理技术阶段。硬件方面有了大容量的磁盘,软件方面岀现了大量的系统软件;处理方式上,联机实时处理要求增多,并开始考虑和提出分布式处理。数据库的特点是数据不再只针对某一特定应用,而是面向全组织,具有整体的结构性,共享性高,冗余度小,并且实现了对数据进行统一的控制。

与文件系统不同的是,数据库系统是面向数据的而不是面向程序的,各个处理功能通过数据库管理软件从数据库中获取所需要的数据和存储处理结果。它克服了文件系统的缺点,为用户提供了一种更为方便、功能强大的数据库管理方法。

(三)数据库管理系统

数据库管理系统是以统一的方式管理、维护数据库中数据的一系列软件的集合,数据库管理系统在操作系统的支持与控制下运行。

用户一般不能直接加工和使用数据库中的数据,而必须通过数据库管理系统。数据库管理系统主要功能是维护数据库系统的正常活动,接受并响应用户对数据库的一切访问要求,包括建立及删除数据库文件,检索、统计、修改和组织数据库中的数据以及为用户提供对数据库的维护手段等。通过使用数据库管理系统,用户可以逻辑地、抽象地处理数据,而不必关心这些数据在计算机中的存放方式以及计算机处理数据的过程细节,把一切处理数据的具体而繁杂的工作交给数据库管理系统去完成。因此,在信息素养已经成为现代人的基本素质之一的信息社会里,学习并掌握一种数据库管理系统不但重要,而且必要数据库管理系统的功能归结起来主要有以下4点。

1.数据库定义(描述)功能

数据库管理系统提供数据描述语言(DDL)实现对数据库逻辑结构的定义以及数据之间联系的描述。(www.chuimin.cn)

2.数据库操纵功能

数据库管理系统提供数据操纵语言(DML)实现对数据库检索、插入、修改、删除等基本操作。DML通常分为两类:一类是嵌入语言,如嵌入C,VC++等高级语言中,这类DML一般不能独立使用,称为宿主型语言;另一类是交互命令语言,它语法简单,可独立使用,称为自含型语言。目前,数据库管理系统广泛釆用的就是可独立使用的自含型语言,为用户和应用程序员提供操纵使用数据库的语言工具。本书介绍的Visual foxpro6.0提供的是自含型语言。

3.数据库管理功能

数据库管理系统提供了对数据库的建立、更新、结构维护以及恢复等管理功能。它是数据库管理系统运行的核心部分,所有数据库的操作都要在其统一管理下进行,以保证操作的正确执行,保证数据库的正确有效。

4.通信功能

数据库管理系统提供数据库与操作系统的联机处理接口以及用户与数据库的接口。作为用户与数据库的接口,用户可以通过交互式和应用程序方式使用数据库。交互式直观明了,使用简单,通常借助DML对数据库中的数据进行操作;应用程序方式则是用户或应用程序员通过文本编辑器编写应用程序,实现对数据库中数据的各种操作。

(四)数据库系统

数据库系统是指在计算机系统中引入数据库后构成的系统。

数据库系统一般由4部分组成:数据库、数据库管理系统、计算机系统和人(数据库管理人员、用户)。

数据库系统的特点主要有以下5个方面:

1.数据共享

数据共享是数据库系统的目的,也是它的重要特点。数据共享是指多个用户可以同时存取数据而不相互影响,它包含3个方面的含义:所有用户可以同时存取数据;数据库不仅可以为当前用户服务,也可以为将来的新用户服务;可以使用多种语言完成与数据库的接口。

2.数据的独立性

数据独立是指数据与应用程序之间彼此独立,不存在相互依赖的关系。应用程序不必随数据存储结构的改变而改变,这是数据库的一个最基本的优点。

3.可控冗余度

数据冗余就是数据重复,数据冗余既浪费存储空间,又容易产生数据的不一致。在数据库系统中,由于数据集中使用,从理论上说可以消除冗余,但实际上出于提高检索速度等方面的考虑,常常允许部分冗余存在。这种冗余是可以由设计者控制的,故称为“可控冗余”。

4.数据的一致性

数据的一致性是指数据的不矛盾性。比如,在上述员工培训管理系统中,某员工的职称信息在员工基本信息中为“讲师”,而在员工培训需求信息中为“助讲”,这就称为数据不一致。如果数据有冗余,就容易引起数据的不一致。由于数据库能减少数据的冗余,同时提供对数据的各种检查和控制,保证在更新数据时能同时更新所有副本,维护了数据的一致性。

(五)数据库系统的网络结构

1.大型数据库

大型数据库是由一台性能很强的计算机(称为主机或者数据库服务器)负责处理庞大的数据,用户通过终端机与大型主机相连,以存取数据。

2.本地小型数据库

在用户较少、数据量不大的情况下,可使用本地小型数据库。小型数据库一般是由个人建立的个人数据库。常用的个人数据库有Aces和FoxPro等。

3.分布式数据库

分布式数据库是为了解决大型数据库反应缓慢的问题而提出的,它是由多台数据库服务器组成。

4.客户机/服务器数据库

在客户机/服务器数据库的网络结构中,数据库的处理可分为两个系统,即客户机(Client)和数据库服务器(Database server),前者运行数据库应用程序,后者运行全部或者部分数据库管理系统。在客户机上的数据库应用程序将请求通过网络发送给数据库服务器,数据库服务器对此请求进行搜索,并将用户所需的数据返回到客户机。