面向对象资料库系统是为了满足新的资料库套用需要而产生的新一代资料库系统。面向对象是一种认识方法学,也是一种新的程式设计方法学。
基本介绍
- 中文名:资料库概念模型
- 定义:一种认识方法学
- 性质:一种新的程式设计方法学
- 运用于:资料库系统的分析、设计
基本介绍
把面向对象的方法和资料库技术结合起来可以使资料库系统的分析、设计最大程度地与人们对客观世界的认识相一致。
资料库概念模型实际上是现实世界到机器世界的一个中间层次。资料库概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是资料库设计人员进行资料库设计的有力工具,也是资料库设计人员和用户之间进行交流的语言。建立数据概念模型,就是从数据的观点出发,观察系统中数据的採集、传输、处理、存储、输出等,经过分析、总结之后建立起来的一个逻辑模型,它主要是用于描述系统中数据的各种状态。这个模型不关心具体的实现方式(例如如何存储)和细节,而是主要关心数据在系统中的各个处理阶段的状态。 实际上,数据流图也是一种数据概念模型。
层次模型
图形结构
若用图来表示,层次模型是一棵倒立的树。在资料库中,满足以下条件的数据模型称之为层次模型:① 有且仅有一个结点无父结点,这个结点称之为根结点; ② 其他结点有且仅有一个父结点。 根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。
层次模型(示意图)

层次模型的优缺点
层次模型的主要优点:
层次资料库模型本身比较简单、 层次模型对具有一对多的层次关係的部门描述非常自然、直观,容易理解、层次资料库模型提供了良好的完整性支持。
层次模型的主要缺点:
在现实世界中有很多的非层次性的联繫,如多对多的联繫,一个结点具有多个父结点等,层次模型表示这类联繫的方法很笨拙、对于插入和删除操作的限制比较多、查询子结点必须经过父结点、由于结构严密,层次命令趋于程式化。
面向对象的资料库模型
面向对象资料库研究的另一个进展是在现有关係资料库中加入许多纯面向对象资料库的功能。在商业套用中对关係模型的面向对象扩展着重于性能最佳化,处理各种环境的对象的物理表示的最佳化和增加SQL模型以赋予面向对象特徵。如Versant、UNISQL、O2等, 它们均具有关係资料库的基本功能,採用类似于SQL的语言,用户很容易掌握。
其他套用
还有许多套用要求多媒体资料库。它们要求以集成方式和文本或图形信息一起处理关係数据,这些套用包括高级办公室系统的其它文档管理系统。
人工智慧(AI)套用的需要,如专家系统,也推动了面向对象资料库的发展。专家系统常需要处理各种(通常是複杂的)数据类型。与关係资料库不同,面向对象资料库不因数据类型的增加而降低处理效率。
由于这些套用需求,80年代已开始出现一些面向对象资料库的商品和许多正在研究的面向对象资料库。多数这样的面向对象资料库被用于基本设计的学科和工程套用领域。
早期的面向对象资料库
早期的面向对象资料库由于一些特性限制了在一般商业领域里的套用。首先同许多别的商业事务相比较,面向设计假定用户只执行有限的扩充事务;其次,商业用户要求易于使用的查询手段,如结构查询语言(SQL)所提供的手段。 而开发商用于商业领域的资料库定义和操作语言未获成功,使得它们对规模较大的套用完全无法适应。
面向对象资料库的新产品都在试图改变这些状况,使得面向对象资料库的开发从实验室走向市场。面向对象资料库从面向程式设计语言的扩充着手使之成为基于面向对象程式设计语言的面向对象资料库。例如:ONTOS、ORION等,它们均是C++的扩充,熟悉C++的人均能很方便地掌握并使用这类系统。
加入纯面向对象资料库
在现有关係资料库中加入纯面向对象资料库是面向对象资料库研究的另一个进展是在现有关係资料库中加入许多纯面向对象资料库的功能。在商业套用中对关係模型的面向对象扩展着重于性能最佳化,处理各种环境的对象的物理表示的最佳化和增加SQL模型以赋予面向对象特徵。如Versant、UNISQL、O2等, 它们均具有关係资料库的基本功能,採用类似于SQL的语言,用户很容易掌握。
网状模型
在现实世界中,事物之间的联繫更多的是非层次关係的,用层次模型表示非树型结构是很不直接的,网状模型则可以克服这一弊病。网状模型是一个网路。在资料库中,满足以下两个条件的数据模型称为网状模型。
① 允许一个以上的结点无父结点;
② 一个结点可以有多于一个的父结点。 从以上定义看出,网状模型构成了比层次结构複杂的网状结构。

关係模型
在关係模型中,数据的逻辑结构是一张二维表。
在资料库中,满足下列条件的二维表称为关係模型:
① 每一列中的分量是类型相同的数据;

② 列的顺序可以是任意的;
③ 行的顺序可以是任意的;
④ 表中的分量是不可再分割的最小数据项,即表中不允许有子表;
⑤ 表中的任意两行不能完全相同。
关係资料库採用关係模型作为数据的组织方式。 关係资料库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种资料库管理系统。它的发展十分迅速,目前已成为占据主导地位的资料库管理系统。自20世纪80年代以来,作为商品推出的资料库管理系统几乎都是关係型的,例如,Oracle,Sybase,Informix,Visual FoxPro,mysql,sqlserver等。
关係模型範式
只有满足一定条件的关係模式,才能避免操作异常。
关係模式要满足的条件称为规範化形式,简称範式。
下面介绍四种不同程度的範式,由低级向高级:
1、第一範式(1NF)
在关係模式R的每一个具体关係r中,如果每个属性值都是不可能再分的最小数据单元,则称R是第一範式。记为R∈1NF。1NF是关係资料库能够保存数据并且正确访问数据的最基本条件。
2、第二範式(2NF)
如果关係模式R(U,F)中的所有非主属性都完全函式依赖于任意一个候选关键字,则称关係R是属于第二範式。记为R∈2NF。
3、第三範式(3NF)
如果关係模式R(U,F)中所有非主属性对任何侯选关键字都不存在传递依赖,则称关係R是属于第三範式。记为R∈3NF。
4、BCNF
如果关係模式R(U,F)R属于1NF,对任何非平凡依赖的函式依赖X→Y(Y!→X)X均包含码。记为R∈BCNF。如果R是BCNF则一定是3NF;反之则不行。
一个低级範式的关係模式,可以通过分解方法转换成若干个高一级範式的关係模式的集合,也可以说任何一个高层的範式,总是能够满足低层的範式。