基于语义数据库建模的E-R方法研究

时间:2022-08-07 05:31:59

基于语义数据库建模的E-R方法研究

摘要:数据模型是表示现实世界的一种方法与工具。本文简要介绍了语义模型的一些基本概念,并对E-R模型进行了一些描述,同时提出了E-R建模的一些原理和方法,希望对语义数据库建模的E-R方法进行一些探讨。

关键词:E-R模型;数据库;方法

中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)05-10ppp-0c

1 引言

商品化的数据库管理系统已经存在20多年了,最初是基于层次和网状模型的,70年代初引入了关系模型,70年代中期开发了语义数据模型。语义模型比关系模型更复杂,且促成了数据联系更繁的导航视图的出现。语义模型领域在不断地发展,近年来人们越来越感兴趣于实现以语义模型作基础的“全真”(Full-fledged)数据库管理系统。

自1974年发表第一个语义模型以来到80年代中期,语义建模研究的核心成果是开发了表示商务数据的结构方面的强有力机制。近年来数据库研究者们已将注意力转移到将数据的行为(或动态)方面加到建模体系中去,这个工作大大地受到面向对象的程序设计语言的影响。

2 语义模型的涵义

研制语义模型的动机与高级程序设计语言类似。开发像ALGOL这样的语言是为了提供更丰富更方便的程序设计抽象。它们使用户摆脱了低级的机器考虑。类似地,语义模型是为了提供比传统模型(层次、网状、关系)所支持的更强的数据库模式说明抽象。

历史上,开发语义模型最初是为了便于数据库设计,进入70年代后,传统的数据模型已被广泛地接受力有效的数据管理工具。最终将数据视为由可打印的字段值或指针字段值组成的记录的集合,故这些模型可以称为是基于记录的。语义模型的开发为数据建模提供了更高级的抽象。从而使数据库设计者能以直接涉及数据在现实世界如何产生的方式来考虑它们。

与传统的模型不一样,大多数语义模型的构造自然地支持自顶向下的、模块的数据库模式视图,所以既简化了模式设计又简化了数据库的使用[1]。语义模型固然最初是作为设计工具而被引入的,但现在人们越来越关注和研究它们的数据库管理系统的实现。

语义模型的主要部件是对象和对象的属性及对象间的联系的显式表示,建立新对象类型的构造符和导出模式部件的显式表示。对象类型可以分为基本型和构造型,而基本型又有抽象型与可打印或可显示型之分。抽象型是对应现实世界的物理对象(如PERSON)和概念对象(如BUSINESS)的抽象数据类型。基本可打印型(如PNAME(人名))典型地就是字母数字串。而在一些基于图形的系统中还包括图形[2]。构造型是通过类型构造运算而成的。类型构造也就是数据抽象,大多数语义模型中使用的类型构造机制有聚集、组合、概括、聚集是一种说明性构造机制。

组合与概括(或特化)是一种推导性构造机制。推导是处理重复信息的一种手段,通过推导位一种对象的属性由另一种对象计算而得。组合是一种推导,组合类型的属性可以用来包含关于作为一个整体对象的集合类型的推导信息。

概括可以看作是一种推导的特例情况,它使较一般对象的属性由更特殊对象来继承,这种继承就是其计算为恒等函数的平凡推导。

属性是对象问的有向二元联系,或者说是一个函数。对于每一属性有一个映像,它将其源对象类型相联的对象集映像到其目的对象类型相联的对象集。

3 E-R模型

E-R(实体一联系)方法是当前最常用的系统分析与建模方法,在整个信息系统领域中应用日益广泛。顾名思义,该方法的核心特征就是用E-R图(模型)来抽象表示现实世界。

在E-R模型中使用了三种模型结构元素;实体、联系、属性(及其值域)。它们都是抽象数据类型。实体是现实世界中存在且可识别的事物或概念,联系表示实体间的相互作用,在一个联系中的每一实体都起着特定的作用。说明联系中的作用是E-R模型表示有关数据语义的一个方面。属性描述实体与联系的特征。

在建立E-R模型时,应遵循下列原则:

(1)一个联系集可以联系两个以上的实体集,称为多元联系。

(2)一个联系集可以只联系一个实体集。

(3)两个实体集问可以有多个联系集。

(4)联系集可以有属性也可以没有。

属性具有下列特性:

(1)名字:属性的标识符。一个实体集或联系集的各属性名必须唯一,但在不同的实体集或联系集中可以相同,不过语义不一样。

(2)说明:属性的语义解释。

(3)值集:属性取值的范围,在同一值集上可以定义多个属性。

(4)作用:属性的特定使用。

属性在E-R模型中有多种用途。最普遍的一种是用来描述实体或联系的特征;另一种是作标识符;它的每一特定值唯一地标识一个实体或联系。此外,还可以用来推导其他的值;提供有关特定环境下的操作信息。在E-R模型中运用了自然的图形技术。这就是有名的E-R图[3]。

4 E-R建模

用E-R方法进行数据建模的过程一般是先标识实体,再标识实体间的联系,最后加上属性。说起来极其简单,做起来却不容易,关键是无法建立一套统一而有效的原则,用来确定实体、联系和属性,同时也无一标准的过程可遵循。

关于实体、联系和属性的选定。实体、联系与属性也是相对的,在很大程度上依赖于看待它们的观点,有的甚至包含一定的个人感彩。如何解决这类问题,这里本文提出一个原理。

令x(A)为含有属性A的实体(或联系)集,x(a)表示x中属性A的值为a的一个实体,若对于某个a0,在组织中以(x一{x<a0> xX})代替X,a0对该组织仍然是有意义的,则A应作为一个实体集的存在标志。否则,A只是一种特性而应作为属性存在。本文称这为“存在性原理”。

例如,实体集课程COURSE(C”,C-NAME,T-NAME)中含有属性教师名T―NAME、对于某教师“张三”,即使他在该校完全未讲课,即去掉张三所讲的全部课程,张三对于该校显然还是有意义的(他从事科研或别的事情)。所以,T―NAME应是一个实体集(“教师”)存在的标志。前面所述的“颜色”是否作实体标志,决定于组织的语义。

另一个重要的原理是规范化。由于规范化的要求,有的数据不代表现实世界客观存在的对象,也必须作为实体。

E-R模型是第一个中心围绕联系而不是属性的语义模型。尤其是多年来对它进行了很多扩展,使之具有很强的语义描述能力,能支持多种关于实体与联系的语义约束[4]。

首先是存在性依赖联系。

其次是标识依赖联系,它表示相联系的两个实体集之一的标识符必须包含另一个的标识符作为其组成部分的语义约束。

第三是条件联系,它表明另一种语义约束。即对于联系中一个实体集的一个给定实体,另一实体集中或者有一个实体与之相联,或者没有。

若原来的E―R模型只支持聚集抽象,则我们也可以将其扩展到包括概括(特殊化)抽象,并在E-R图中用双线箭头来表示这种联系而不再带有表示一般联系的棱形。

从某种意义上讲,联系也是实体,必须进行标识。但在标识联系时,要处理多值联系。本文提出三种方法:

方法:1:扩展联系的标识符。将引起“多值”的联系属性包含到联系的标识符中。例如在上述“讲课”联系中,其标识符除包含“教师”与“课程”的标识符外,还包含其多值属性“地点”或“时间”,这样“讲课”联系的多值性就不复存在了。

方法2:建立依赖实体。对多值联系中的一或多个实体集建立“经历”的依赖实体集,则去掉了联系的多值性。

方法3:使用交互作用实体。将多值联系所代表的交互作用作为一个实体集,给予它自己的标识符,它分别与原实体集相联系。

在现实世界中,有许多场合是多种对象同时交互作用的,所以在建立组织的E-R模型时,经常遇到多元联系,即一个联系集包含两个以上的实体集。这种联系也具有一些不利之处,一是无法在E-R图中作联系的基的表示1:M,N:M,1:l,因为这种标识的组合使其中的些含义不确定。另一个是大量的实体同时联系容易使设计者思想混乱,导致非规范形式。

为了防止这种情况,有时人们限制只允许二元联系,为此要将多元联系转换成二元联系。这种转换的简单方法是将该多元联系变成一个实体,这个实体再与原实体构成多个二元联系。另一种方法是打破多元联系,首先考虑两个实体间的联系,将其分解出来变成联合依赖实体,再与其他实体构成二元联系。

参考文献:

[1]姜翠霞.E-R模型向关系模型转换的研究[J].齐齐哈尔大学学报,2004(4).

[2]李生琦.支持数据库E-R模型设计的本体论及其获取方法[J].计算机工程,2004(9).

[3]庄琴生.以E-R模型为基础构造数据仓库的概念模型[J].计算机工程与应用,2004(10).

[4]廖明潮.语义对象模型及与E-R模型的比较[J].武援工业学院学报,2003(4).

[5]耿瑞峰.基于元数据的语义搜索技术研究[J].徽计算机信息,2005(26).

收稿日期:2008-01-12

作者简介:陈志群(1967-),女,广东肇庆人,大学本科,实验师,研究方向:计算机应用。

上一篇:大学生职业生涯规划的几点思考 下一篇:使用WSUS 3.0布署校园网升级服务器