时间:2022-12-06 20:30:02 | 来源:信息时代
时间:2022-12-06 20:30:02 来源:信息时代
语义数据模型 : 数据库应用分析的工具之一,一种更加抽象的面向用户的数据模型。它通过提供预定义的语义标准体系,包括相应的操作和约束,来捕捉和表达数据的语义信息,从而能够直观地表达和描述用户对现实世界的认识,同时可以适应不断变化的应用环境。
关系模型在1970年诞生之后,受到了人们广泛的关注,也得到了普遍的应用。但是,关系模型本质上缺乏语义结构成分,因此采用关系模型构建组织模型时常常会引起二义性。为了加强关系模型的语义,消除关系之间的异常,H. A. Senmid和J. R.Swenson在1975年最早提出了一种语义数据模型的雏形——信息模型,该模型中除包括关系模型的基本结构模型外,还引入客体类型、特征及客体类型间关联等结构。之后,人们对语义模型的研究越来越深入,并定义了多种语义模型。比较典型有:P.P.Chen在1976年提出实体-联系(E-R)模型,该模型包含了实体和联系的语义概念;C.W.Bachman于1977年提出了角色(role)模型,该模型以角色这一语义概念作为基本要素; 以及基于归纳和聚合抽象的其他语义模型如SHM、ADD、LGDM、SAM、SDM、RM/T、SHM+、TAXIS、Events Model等。
在语义数据模型中,数据和数据类型被统一地模型化成对象(或类),用这些对象来描述组织的基本语义特性,再根据语义模型结构规则把这些对象有机组合起来从而形成组织模型。语义模型的对象处于比数据元素更高的层次上,通过对象在客体层次上构造模型形成客体类别及这些客体类别间的关联,在基本语义结构被确认后,再加入数据元素。
语义模型为对象集合及关联集合的定义、命名和分类提出了多种抽象手段,大多数模型允许数据库工程师定义不同的对象集合类型(object set type)和关联集合类型(association set type)。在语义数据模型中,所抽象出的对象之间的关联可具有如下几种典型的结构关系: ①分类(classification): 用于建立在对象与实例之间联系;②聚集(aggregation): 用于建立在对象与其构成部分之间联系; ③概括(generalization): 用于建立在概念上较抽象的超型和较具体的次型之间联系。
通常可采用语义网(semantic net)来表示语义模型的结构。图1所示为一个语义网的示例图。语义网是由两部分所组成的一个图: ①描述语义客体对象的点的集合;②表示这些对象关联的连接的集合。
语义网可以描述各个层次上的语义结构。如果语义网表示的是语义模型层次上的结构,则点表示的是语义抽象,连接表示的是这些对象间所允许的关联; 如果语义网表示的是对组织模型的模型化,则点表示客体集,连接表示客体集间的关联,这些关联必须和语义模型层次上的关联相一致; 如果语义网表示的是对客体层次的模型化,则点表示组织中实际的客体,客体可以以一种与语义模型中的关联相一致的关联而连在一起。很明显,层次间存在从属关系。组织模型由语义模型产生,可组织客体的分类与组织模型相对应。
图1 语义网