精华内容
下载资源
问答
  • 现在针对逻辑数据模型中所用到的三种数据模型---层次数据模型、网状数据模型以及关系数据模型做一个相信的介绍与对比分析。 一、层次数据模型 定义:层次数据模型是用树状<层次>结构来表示实体类型...

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

      一、层次数据模型

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

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

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

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

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

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

      实例:

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

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

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

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

      优点:

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

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

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

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

      缺点:

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

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

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

      二、网状数据模型

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

      其实,网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是1:n,而是一种m:n的关系,从而克服了层次状数据模型的缺点。

      特征:

         1. 可以存在两个或者多个节点没有父节点;

         2. 允许单个节点存在多于一个父节点;

      网状数据模型中的,每个节点表示一个实体,节点之间的有向线段表示实体之间的联系。网状数据模型中需要为每个联系指定对应的名称。

      实例:  

         同样是以教务管理系统为例,下面说明了院系的组成中,教师、学生、课程之间的关系。

    图 2. 院系的教务管理系统

        由上图中可以看出课程(实体)的父节点由专业、教研室、学生。以课程和学生之间的关系来说,他们是一种m:n的关系,也就是说一个学生能够选修多门课程,一门课程也可以被多个学生同时选修。

      优点:

         1. 网状数据模型可以很方便的表示现实世界中的很多复杂的关系;

         2. 修改网状数据模型时,没有层次状数据模型的那么多的严格限制,可以删除一个节点的父节点而依旧保留该节点;也允许插入一个没有任何父节点的节点,这样的插入在层次状数据模型中是不被允许的,除非是首先插入的是根节点;

         3. 实体之间的关系在底层中可以借由指针指针实现,因此在这种数据库中的执行操作的效率较高;

      缺点:

         1. 网状数据模型的结构复杂,使用不易;

         2. 网状数据模型数据之间的彼此关联比较大,该模型其实一种导航式的数据模型结构,不仅要说明要对数据做些什么,还说明操作的记录的路径;

       三、关系型数据模型

      关系型数据模型对应的数据库自然就是关系型数据库了,这是是目前笔者最熟悉的数据库。

      定义:使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。

      关系型数据库是目前最流行的数据库,同时也是被普遍使用的数据库,如MySQL就是一种流行的数据库。支持关系数据模型的数据库管理系统称为关系型数据库管理系统。

      特征:

         1. 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系---一张二维表,在关系模型中,操作的对象和结果都是一张二维表;

         2. 关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系---表,来实现多对多的关系,如下例子中的学生选课系统中学生和课程之间表现出一种多对多的关系,那么需要借助第三个表,也就是选课表将二者联系起来;

         3. 关系必须是规范化的关系,即每个属性是不可分割的实体,不允许表中表的存在;

      实例:

         下面以学生选课系统为例进行说明。学生选课系统的实体包括:学生、教师、课程;其联系一般为学生与课程之间是一种多对多的关系,教师与课程之间是多对多的关系。学生可以同时选择多门课程,一门课程也可以同时被多个学生同时选择;一位教师可以教授多门课程,一门可能可以由多个教师教授。因此他们之间的联系如下:

     

    图 3 学生选课系统示意图

      将该图映射为关系数据模型中的表格为图4。从中可以看到学生与课程之间的联系以及教师和课程之间的多对多联系都被映射成了表格。其中选课表中的sut_id和cour_id分别是引用学生表和课程表的cour_id的外键;教课表也是如此。

     图 4 关系数据模型的表格

      优点:

         1. 结构简单,关系数据模型是一些表格的框架,实体的属性是表格中列的条目,实体之间的关系也是通过表格的公共属性表示,结构简单明了;

         2. 关系数据模型中的存取路径对用户而言是完全隐蔽的,是程序和数据具有高度的独立性,其数据语言的非过程化程度较高;

         3. 操作方便,在关系数据模型中操作的基本对象是集合而不是某一个元祖;

         4. 有坚实的数学理论做基础,包括逻辑计算、数学计算等;

      缺点:

         1. 查询效率低,关系数据模型提供了较高的数据独立性和非过程化的查询功能(查询的时候只需指明数据存在的表和需要的数据所在的列,不用指明具体的查找路径),因此加大了系统的负担;

         2. 由于查询效率较低,因此需要数据库管理系统对查询进行优化,加大了DBMS的负担;

      关系数据模型的三种约束完整性:

      关系数据模型定义了三种约束完整性:实体完整性、参照完整性以及用户定义完整性。

      实体完整性:实体完整性是指实体的主属性不能取空值。实体完整性规则规定实体的所有主属性都不能为空。实体完整性针对基本关系而言的,一个基本关系对应着现实世界中的一个主题,例如上例中的学生表对应着学生这个实体。现实世界中的实体是可以区分的,他们具有某种唯一性标志,这种标志在关系模型中称之为主码,主码的属性也就是主属性不能为空。

      参照完整性:在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。如上表中的选课关系的stu_id和cour_id分别是参考学生和课程的外键,那么对于现实的系统而言,stu_id和cour_id必须分别出现在学生和课程关系中,这就是外键参考的完整性,同时删除的时候根据设置的不同有不同的处理方式。

      用户定义完整性:用户定义完整性是针对某一个具体关系的约束条件。它反映的某一个具体应用所对应的数据必须满足一定的约束条件。例如,某些属性必须取唯一值,某些值的范围为0-100等。

    展开全文
  • 数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件, ...常见的数据模型有层次模型、网状模型和关系模型三种。 关系其实就是一个二维表的意思,行列对应,..

    数据模型(Data Model)是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,

    为数据库系统的信息表示与操作提供一个抽象的框架。

    数据模型所描述的内容有三部分,分别是数据结构、数据操作和数据约束 。

    数据模型是数据库设计中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式构架。

    数据模型是数据库系统的核心和基础。

     

    其实就是一种E-R图的表现形式。

    常见的数据模型有层次模型、网状模型和关系模型三种。

    关系其实就是一个二维表的意思,行列对应,类似于y和x的意思,关系类似于f(x)的函数关系的意思。

    层次模型和网状模型很好理解,看一下图就知道了。主要还是说说关系模型。

    层次模型:

    网状模型:

    现实世界中事物之间的联系更多的是非层次关系的,用层次模型表示这种关系很不直观,网状克服了这一弊病,可以清晰的表示这种非层次关系。

    关系模型的特点:

    (1)数据结构单一。关系模型中,不管是实体还是实体之间的联系,都用关系来表示,而关系都对应一张二维数据表,数据结构简单、清晰。
    (2)关系规范化,并建立在严格的理论基础上.构成关系的基本规范要求关系中每个属性不可再分割,同时关系建立在具有坚实的理论基础的严格数学概念基础上。

    (3)概念简单,操作方便。关系模型最大的优点就是简单,用户容易理解和掌握,一个关系就是一张二维表格,用户只需用简单的查询语言就能对数据库进行操作。

    https://zhidao.baidu.com/question/1927530017544265747.html

     

    我们已经知道,关系数据库是建立在关系模型上的。

    而关系模型本质上就是若干个存储数据的二维表,可以把它们看作很多Excel表。

    https://www.liaoxuefeng.com/wiki/1177760294764384/1218728991649984

    展开全文
  • 层次模型 结点的双亲都是唯一的 只能直接处理一对多关系 任何记录值按其路径查看 没有一个子女记录值能够脱离双亲记录值而独立存在 网状模型 允许一个多个的结点 允许多个结点没有双亲 允许两个结点有多种联系 要...

    层次模型

    结点的双亲都是唯一的
    只能直接处理一对多关系
    任何记录值按其路径查看
    没有一个子女记录值能够脱离双亲记录值而独立存在

    网状模型

    允许一个和多个的结点
    允许多个结点没有双亲
    允许两个结点有多种联系
    要为每个联系命名,并指出该联系有关的双亲记录和子女记录

    关系模型(重点)

    1.关系模型中数据的逻辑结构是一张二维表
    2.关系模型的数据结构
    关系:一个关系通常说的一张表
    元组:表中一行即一组
    属性:一列即一个属性,给每一个属性取名,即属性名
    主码:也成码键,表中的某个属性组,它可以唯一确定一个元组
    域:形同数据类型的值的集合,属性的取值范围来自某个域
    分量:元组中的一个属性值
    关系模式:关系名(属性1,属性2…,属性n)
    3.关系必须是规范化的,关系中每一个分量必须是不可分的数据项,不允许表中还有表
    4.
    关系名————表名
    关系模式————表头(对表格的描述)
    关系————一张二维表
    元组————记录或者行
    属性————列
    属性名————列名
    属性值————列值
    分量————一条记录中的一个列值
    非规范关系————表中有表
    5.操作对象和操作结果都是关系
    6.完整性约束
    关系的两个不变性:
    1.1**实体完整性

    • 关系的主属性不能取空值
      2.2参照完整性**
      一个表(s)中的键是另一个表(R)的主键键,这个(S)中键称作外码(取空值或非空值)
      R:参照关系
      S:被参照关系
      3.3用户定义完整性
      关系模型提供定义和检验这类完整性机制
      针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求

    7.特点
    实体和各种联系都是用关系来表示
    对数据检索也是关系
    数据库独立性和安全性

    展开全文
  • 数据模型的概念 在数据库中用数据模型这个工具来抽象、表示处理现实世界中的数据信息。...逻辑模型主要包括网状模型、层次模型关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。 物理模

    数据模型的概念

    在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。
    通俗地讲数据模型就是现实世界的模拟。

    数据模型应满足三方面要求:

    • 能比较真实地模拟现实世界
    • 容易为人所理解
    • 便于在计算机上实现

    2.两大类数据模型

    数据模型分为两类(分属两个不同的层次)

    1. 概念模型 也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。
    2. 逻辑模型 和 物理模型
    • 逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型等,按计算机系统的观点对数据建模,用于DBMS实现。

    • 物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

    数据模型的组成要素

    (1)数据结构

    数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,数据结构指对象和对象间联系的表达和实现,是对系统静态特征的描述,包括两个方面:
    (1)数据本身:类型、内容、性质。例如关系模型中的域、属性、关系等。
    (2)数据之间的联系:数据之间是如何相互关联的,例如关系模型中的主码、外码联系等。

    (2)数据操作

    数据操作

    对数据库中各种对象(型)的实例(值)允许执行的操作,及有关的操作规则
    数据操作的类型

    • 查询
    • 更新(包括插入、删除、修改)

    (3)数据的完整性约束条件

    数据的完整性约束条件是一组完整性规则的集合,规定数据库状态及状态变化所应满足的条件,以保证数据的正确性、有效性和相容性。
    完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则

    常用的数据模型

    在这里插入图片描述

    层次模型

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    网状模型

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    关系模型

    关系数据库系统采用关系模型作为数据的组织方式
    1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型
    计算机厂商新推出的数据库管理系统几乎都支持关系模型

    (1)数据结构

    在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
    在这里插入图片描述
    几个名词解释:

    • 关系(Relation)
      一个关系对应通常说的一张表

    • 元组(Tuple)
      表中的一行即为一个元组

    • 属性(Attribute)
      表中的一列即为一个属性,给每一个属性起一个名称即属性名

    • 主码(Key)
      表中的某个属性组,它可以唯一确定一个元组。

    • 域(Domain)
      属性的取值范围。

    • 分量
      元组中的一个属性值。

    • 关系模式
      对关系的描述

    • 关系名(属性1,属性2,…,属性n)
      学生(学号,姓名,年龄,性别,系,年级)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    关系模型的优缺点

    优点

    • 建立在严格的数学概念的基础上;
    • 概念单一:
    • 实体和各类联系都用关系来表示; 对数据的检索结果也是关系
    • 关系模型的存取路径对用户透明
    • 具有更高的数据独立性,更好的安全保密性
    • 简化了程序员的工作和数据库开发建立的工作;

    缺点

    • 存取路径对用户透明导致查询效率往往不如非关系数据模型;
    • 为提高性能,必须对用户的查询请求进行优化,增加了开发DBMS的难度;
    展开全文
  • 数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示...1、传统数据模型(层次模型、网状模型、关系模型) 2、面向对象模型 3、时态GIS模型 4、三维数据模型 二、传统数据模...
  • 关系模型和关系运算

    千次阅读 2015-11-09 22:52:54
    一、关系模型 为什么学习关系模型? 我们可以通过关系模型这种简单的数据结构能够描述出现实世界的实体及实体间的各种联系。 什么是关系模型?...它和层次、网状模型相比,有以下特点: 1.数据结构简单
  • 层次模型和网状模型统称为格式化模型。格式化模型中数据结构的基本单位是基本层次联系,基本层次联系指的是两个记录以及他们之间的一对多(包括一对一)的联系。它是单记录的操作方式。 格式化模型中实体用记录表示...
  • 概念层数据模型概念层数据模型实际上是现实世界到机器世界的一个中间层次。一、基本概念概念数据模型:抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层...
  • 层次模型、网状模型、关系模型、面向对象数据模型、对象关系数据模型、半结构化数据模型 描述数据在系统内部的表示方式存取方法,或在磁盘或磁带上的存储方式存取方法,是面向计算机系统的 ...
  • 关系模型和SQL

    2019-06-27 21:01:42
    文章目录一、数据库的发展:二、关系模型和SQL安装三、SQL语句:1.DCL控制语言2.DDL数据定义语言3.DML数据操作语言4.TCL事务控制语言 一、数据库的发展: 萌芽期:文件管理 第一代:层次数据库、网络数据库 第二代:...
  • 看博客,听课等等对着书敲代码脱离书自己敲代码自己实现一些小DEMO进项目看代码在别人指点下写代码自己独立在别人搭建好的框架内填写代码自己独立负责别人设计好的模块的实现自己独立负责一个软件模块的设计实现...
  • 团队社会资本的多层次模型研究,刘寿先,,团队社会资本是指在团队的社会结构以及更大范围的组织的正式非正式结构中,团队通过其成员的社会关系获得一系列资源。团队社会
  • 主要包括:网络模型,层次模型和关系模型等。网络模型和层次模型统称 非关系模型,现在已经被关系模型所取代。关系模型涉及到的几个概念:(1)记录:一个表的一个横行,称为一条记录。(2)属性:表中的每一列称为...
  • 19层次结构模型

    2019-04-02 13:53:23
    也就是说模型之间要存在层次关系,高级别层次对象的变换会影响低层次对象,反之低级别层次对象的变换不会影响高级别层次对象。下面阐述如何在代码中实现。 1.发生转动的部位是关节处,为每个部位添加事件监听,并用...
  • 2018-02-04 23:03:28一、关系数据模型关系型数据模型的基本的数据结构只有一种:表(relation)。在关系数据模型中将现实世界中的实体以及实体的...关系模型的特性:基于集合论的知识,有更高的抽象级别屏蔽掉底层的...
  • CakePHP: 深层次模型绑定示例

    千次阅读 2011-11-14 16:23:27
    使用recursive=2可以递归获取深层次关联模型数据,但是没办法设置获取数据的字段查询条件。ContainableBehavior是为了解决这个问题而引入的。类似的还有LinkableBehavior。下面是一个简单的示例。关系如下:Deal...
  • 架构师能力层次模型

    2020-12-26 18:57:49
    这几种能力之间的关系大概如下图。编程能力、调试能力编译部署能力属于最基础的能力。不能精通掌握这三种能力,很难在性能优化能力业务架构能力方面有所成就。具备了一定的性能优化能力业务架构能力之后,才能...
  • 为研究矿工的不安全行为产生系统的内在作用关系,将HFACS引用到煤矿不安全行为研究中,构建了矿工不安全行为多层次因素模型,并以该模型为依据,运用系统动力学原理,构建了矿工不安全行为系统动力学(SD)仿真模型。...
  • 最先出现的数据模型,因为现实世界中的很多数据本身就存在层次关系层次模型将客观世界描述成树状结构。 由IBM于1968年推出的IMS(Information Management System)数据库管理系统是第一个层次模型数据库管理系统...
  • 已经讲了数据结构的层次模型和网状模型,最后再看下第三种模型,关系模型。  关系模型以二维表结构来表示实体与实体之间的联系,它是以关系数学理论为基础的,每个二维表又可称为关系。  在关系模型中,操作的...
  • 层次模型 方式:使用树形结构表示实体类型以及实体之间的联系。 优点:记录之间的联系通过指针实现,查询效率高。 缺点:只能表示1:n联系。虽然有多种辅助手段实现m:n联系,但是比较复杂, 用户不易掌握。 ...
  • 关系数据模型之前较老的数据模型有:层次模型和网络模型。与早期的数据模型相比,关系模型的主要有点是数据表述简单。数据定义语言(Data Definition Language DDL)完整性约束:在数据模型中,需要提供的一系列的结构...
  • [单选] 美发服务业公共关系的主要任务,一是优质服务,顾客至上;二是抓住有利时机,开展宣传攻势;三是()。[单选] 修剪粗糙头发时,不能扩大头发表皮层的切断面,应()。[单选] 长刀是指从落刀到收刀的间距,一般为...
  • 最常用的数据模型是概念数据模型和结构数据模型: ①概念数据模型(信息模型):面向用户的,按照用户的观点进行建模,典型代表:E-R图 ②结构数据模型:面向计算机系统的,用于DBMS的实现,典型代表有:层次模型,...
  • 关系模型

    千次阅读 2010-03-25 11:38:00
    关系模型网状数据库和层次数据库已经很好地解决了数据的集中共享问题,但是在数据独立性抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而后来出现的关系...
  • 关系数据库的基本特征是使用关系模型的组织数据,20世纪80年代以后,在商用DBMS中,关系模型逐步取代早期的网状模型和层次模型。 关系数据模型 作为数据模型,关系模型包含三个组成要素:关系数据结构、关系操作集合...
  • 数据库概览 数据库系统本质是一个用计算机存储数据的系统,数据库是收集数据文件的仓库或容器,有永久存储、有组织和可共享的基本特点。 数据库管理相对于文件管理的优点: 数据相互关联 ...层次数据...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,960
精华内容 1,184
关键字:

层次模型和关系模型