数据库基础知识(2)

1.1.3 数据库技术的发展

       在数据管理技术进入到数据库管理阶段后,先后出现过多种数据库技术。根据这些数据库技术对数据进行组织、存储和管理时采用的“数据模型”的不同,在早期主要的数据库有:层次数据库、网状数据库和关系数据库;进入20世纪90年代后,又出现了一种新兴的数据模型,它采用面向对象的方法来设计数据库,这种数据库是面向对象的数据库。

       这里所说的“数据模型”:是以某种结构化的数据对现实世界中客观事物及其相互关系的抽象、表示与模拟。通常,数据模型应满足三个方面的要求:能比较真实地模拟现实世界、容易为人所理解、便于在计算机上实现。下面分别介绍层次数据库、网状数据库、关系数据库和面向对象数据库。

1. 层次数据库

       最早出现的是层次数据库,这种数据库基于层次模型、按层次结构来组织数据,形成一种类似树的“根-枝-叶”构成的结构。采用层次模型的数据库的典型代表是1969年IBM公司研制的IMS(Information

Management System)数据库管理系统,该数据库管理系统已经发展到到IMSV6。

       层次结构模型具有以下特点:有且只有一个结点无双亲节点,其它结点有且仅有一个双亲节点。该特点使得所有基于层次模型的数据库管理系统局限于只能处理1:n的实体关系,但是现实世界的关系是复杂的,该特点就大大的约束了层次数据库的发展。



数据库基础知识(2)_第1张图片


2. 网状数据库

       为克服层次模型数据库的缺点,众多的研究者在之后新提出了一种数据模型——网状结构模型,并在它的基础上设计、开发了网状数据库及其相关技术。网状数据库使用的数据模型是网状结构,这种模型的结构是一有向图。世界上第一个网状数据库管理系统是美国通用电气公司Bachman等人在1964年开发成功的IDS(Integrated

DataStore);之后的1971年,美国CODASYL(Conference

on Data Systems Languages,数据系统委员会)中的DBTG(DataBase TaskGroup,数据库任务组)提出了一个著名的DBTG报告,对网状数据模型和语言进行了定义,并在1978年和1981年又做了修改和补充。因此网状数据模型又称为CODASYL模型或DBTG模型。在70年代,曾经出现过大量的网状数据库的DBMS产品。比较著名的有Cullinet软件公司的IDMS,Honeywell公司的IDSII,Univac公司(后来并入Unisys公司)的DMS1100,HP公司的IMAGE等。

       网状结构模型的特点是:允许存在一个以上的结点没有双亲节点;至少存在一个结点拥有多于一个的双亲节点。网状结构使得采取该结构的数据库管理系统能够处理m:n的实体联系,这就意味着它能解决实体之间的各种复杂联系。


数据库基础知识(2)_第2张图片

3. 关系数据库

       在早期的三种数据库模型中,影响最为深远、应用最为广泛的是关系模型。关系模型的基本理论是关系数学,它在表达数据之间关系时只需要一张二维表(见表1-1),非常直观、明了,并且数据逻辑性强,是目前数据库应用的主流,许多数据库(管理系统)的数据模型都是基于关系数据模型开发的。

       关系数据库的雏型起源于20世纪60年代初期,在此之后,许多数据库方面的专家学者对这种数据库进行了深入的研究,其中以美国的IBM公司的研究员埃德加·弗兰克·科德 (E.F.Codd)贡献最为卓越,他经过深入的分析研究,自1970年开始连续发表多篇文章用以证明关系模型,为关系数据库的发展奠定了理论基础,其中在1976年发表的“R关系:数据库关系理论”更被数据库界视为一篇里程碑式的论文,这篇论文中他提出了关系规范化的理论,并第一个提出数据库的操作语言可以用关系代数和关系演算来完成。基于关系模型的最早、最有名的数据库管理系统有美国加州大学伯克莱分校研制的INGERS、IBM公司开发的System

R;之后,Informix公司、Oracle公司和Sysbase公司等,都试图借助关系数据库技术在数据库管理商场上分一杯羹。

       随着计算机技术由单机逐渐向着网络的发展,关系数据库也有两类:一类是桌面数据库,例如Access、FoxPro和dBase等;另一类是客户/服务器数据库,例如SQL Server、Oracle和Sybase等。一般而言,桌面数据库用于小型的、单机的应用程序,它不需要网络和服务器,实现起来比较方便,但它只提供数据的存取功能。客户/服务器数据库主要适用于大型的、多用户的数据库管理系统,应用程序包括两部分:一部分驻留在客户机上,用于向用户显示信息及实现与用户的交互;另一部分驻留在服务器中,主要用来实现对数据库的操作和对数据的计算处理。

       在1.1.2节中,我们曾以关系数据库为例学习了关系数据库中数据表、记录、字段等相关概念,为更深入地理解关系数据库,我们应把握其以下两个方面的内容:

       1)、关系数据库中描述实体及实体之间联系的二维表是一个关系,在一个应用域内,所有关系的集合构成一个关系数据库。

       2)、对关系数据库中的关系(二维表)可基于关系代数进行一些关系操作(运算)。对关系实施的各种操作,包括选择、投影、连接、并、交、差、增、删、改等,这些关系操作的特点是集合操作,即操作数据及其结果是一个集合型数据。

4. 面向对象数据库

       面向对象的程序设计方法是目前程序设计中主要的方法之一,它简单、直观、自然,十分接近人类分析和处理问题的自然思维方式,同时又能有效地用来组织和管理不同类型的数据。把面向对象程序设计方法和数据库技术相结合能够有效地支持新一代数据库应用。

       20世纪90年代后,在关系型数据库基础上,人们开始引入面向对象技术,并将其逐渐发展成为一种新型的数据库,即面向对象数据库。围绕面向对象的数据库系统的研与应用吸引了相当多的数据库工作者,人们在这方面取得了大量的研究成果,也开发了很多面向对象数据库管理系统(OODBMS),面向对象的数据库应用也日益广泛。

       作为数据库管理中最新的方法,面向对象数据库管理系统(OODBMS)从早期的工程和设计领域的应用,逐渐发展成为受到金融、电信等许多行业的数据管理和万维网应用欢迎的系统,尤其是在多媒体应用以及复杂的、很难在一般关系DBMS里模拟和处理的关系中,使用面向对象数据库具有更大的优势和不可替代的作用。

       在面向对象数据库中,存储对象是以对象为单位,每个对象包含对象的属性和方法,具有类和继承等特点。Computer Associates的Jasmine是面向对象模型的数据库系统。

1.1.4 SQL语言

        SQL语言是结构化查询语言(Structured Query Language)的简称,它是一种“关系型”的数据库语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等,它虽然也有一些编程用的语句,但并不是功能完善的程序设计语言。

        SQL语言最开始是IBM在20世纪70年代开发出来,被作为IBM关系数据库System

R的原型关系语言,后来(86年)ANSI对它进行了标准化,形成了ANSI SQL。标准SQL语言主要由以下几个部分组成:

     (1)数据定义语言(DDL):其语句包括动词CREATE和DROP,对应在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE)、为表加入索引等操作。

     (2)数据操作语言(DML):其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行,有时也称它们为动作查询语言。

     (3)数据查询语言(DQL):该类语句也称为"数据检索语句",其语句动词主要是:SELECT,表示从表中获得数据,并确定数据在应用程序或终端的输出形式。SELECT是DQL中、也是所有SQL中用得最多的动词。

     (4)数据控制语言(DCL):其语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问权限。某些RDBMS可用GRANT或REVOKE控制对表中单个列的访问。

      (5)事务处理语言(TPL):是一类可以确保被多个DML语句影响的若干表的所有行都能及时得以更新的可让这些DML语句要么都执行要么都不执行的“事务”处理类语句。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。它的语句能确保被DML语句影响的表的所有行及时得以更新并保证他们的数据安全。

       实际中,各不同公司在推出自己的关系数据库管理系统时都在标准SQL语言基础上进行了一些扩展,比如:Oracle公司的PL/SQL,SQL Server的T-SQL等,它们相对标准SQL功能更加强大。

你可能感兴趣的:(数据库基础知识(2))