1.3.3 数据模型

1.3.3 数据模型

数据库结构的基础是数据模型(data model)。数据模型是一个描述数据、数据联系、数据语义以及致性约束的概念工具的集合。数据模型提供了一种描述物理层、逻辑层以及视图层数据库设计的方式。

数据模型的分类

数据模型可被划分为四类

关系模型relational model

关系模型用表的集合来表示数据和数据间的联系。每个表有多个列,每列有唯一的列名。
关系模型是基于记录的模型的一种。基于记录的模型的名称的由来是因为数据库是由若干种固定格式的记录来构成的。每个表包含某种特定类型的记录。每个记录类型定义了固定数目的字段(或属性)。表的列对应于记录类型的属性。
关系数据模型是使用最泛的数据模型,当今大量的数据库系统都基于这种关系模型。第2~8章将详细介绍关系模型。

实体-联系模型entity-relationship model

实体-联系(E-R)数据模型基于对现实世界的这样种认识:现实世界由一组称作实体的基本对象以及这些对象间的联系构成。
实体是现实世界中可区别于其他对象的一件”事情”或一个”物体”。
实体-联系模型被广泛用于数据库设计第7章将详细探讨该模型。

基于对象的数据模型object-based data model

面向对象的程序设计(特别是Java、C++或C#)已经成为占主导地位的软件开发方法。这导致面向对象数据模型的发展。
面向对象的数据模型可以看成是E-R模型增加了封装、方法(函数)和对象标识等概念后的扩展对象-关系数据模型结合了面向对象的数据模型和关系数据模型的特征。第22章将讲述对象-关系数据模型

半结构化数据模型semistructured data model

半结构化数据模型允许那些相同类型的数据项含有不同的属性集的数据定义。这和早先提到的数据模型形成了对比:在那些数据模型中所有某种特定类型的数据项必须有相同的属性集。可扩展标记语言XML被广泛地用来表示半结构化数据。这将在第23章中详述。

网状数据模型和层次数据模型

在历史上,网状数据模型(network data model)和层次数据模型(hierarchical data model)先于关系数据模型出现。这些模型和底层的实现联系很紧密,并且使数据建模复杂化。因此,除了在某些地方仍在使用的旧数据库中之外,如今它们已经很少被使用了