1、第19章 模糊面向对象数据模型,19.1 模糊集合理论 19.2 数据系统模型和结构 19.3 模糊数据模型 19.4 模糊数据库语言,模糊面向对象数据模型,它的操作系统受到面向对象概念的影响,新一代的操作系统纷纷开始致力于成为面向对象环境的良好平台。,19.1 模糊集合理论,模糊逻辑摒弃了布尔这种简单的肯定和否定的逻辑,把逻辑世界看成是具有连续变化灰度的,允许一个命题亦此亦彼,存在着部分肯定和部分否定。,19.1.1 模糊理论简介,模糊理论是在美国加州大学伯克利分校电气工程系的L.A.zadeh教授于1965年在模糊集合理论的数学基础上创立发展起来的,主要包括模糊集合理论、模糊逻辑、模糊推理
2、和模糊控制等方面的内容。,模糊控制的基本思想是把人类专家对特定的被控对象或过程的控制策略总结成一系列以“IF(条件)THEN(作用)”形式表示的控制规则,通过模糊推理得到控制作用集,作用于被控对象或过程。,模糊控制的几个研究方向:(1)模糊控制的稳定性研究。(2)模糊模型及辩识。(3)模糊最优控制。,(4)模糊自组织控制。(5)模糊自适应控制。(6)多模态模糊控制。(7)模糊控制的主要缺陷。,19.1.2 模糊集合及逻辑,定义:模糊集合(fuzzy set):X = (v,u)| u是v对X的隶属度,u的值域为0,1“高”是一个模糊概念,身高是一个可以度量的客观物理量。二者之间有一个隶属度。此
3、概念可进一步用图19-1表述。,图19-1,如何决定隶属函数是一个重要的基本课题。但是,实务上,为了简便,经常予以简化成三角形、梯形,如图19-2所示。,图19-2,语言(模糊)变量(LINGUISTIC VARIABLES)有数个模糊值,分别以隶属度对应到绝对量。例如,图19-3所示中模糊变量危险度有高、中、低三个模糊值。,图19-3,运算 (1)并集Union(logical OR)(A OR B)= max(f(A),f(B),(2)交集Intersection(logical AND)(A AND B)= min(f(A),f(B)例:(tall AND small)= min(f(t
4、all),f(small),如图19-4所示。,图19-4,(3)补集Complement(logical NOT)(NOT A)= 1 - f(A)例:(NOT tall)=(1 - f(tall)注意:不高不等于矮。不高不矮是一句有意义的话,因为存在如图19-5所示的隶属函数。,图19-5,(4)修饰词运算(fuzzy modifiers or hedges)。语言之中的形容词(修饰词)可以视为一种运算。例如:很高的隶属函数g(h)可以定义成:G(h)= f(h-20)很高的隶属如图19-6所示。,图19-6,例如,今某地距车站75米,主要商业中心90米,商店数多少?(见图19-7),图1
5、9-7,19.2 数据系统模型和结构,下面对数据库模型进行介绍在数据库的发展史上,最有影响的数据库模型通常四种:(1)层次模型(Hierarchical Model。(2)网状模型(Network Model。(3)关系模型(Relational Model。(4)数据独立存取模型,将数据表现为四级模型。,19.2.1 层次模型,在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:(1)有且仅有一个根结点无父结点(2)其他结点有且仅有一个父结点,例如,图19-8所示的学校管理制度就是一个典型的层次模型。,图19-8,层次模型的优点主要有: (1)层次数据模型本身比较简单。(2)对于实
6、体间联系是固定的,而预定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。(3)层次数据模型提供了良好的完整性支持。,层次模型的缺点主要有:(1)层次模型表示非层次性的联系的方法很笨拙,只能通过引入冗余数据或创建非自然的数据组织来解决。(2)对插入和删除操作的限制比较多。(3)查询子女结点必须通过双亲结点。(4)由于结构严密,层次命令趋于程序化。,19.2.2 网状模型,在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:(1)有一个以上结点无父结点(2)至少有一个结点有多于一个的父结点,网状模型反映实体间复杂关系的表达能力比较强,也就是说,它既能表达实体间的纵
7、向联系,又能表达实体间的横向联系。在图19-9所示的网状模型示意图中,4种零件由3个不同的厂家供应,并且由这些零件组装成3种部件。,图19-9,网状数据模型的优点主要有:(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。(2)具有良好的性能,存取效率较高。,网状数据模型的缺点主要有:(1)结构比较复杂,而且随着应用环境的扩大,数据库的机构就变得越来越复杂,不利于最终用户掌握。(2)其DDL、DML语言复杂,用户不容易使用。,19.2.3 关系模型,关系模型是一张二维表格,它使用表格来描述实体之间的关系。在表格中,每一列称为属性,有时也称为字段或者域。每一行数据称为一条记录。,目前,大
8、多数微机数据库管理系统都是关系型的。下面介绍的SQL Server 2000就是一种典型的关系型数据库管理系统。如图19-10所示是SQL Server 2000中的一个二维表的形式。,图19-10,表的主要组成部分的概念如下:(1)表亦称为关系,有表名、列名及若干行组成。(2)列也称为字段、域、属性,每列包含一类信息。(3)行也称为元组,表中的每一行有若干字段组成,描述一个对象的信息,其中每个字段描述该对象的某个性质。,(4)值域,是系统管理信息的基本类型。(5)表名和列名的命名规则是:表名在整个数据库中必须是惟一的。列名在一个表中也是惟一的。但是在不同的表中可以重名。表名和列名应尽量表示一
9、定的含义。,(6)关键字:表中某个属性组,它可以惟一确定一个行(元组)。(7)分量:元组中的一个属性值。(8)关系模式:对于关系的描述,一般表示为,关系名(属性1,属性2,属性n)。,系数据模型具有下述优点:(1)关系模型是建立在严格的数学概念的基础上的。(2)关系模型的概念单一。(3)关系模型具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。,19.3 模糊数据模型,为了建立数据库,除了要解决库中各种数据的表示形式外,还要建立数据在库中的定义、限制、组织和存放的模式,提供各种规范化的数据操作和运用手段等,这些都是所谓数据模型(或称数据库模型)所要研究的问题。
10、,19.3.1 模糊网状数据模型,在历史上,网状数据模型是一个很有影响的数据模型。模糊网状数据模型是网状数据模型的一种模糊化,它将在下列几方面进行模糊化:,(1)作为网状数据模型的最小数据单位的“数据项”的模糊化。(2)数据项的有序集合,即“记录”(record)的模糊化。(3)记录间的联系,即“系”(set)的模糊化。,(4)模式和子模式的模糊化。(5)各种数据上的操作或运算,包括DDL中各种数据操作语句的模糊化。(6)完整性、安全性和存取权等约束的模糊化。,数据结构与限制 1)模糊数据项这是网状模糊数据库中最基本的数据元素,每个数据项都有一个起惟一标识作用的名,数据项可取任意模糊数据类型中
11、的模糊数据为值。,2)模糊记录这是模糊数据项的一种模糊向量,类似于模糊关系数据模型中的属性加权的模糊元组,用以描述各种模糊实体。,3)模糊系模糊系是模糊网状数据模型中的一个重要概念,它表示模糊记录间的一对多联系。模糊系可形象地用图19-11表示。,图19-11,4)模糊网状数据库模糊网状数据库就定义为在由一组模糊系构成的论域上的模糊集。,操作与运算。模糊记录和模糊系的操作主要包括:1)模糊记录上的操作,包括:(1)模糊检索(2)模糊插入(3)模糊修改,(4)模糊删除(5)取记录值(6)取数据项值,2)模糊系上的操作主要包括:(1)从主记录检索成员记录值(2)从成员记录检索成员记录值(3)从成员
12、记录检索主记录值,(4)加入记录值(5)删除记录值(6)创建模糊系(7)删除模糊系,3)模糊数据库上的操作模糊数据库上的操作主要指从某结点到网上其他结点的移动,一般称为“漫游”。,模糊模式和模糊子模式1)模糊模式用模糊数据定义语言对一个模糊数据库做完整定义的全体语句称为该模糊数据库的模式描述。,2)模糊子模式模糊于模式是模糊模式的满足一定条件的一个模糊子集。子模式中的模糊数据项、记录和系等都必须是已在模式中定义过的,但允许有下列不同:,(1)数据项、记录和系都可更名。(2)数据项的模糊数据类型允许改变。 (3)记录中模糊数据项的次序允许更改。(4)安全性约束规则允许更改,但只能向使得“安全控制
13、更严”的方向改。(5)允许在系中根据需要删除若干成员记录。,DBTG建议采用各种指针把系中的主记录和成员记录链接起来。每个系值从其主记录值开始将其成员记录用指针首尾链接成一个双向的闭环,如图19-12所示。,图19-12,19.3.2 模糊层次数据模型,在模糊层次数据模型中。模糊数据对象被关联成树形的层次结构,如图19-13所示,树中各结点间形成多层的“父子关系”。,图19-13,19.3.3 模糊实体-联系数据模型,模糊实体-联系数据模型是一般实体-联系模型的模糊化,它们将在下列几方面体现模糊性:(1)实体的模糊化(2)联系的模糊化(3)运算和操作的模糊化,数据结构与限制。实体-联系数据模型
14、把客观世界抽象为实体和实体间的联系。每个实体由个名标识,并具有自己的各种属性。实体间可有各种联系把各种实体联结成一个系统。每个联系也各有一个标识,表示联系的语义。,操作与运算。模糊实体-联系数据模型上的各种运算,对一般模糊实体而言,其实例的插入、删除、更改与投影等操作可采用模糊关系数据模型中的相应操作的相同定义,选择运算中的选择条件应根据模糊值的不同表示方式灵活确定。,模糊E-R图。在模糊关系数据模型中,模糊关系间的联系是用其中的一个公共属性的值来建立的。在模糊实体-联系模型中则直接用一种模糊联系来把实体联系起来,所以一个模糊E-R数据库可用一种图来形象地表示,这就是所谓E-R图。图19-14
15、给出了用模糊E-R图表示的某人事局档案库的一部分的实体和联系。,图19-14,19.3.4 模糊关系数据模型,元组模糊的关系数据模型。元组模糊的关系数据模型是最简单的一种模糊关系数据模型,其中仅仅把元组属于关系的程度模糊化了。在一般关系数据模型中,一个元组要么属于该关系,要么不属于,没有模棱两可的状态。,集合值关系数据模型。集合值关系数据模型是一种可以表示“值不确定”的关系数据模型。,模糊值关系数据模型。另一种简单的模糊关系数据模型是模糊值关系数据模型。一般而言,集合运算(交、并、差或非)、投影、插入、删除、更改等操作可按一般关系数据模型类似地定义。选择运算和连接操作应根据模糊值的不同定义方式
16、来灵活确定。,模糊值模糊关系数据模型。模糊值模糊关系数据模型是一种比上述数据模型模糊化程度更高的模糊关系数据模型。,属性加权的模糊值模糊关系数据模型。在实际应用中,常常会遇到各种属性具有不同的“重要性”、“可见性”或“可信度”的信息。为了表示和记录这种信息,用上述的数据模型显然是不能胜任的,引进一种属性加权的模糊关系数据模型,它可以解决这类问题。,模糊投影与模糊视图 (1)模糊投影 (2)模糊视图,元组间的语义距离。一般,客观世界中的事物或对象都可用元组来描述,所以为了描述两对象间的“相近程度”,下面定义元组间的“语义距离”。,(1)欧氏语义距离:,(2)切氏语义距离:,(3)哈明语义距离:,
17、(4)明氏语义距离:,19.3.5 面向对象的模糊数据模型,模糊对象类的描述形式。所谓模糊对象类包含多层含义:(1)类中的对象实例本身可以是模糊的。例如可以是各种模糊数据。并且在其上所加的限制也可是模糊的。(2)类中的每个对象实例都有一个隶属度,即对象类是一种模糊集。(3)可实行的广义上的各种操作或方法也可是模糊的。,模糊对象的构成方式 :(1)集合构造方式(2)模糊集合构造方式(3)元组的构造方式,(4)模糊元组构造方式(5)叉积组合方式(6)有限集组合方式,(7)幂集组合方式(8)有限子集组合方式(9)集合运算方式 (10)模糊集合运算方式,原子对象类。原子对象被认为是最基本的不可再分的对
18、象,一切更复杂的对象都可由它们来逐步构成。原子对象无需用户定义,是系统提供的。 (1)整数(2)实数,(3)布尔量(4)谓词(5)函数,(6)字符串类(7)过程(8)模糊语言真值的类,模糊结构对象类。结构对象是从原子对象开始,逐层按照上述模糊对象的构造方式构造起来的各种复杂对象。根据实际需要可以使对象达到任意复杂的程度,不管对象是否模糊,情况都是如止。特别的,要注意以下几点:,(1)在对象类的定义中引进递归的概念,即允许在定义某对象类的过程中又直接或间接地引用该对象类本身。,(2)由于采用了面向对象的描述方法,模块性强,结构化程度高,从而便于分层实现,有利于实际系统的开发。,(3)因为模糊数据
19、库也可视为一个复杂的结构对象,它也可以从最基本的数据类型开始逐步构造出来。,19.4 模糊数据库语言,为了具体实现一个模糊数据库管理系统,为了给用户提供一种使用的界面或进行交互的手段,必须将较抽象的数据模型具体化为一种语言,使用户既可用这种语言描述数据库的静态结构,也可用它运用和操作数据库中的数据,还可用它实现其他各种需要的服务和功能。,19.4.1 语言的模糊模型,在形式语言中构造语言成分的语法规定是严格的,因而一个字符串(即字符序列)是否为一个合法的语言成分是可以精确判定的。但是在自然语言中情况往往就不是这样,,为处理这类问题,很自然会想到用隶属度(例如0,1的实数)表示它隶属于合法句子集合的程度。因此,可把合法语言成分视为定义在所有可能的字符串之上的一个模糊集。此外,还可试图用定义在不同论域上的模糊集来表达各种语言成分的语义。,一种模糊语言定义为一个四元组:FLA,U,S,I其中,A表示一个有限字符的集合;A*表示由A中的字符构成的所有字符串组成的集合(包括空串在内)。,19.4.2 面向对象的模糊数据库语言,语言的语法和语义 语言的使用,小结,本章简介了实时系统的相关概念,介绍了实时系统作为一种操作系统与其他操作系统的区别,并且介绍了几种常见的实时操作系统。,