时间:2022-11-20 12:30:01 | 来源:信息时代
时间:2022-11-20 12:30:01 来源:信息时代
数据模型 : 对现实世界的一种抽象,用以描述数据操纵和语义结构。数据模型是数据库系统的基础,它决定了数据库系统的结构、数据库语言,以及数据库的设计与实现方法。
自20世纪60年代数据库诞生起即出现了数据模型,最早的是层次模型,而概念层的抽象模型则是E-R模型。20世纪70年代所出现的关系模型成为数据模型研究的主流,此后为适应不同应用领域而出现各种数据模型,如面向对象模型、语义模型、函数模型、谓词模型及NF2模型等。数据模型研究已成为数据库学科的基础与核心。
数据模型描述数据的结构、定义在结构上的操纵以及数据间的约束,它从抽象层次上描述了系统的静态特征与动态行为,为数据库系统表示和操纵提供框架。其主要内容为:
(1)数据结构:以一种统一的方式描述基本数据项的类型与性质,数据与数据间的关联。它表示数据模型的静态特性。数据结构是数据模型的基础,数据操纵及数据约束都建立在数据结构之上,不同的数据结构有不同的操纵与约束。因此,数据模型一般均依据数据结构的不同而进行分类。
(2)数据操纵:主要描述在模型数据结构上的操作,如查询操作,增、删、改操作以及其他的个性化操作。数据操纵表示数据模型的动态行为。
(3)数据约束:描述数据结构内部数据间的语法和语义关联,包括相互制约与依存关系以及数据动态变化规则,以保证数据的正确性、有效性与相容性。数据约束包括数据完整性约束、数据安全性以及并发控制等约束。数据约束既刻画了数据静态特征,也表示了数据动态行为规则。
根据抽象的层面不同,数据模型可分为: 概念层模型、逻辑层模型和物理层模型。
概念层模型简称为概念模型(concept model)。它是以客观世界需求对信息世界的建模,是现实世界到信息世界的语义抽象。它表示简单,易于理解且具有较强的语义表达能力,它应该独立于具体的逻辑模型并易于向数据库管理系统支持的逻辑数据模型转换。实体联系模型(entity-relationship model)简称E-R模型,是最常用的概念模型。在E-R模型基础上增加概括、聚集等语义描述,形成扩充的实体联系模型。它们可以看作是基于客观对象的模型。此外还有面向对象模型、谓词模型等。
逻辑层模型简称为逻辑模型(logical model),用来描述数据库数据的整体逻辑结构。逻辑模型是从数据库实现的角度对数据建模,独立于具体的系统物理平台,但它依赖于具体的数据库管理系统软件。作为面向数据库管理系统的模型,逻辑模型主要描述数据的逻辑存储形式、数据操纵和约束等。传统的逻辑模型是基于记录的模型,它们是层次模型、网状模型和关系模型。层次模型中数据用记录的集合表示,数据间的联系用链接表示,其记录被组织成树型结构。由于现实世界中许多实体之间的联系是一种层次结构,用层次模型反映这种一对多的关系非常自然。网状模型与层次模型类似,分别用记录和链接表示数据和数据间的联系,不同的是,其记录被组织成网状结构。对于实体之间多对多的联系,网状模型描述这种关系比层次模型更方便。关系模型用二维表存储数据,通过记录的值建立起表间的联系。关系模型有很好的数学基础,它用关系代数、关系演算等语言描述数据操作,用数据间依赖关系描述数据间的完整性约束,根据关系模式中数据依赖关系的复杂程度定义关系模式的规范级别。区别于传统的基于记录的逻辑模型,面向对象数据模型是基于面向对象概念在逻辑层面上对数据建模,它将客观世界的实体抽象为对象,通过对对象、对象标识、类、继承性等概念的刻画,以支持面向对象概念和机制,此外还有将关系模型与面向对象模型相结合所组成的对象关系模型等。
物理层模型简称为物理模型(physical model),描述逻辑模型的物理实现,是数据库最底层的抽象,它确定数据的物理存储结构、数据存取路径以及调整、优化数据库的性能。物理模型的设计目标是提高数据库性能和有效利用存储空间。
三个层次的数据模型间相互独立而又存在着关联,特别是概念模型与逻辑模型之间更有必然联系,如E-R模型一般与关系模型关联,扩充E-R模型与对象关系模型关联,而面向对象模型的概念模型与逻辑模型则基本一致。基于不同的数据模型可以构建不同的数据库系统以适应不同的应用需求,它包括通用的数据库系统(如层次数据库系统、网状数据库系统、关系数据库系统及面向对象数据库系统等),以及特定的数据库系统(如演绎数据库系统、知识库系统、时态数据库系统、空间数据库系统等)。