
上QQ阅读APP看书,第一时间看更新
1.2.3 逻辑模型
逻辑模型是面向数据库的逻辑结构,是对现实世界的第二层抽象。在数据库系统中常用的逻辑模型有层次模型、网状模型和关系模型等。其中,关系模型应用最为广泛。
1.层次模型
层次模型(hierarchical model)用树状结构来表示现实世界中实体和实体之间的联系。树状结构中一个结点表示一个实体,实体之间的联系是一对多的。
层次模型有且只有一个没有双亲的结点,这个结点被称为根结点,位于树状结构顶部。根结点以外的其他结点有且只有一个双亲结点。层次模型的特点是结点的双亲是唯一的,能直接处理一对多的联系。层次模型示例如图1.6所示。

图1.6 层次模型示例
层次模型简单、易用,但现实世界中很多实体间的联系是非层次性的,如多对多的联系等,若用层次模型来表达则会显得笨拙且不直观。
2.网状模型
网状模型(network model)采用网状结构组织数据,网状结构中的一个结点表示一个实体,实体之间可以有多种联系。
网状模型是对层次模型的扩展,允许一个以上的结点无双亲,同时也允许一个结点有多个双亲,层次模型为网状模型中的一种较简单的情况。网状模型示例如图1.7所示。

图1.7 网状模型示例
网状模型可以更直接地描述现实世界(层次模型是网状模型中的特例),但其结构复杂,不易于用户使用。
3.关系模型
关系模型采用关系的形式组织数据,一个关系就是一张规范的二维表,二维表由行和列组成。关系模型示例如图1.8所示。

图1.8 关系模型示例
关系模型建立在严格的数学概念的基础上,数据结构简单、清晰,对用户而言易懂、易用。关系数据库是目前应用最为广泛、最为重要的一种数据库。