数据模型是对现实世界中各种事物或实体特征的数字化模拟和抽象,用以表示现实世界中的实体及实体之间的联系,使之能存放到计算机中,并通过计算机软件进行处理。
对事物的数据描述通常包括静态的属性描述和动态的行为描述。静态属性包括数据结构和对数据的约束;动态特性包括对静态属性数据的操作方法。通常在对象模型中明确定义每个类的操作方法。
数据模型应能满足三个方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。
数据模型的种类很多,但广泛使用的数据模型主要划分为两类:语义数据模型和结构化的数据模型。最常用的语义数据模型是实体联系模型,其次是面向对象数据模型、函数数据模型等。常用的结构化的数据模型有层次数据模型、网状数据模型和关系数据模型。
1 语义数据模型
所谓语义数据模型,是指具有丰富的语义,并且包含有大量的模型描述结构,使用这些结构可以定义一个数据库的语义特性。它是独立于计算机系统的数据模型,不涉及信息在计算机内如何表示,只描述概念模型。
语义数据模型是为了适应更强表达能力的数据模型的需要而产生的。语义模型是利用实体、联系和约束描述现实世界的静态、动态和时态特征。不注重数据的物理组织结构,着重表示数据模拟的语义,使数据模型更接近现实世界,便于用户理解,它是现实世界的第一层抽象,是用户和数据库设计人员进行交流的工具。所以,语义数据模型是在结构化数据模型层次之上又增加的一层,是一种更高级的抽象技术。通常,语义模型提供预定义语义的标准联系,包括相应的操作和约束,并提供访问和存储策略,用户只需选择并结合这些联系,就能描述现实世界。
自七十年代中期以来,出现了许多语义数据模型,适用于各种类型的应用,但都有其共同的抽象概念,这些抽象概念主要有概括、聚合和分类等。
概括是指把子类型集合中的共性抽象出来形成较高级的超类型。超类型和子类型的关系体现实体类型之间的一般和特殊的联系。
聚合是指在高级类型中的实体属性集合是由低级类型实体的聚合形成。聚合提供了一种说明新对象类型属性的方法,
分类是指根据对象的属性和行为特性划分为不同的类。
注释:综合语义模型层的基本特征是:
近年来,在语义模型的家族中有很大发展,但每一语义模型都有实体、联系、动态特性和处理完整性约束的方法。
(1) 有高度的标准抽象概念。语义数据库中最常用的抽象概念是分类、概括、聚集与组合。所以,语义模型是在更高层次上表达数据模拟的语义,不同于传统的结构数据模型。
(2) 定义非结构的原子对象。原子对象是非结构的数据类型,而且是最基本的类型,不可再分的。例如,整数、实数、字符等,是计算机支持的基本类型;还可以定义如字符串、日期(年、月、日)、文本为基本类型;
在特殊应用系统中可定义声音、视频数据、图像数据、某些图形数据或文件作为基本对象类型。
(3) 联系的表示。从概念上说,联系结构在模型中可用属性、实体、或者函数的形式出现。如果允许在数据定义语言中通过函数定义来说明实体之间的联系,就可以形成函数表示。
(4) 用继承方法消除数据模式的重复信息。对象类型之间的重复描述用继承来处理,使某对象的属性描述来自于对其他对象的描述,这是把一般对象的属性传递给更特殊的对象的一种方法。例如,人有姓名、性别、年龄特征,学生也是人,学生可继承一般人的特性。
(5) 语义模型中的图形表示法。几乎所有的语义数据模型都为模式的概念化提供了图示结构,在大多数这类模型中,用图来表示模型的基本建模结构,例如,概括/特化(IS-A图)图,聚合层次图,实体联系模型图等。
(6) 有精确的建模规则和表达语义联系的能力。语义模型通过抽象概念,允许用户在多个层次上建立模型和处理数据,提供了较好的建模灵活性。
随着CAD/CAM技术的发展以及工程处理过程的要求,为便于对复杂的实体和实体间复杂联系进行描述和处理,已提出许多语义数据模型,几种有代表性的语义数据模型:实体-联系模型、扩展关系模型、语义关联模型、函数数据模型。面向对象的数据模型等。
2 结构化数据模型
结构化的数据模型是直接面向数据库的逻辑结构的,它是现实世界的第二层次的抽象,这类模型涉及到计算机系统和数据库管理系统,又称为"基本数据模型"。如层次数据模型、网状数据模型和关系数据模型等。它们都着重于描述数据的组织结构,很少考虑数据的语义和用户对数据的理解,它们最关心的是提供一种一致的、高效的数据库存储和检索所需要的物理结构和信息结构,提高数据存取和检索的速度。
这种模型有严格的形式化定义,以便于在计算机系统中实现。它通常具有严格定义的语法结构、语义无二义性的数据库语言,人们可以用这种语言来定义、操纵数据库中的数据。
由于这些结构化的数据模型不能直接支持联系、数据抽象、以及应用的动态变化,近十多年来人们一直研究提供具有更丰富语义的概念模型,以便能精确地描述系统的静态特性、动态特性和完整性的约束条件。
|