1.4.3 逻辑数据模型
1.4.2节所讨论的概念数据模型是独立于计算机系统的,表示一种特定组织或机构所关心的“概念数据结构”,完全不涉及信息在计算机中的表示。而逻辑数据模型是数据库管理系统呈现给用户的数据模型,即用户从数据库中看到的数据组织形式,它与DBMS直接相关。用概念数据模型描述的数据,必须用逻辑数据模型表示才能由DBMS管理。为叙述简便,在下面的讨论中,除非特殊说明,术语“逻辑数据模型”均以“数据模型”表示。
1. 数据模型三要素
逻辑数据模型是严格定义的一组概念的集合,主要由数据结构、数据操作和数据完整性约束三部分组成,通常称为逻辑数据模型的三要素。
(1)数据结构。数据结构是对系统静态特性的描述,主要描述数据库组成对象以及对象之间的联系。数据结构是刻画数据模型最重要的方面。因此在数据库系统中,通常按照其数据结构的类型来命名数据模型。主要的数据模型有层次模型、网状模型和关系模型。
(2)数据操作。数据操作指对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,它是对数据库动态特性的描述。数据库中的数据操作主要分为查询、更新两大类,其中数据更新主要是指对数据记录的增、删、改。数据模型需要定义这些操作的语义、操作符号、操作规则及实现操作的相关语句。
(3)数据完整性约束。完整性约束是数据的一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和存储规则,用以限定符合数据模型的数据库状态以及状态的变化,保证数据的正确、有效、相容。
2. 数据模型的类型
数据模型的发展带动了数据库系统的更新换代。自20世纪60年代末数据库技术产生以来,先后出现了层次模型(Hierarchical Model)、网状模型(Network Model)、关系模型(Relational Model)、面向对象模型(Object Oriented Model)、对象关系模型(Object Relational Model)等逻辑数据模型。其中层次模型和网状模型统称为格式化模型。
由于格式化模型现已不是主导,本书不再讨论。下面简要介绍关系数据模型,而本书后面章节讨论的重点将是关系数据库系统。
3. 关系数据模型
关系模型源于数学,由于关系模型具有完备的关系理论作为基础,因此自20世纪80年代以来,关系数据模型被普遍采用,关系模型的数据库系统得到了广泛应用。
(1)数据结构。关系模型是建立在严格的数学概念之上的,有关定义将在第2章给出,这里仅非形式化地讨论。关系模型中基本的数据结构是表格,关系模型使用二维表来表示实体及其联系。
(2)数据操作。关系模型的数据操作主要包括查询和更新。关系数据操作具有两个显著特点:一是关系操作是集合操作,即操作的对象和结果均为集合;二是关系模型将操作中的存取路径向用户屏蔽起来,用户只要说明做什么,而不必指出怎样做。
(3)数据完整性约束。对关系模型中的数据操作必须满足关系完整性约束规则。关系完整性约束规则包括三类:实体完整性、参照完整性和用户定义完整性。关系完整性的内容将在后面章节详细讨论。
关系模型主要有以下特点:
(1)关系模型建立在严格的数学理论基础之上。
(2)数据结构简单清晰,用户易懂易用。关系模型的数据结构虽然简单,但却能表达丰富的语义,能够较好地描述现实世界的实体以及实体间的各种联系。
(3)数据物理存取路径对用户是透明的,有更高的数据独立性、更好的数据安全性。
关系数据库在各个领域的广泛应用推动了数据库技术的发展。但关系模型描述能力也存在不足,如难以直接描述超文本、图像、声音等复杂对象;难以表达工程、地理、测绘等领域一些非格式化的数据语义;不能提供用户定义复杂类型及数据抽象的功能等。因此人们又提出了面向对象模型和对象关系模型等新的数据模型,并得到了一定的支持。