逻辑数据模型是在概念数据模型的基础上对数据的第二层抽象。层次数据模型(Hierarchical Data Model)、网状数据模型(Network Data Model)、关系数据模型(Relational Data Model)是成熟的逻辑数据模型。其他逻辑数据模型,如键值模型、列族模型、文档模型和图形模型等逻辑数据模型处于快速发展阶段。概念数据模型中的实体、属性、联系在不同的逻辑数据模型中的处理方法是不同的。
层次数据模型
层次数据模型是用树结构定义实体及实体之间的联系的,是最早商业化应用的数据模型。层次数据模型中的结点代表数据,结点之间的连线代表不同数据之间的联系。顶层的结点只有后继,没有直接前驱,称其为根结点。除根结点以外的各结点有且只有一个唯一的位于其上一层的直接前驱,称其为双亲结点,可以有零个、一个或多个位于其下一层的直接后继,称其为子女结点。最下层的结点只有双亲结点,没有子女结点。例如,学校的院系设置中,一个学校有多个学院,一个学院有多个系,同时每个学院都只隶属于该学校,每个系也只隶属于一个学院,即学校与学院之间是一对多的联系,学院和系之间也是一对多的联系。其层次数据模型示例如图1-31所示。
图1-31 层次数据模型示例
层次数据模型适合表示一对一、一对多的联系。由于层次数据模型表示多对多联系时的表达能力有缺陷,需要引入冗余结点,所以后来被网状数据模型取代。