逻辑数据模型之层次数据模型、网状数据模型和关系数据模型

  上一篇文章简单介绍了概念数据模型、逻辑数据模型、物理数据模型的基本概念、特性以及三者所对应的数据库的开发阶段。现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做一个相信的介绍与对比分析。

  一、层次数据模型

  定义:层次数据模型是用树状<层次>结构来表示实体类型和实体间联系的数据模型。(来自百度百科)

  其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。

  特征:树的性质决定了树状数据模型的特征

     1. 整个模型中有且仅有一个节点没有父节点,其余的节点必须有且仅有一个父节点,但是所有的节点都可以不存在子节点;

     2. 所有的子节点不能脱离父节点而单独存在,也就是说如果要删除父节点,那么父节点下面的所有子节点都要同时删除,但是可以单独删除一些叶子节点;

     3. 每个记录类型有且仅有一条从父节点通向自身的路径;

  实例:

     如图1,以学校某个系的组织结构为例,说明层次数据模型的结构。

     1.  记录类型系是根节点,其属性为系编号和系名;

     2.  记录类型教研室和学生分别构成了记录类型系的子节点,教研室的属性有教研室编号和教研室姓名,学生的属性分别是学号、姓名和成绩;

3.  记录类型教师是教研室这一实体的子节点,其属性由教师的编号,教师的姓名,教师的研究方向。

  优点:

      1. 层次数据模型的结构简单、清晰、明朗,很容易看到各个实体之间的联系;

     2. 操作层次数据类型的数据库语句比较简单,只需要几条语句就可以完成数据库的操作;(百度百科)

     3. 查询效率较高,在层次数据模型中,节点的有向边表示了节点之间的联系,在DBMS中如果有向边借助指针实现,那么依据路径很容易找到待查的记录;

     4. 层次数据模型提供了较好的数据完整性支持,正如上所说,如果要删除父节点,那么其下的所有子节点都要同时删除;如图1,如果想要删除教研室,则其下的所有教师都要删除;

  缺点:

         1. 层次数据模型只能表示实体之间的1:n的关系,不能表示m:n的复杂关系,因此现实世界中的很多模型不能通过该模型方便的表示;

         2. 查询节点的时候必须知道其双亲节点的,因此限制了对数据库存取路径的控制;

图 1. 院系人员组成结构图

  二、网状数据模型

  定义:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。

时间: 2024-08-26 22:01:28

逻辑数据模型之层次数据模型、网状数据模型和关系数据模型的相关文章

数据库原理及应用-数据模型之关系数据模型

2018-02-04 23:03:28 一.关系数据模型 关系型数据模型的基本的数据结构只有一种:表(relation).在关系数据模型中将现实世界中的实体以及实体的联系都用表来表达,而层次数据模型中是用记录来表示实体,PCR表示关系,网状数据类型中是用记录来表示实体,系来表示关系,关系型数据模型将两者统一采用表来表达,这是一个很大的区别. 关系模型的特性: 基于集合论的知识,有更高的抽象级别 屏蔽掉底层的实现算法,容易理解 引入关系代数系统 引入结构化的查询语言 Soft link,软连接,通

数据库原理及应用-数据模型之层次与网状模型

2018-01-22 20:55:42 一.层次模型 最先出现的数据模型,因为现实世界中的很多数据本身就存在层次关系,层次模型将客观世界描述成树状结构. 由IBM于1968年推出的IMS(Information Management System)数据库管理系统是第一个层次模型数据库管理系统,也是最典型的一个. 1.记录(record)和字段(field) 记录是用来描述某个事物或者事物间关系的可命名的数据单位.它包含若干字段,每个字段也是可命名的,字段只能是简单的数据类型,比如整形,字符串类型

概念模型、数据模型、关系数据模型

概念模型和数据模型 数据模型的定义 关系数据模型

.NET - EntityFramework 实体关系数据模型

EntityFramework 实体关系数据模型(DO.NET Entity Framework) ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.该框架曾经为.NET Framework的一部分,但version 6之后从.NET Framework分离出来. 在项目中使用Entity Framework 要得到最高版本的Entity Framework 程序包,可以通过扩展与更新或者右击项目-引

关系数据模型

一.数据结构 关系数据模型是有若干个关系模式组成的集合.关系模式的实例成为关系.每个关系可看为一个二维表,表的行称为元组,用来标识实体集中的一个实体:表的列称为属性,列名即为属性名,属性名不能相同. 关系的描述称为关系模式(Relation Schema)它可以形式化地表示为: R(U,D,dom,F) 其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合. 通常简记为: R(U)或R(A1,A2,…,An) 其中R为

复习三——关系数据模型

数据模型 描述现实世界实体,实体间联系以及数据语义和一致性约束的模型.这个定义看起来没什么实际用途,但是理解了对使用power designer设计数据库有好处.嘛...反正我没理解透. 按照模型应用的不同目的,可以分为 概念数据模型(概念模型):按用户的观点对数据进行建模,强调语义表达功能.主要用于数据库的概念设计. 结构数据模型(数据模型):按计算机系统的观点对数据进行建模,直接面向数据库的逻辑结构. 现实世界-->信息世界 概念模型(如E-R模型,即实体-联系模型)-->机器世界 数据模

初学数据库——数据模型之关系数据模型

有几个基本概念:属性,阈,元组 关系数据库可以类比一个二维表,表的每一列对应属性的阈,表的每一行对应元组,关系则相当于这个表格,同时,关系并不完全等于这个表格,应该加以适当限制

关系数据模型的范式

对范式的简单理解,即一张数据表的表结构所符合的某种设计标准的级别. 第一范式(1NF):属性不可拆分. 元组的每个属性只能包含一个值: 关系中的每个元组必须包含相同数量的值: 关系中的每个元组一定不能相同. 第二范式(2NF):每个非主属性完全函数依赖于任何一个候选码. 完全函数依赖:主键可能由多个属性构成,完全依赖要求不允许存在非主属性依赖于主键中的某一部分属性. 第三范式(3NF):消除非主属性之间的依赖关系,只保留非主属性与码的依赖关系,即,消除传递函数依赖. BC范式:每个表中只有一个候

第2讲++关系数据模型