精华内容
下载资源
问答
  • 数据模型(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. 整个模型中有且仅有一个节点没有父节点,其余的节点必须有且仅有一个父节点,但是所有的节点都

    一、层次数据模型

      定义:层次数据模型是用树状<层次>结构来组织数据的数据模型。

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

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

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

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

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

      实例:

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

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

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

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

      优点:

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

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

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

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

      缺点:

             1.结构呆板,缺乏灵活性。 

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

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

                

    二、网状数据模型

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

      其实,网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是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等。

     

    展开全文
  • 其实层次数据模型就是图形表示就是一个倒立生长树,由基本数据结构中树(或者二叉树)定义可知,每棵树都有且仅有一个根节点,其余节点都是非根节点。每个节点表示一个记录类型对应实体概念,记录类型...

    本文转载自:http://www.cnblogs.com/yue-blog/p/6010527.html

    一、层次数据模型

    定义:层次数据模型是用树状结构来组织数据的数据模型。

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

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

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

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

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

    实例:

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

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

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

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

    优点:

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

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

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

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

    缺点:

    1.结构呆板,缺乏灵活性。

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

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

    efdcccbfb84c0f0b88da88763d978534.png

    二、网状数据模型

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

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

    特征:

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

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

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

    实例:

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

    9254ea61ff81dbbd5f25ed081d3b780b.png

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

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

    优点:

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

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

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

    缺点:

    1. 网状数据模型的结构复杂,使用不易,随着应用环境的扩大,数据结构越来越复杂,数据的插入、删除牵动的相关数据太多,不利于数据库的维护和重建。

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

    三、关系型数据模型

    关系型数据模型对应的数据库自然就是关系型数据库了,这是目前应用最多的数据库。

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

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

    特征:

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

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

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

    实例:

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

    8cc2df110443733f943706e15a73a808.png

    图 3 学生选课系统示意图

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

    b8588c9cb0226e2801f3402914fead18.png

    图 4 关系数据模型的表格

    优点:

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

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

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

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

    缺点:

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

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

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

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

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

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

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

    展开全文
  • 现在针对逻辑数据模型中所用到三种数据模型---层次数据模型网状数据模型以及关系数据模型做一个相信介绍对比分析。 一、层次数据模型 定义:层次数据模型是用树状&lt;层次&gt;结构来表示实体类型...

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

      一、层次数据模型

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

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

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

         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等。

    展开全文
  • 数据模型的概念2.两大类数据模型客观对象的抽象过程---两步抽象3.数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束条件4.概念模型(1)用途基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系①...
  • 最先出现数据模型,因为现实世界中很多数据本身就存在层次关系层次模型将客观世界描述成树状结构。 由IBM于1968年推出IMS(Information Management System)数据库管理系统是第一个层次模型数据库管理系统...
  • 关系模型与关系模型的区别 ** 数据模型 数据模分为两类 : 1.概念模型:也称信息模型,它是按用户的观点来对数据和信息建模,主要用于数据库设计。 2.逻辑模型和物理模型 逻辑模型 物理模型 层次模型、...
  • 关系模型的基本概念

    2020-05-24 14:25:28
    3.是数据库三大经典模型(层次模型网状模型关系模型)之一,现在大多数数据库系统仍然使用关系数据模型。 4.标准数据库语言(SQL语言)是建立在关系模型基础之上,数据库领域众多理论也都是建立在关系...
  • 数据库基础:关系模型

    千次阅读 2017-09-25 23:46:39
    其中层次模型与网状模型统称为格式化模型。诸多数据模型中,关系模型是目前最重要的一种模型。下面来详述一下关系模型的数据结构。一、关系模型的数据结构关系模型与以往的模型不同,它是建立在严格的数学概念的基础...
  • 2、关系模型的数学理论? 3、关系数据库的标准数据类型: INT:整型 4字节 BIGINT:长整型 8字节 REAL:浮点数4字节 FLOAT(24) DOUBLE:浮点数 8字节 DECIMAL(M,N):高精度小数 用户指定精度 共M位 N为小数....
  • 数据库发展数据模型

    千次阅读 多人点赞 2020-05-01 17:47:25
    本文关键字:数据库、模型、层次模型网状模型、关系模型。数据库的概念最早可以追溯到1960年,经过多年的发展和演变才有了现在使用广泛的关系型数据库,被企业广泛采用。数据模型是数据库系统的核心和基础,通常由...
  • 已经讲了数据结构的层次模型网状模型,最后再看下第三种模型,关系模型。  关系模型以二维表结构来表示实体实体之间联系,它是以关系数学理论为基础,每个二维表又可称为关系。  在关系模型中,操作...
  • 关系数据库的基本特征是使用关系模型的组织数据,20世纪80年代以后,在商用DBMS中,关系模型逐步取代早期的网状模型层次模型关系数据模型 作为数据模型,关系模型包含三个组成要素:关系数据结构、关系操作集合...
  • 逻辑模型 层次模型 网状模型 关系模型 ...网状模型的优缺点;关系模型的数据结构 ;4. 面向对象模型 面向对象模型是近些年出现的一种新的数据模型它是用面向对象的观点来描述现实世界中的事物对象的逻辑结构和对象间的
  • 数据模型与SQL语言

    2020-12-23 14:54:24
    常见的3种基本数据模式:层次模型网状模型关系模型。 目前使用最多的就是关系模型,建立在关系模型基础上的数据库称为关系型数据库。如,MySQL就是一种关系型数据库。 理解关系模型的理论知识:数据建模、...
  • 关系模型之基本概念

    2020-12-11 11:13:39
    谈及层次模型,我们想到以树形式组织数据,谈及网状模型时,我们想到以图形式组织数据,那么,关系模型为什么以表形式组织数据呢? 直接告诉你,你可以把一个关系看做一个表(尽管到后面你会发现这句话是存在...
  • 数据库模型与特点

    2020-04-23 15:58:26
    一、数据库模型 1、定义 (1)数据库模型是数据库管理...(3)层次模型的记录类型间只有简单的层次关系,且满足以下条件:有一个记录类型没有父结点,其它记录类型有且只有一个父节点 **3、网状模型 ** (1)一种用...
  • 一、数据模型概述 数据库设计中两种不同模型:  (1)概念模型:面向现实世界,计算机无关。  (2)数据模型:面向计算机实现。分为逻辑数据模型,物理数据模型。...层次模型 网状模型 关系模型 面向对...
  • 层次模型层次模型是数据库系统最早使用一种模型,它数据结构是一棵“有向树”。根结点在最上端,层次最高,...网状模型可以表示多个从属关系的联系,也可以表示数据间交叉关系,即数据间横向关系与纵向关系...
  • 其中层次模型网状模型统称为非关系模型,现已逐渐被关系模型取代。 关系数据模型的操纵完整性约束: 关系数据模型的操纵主要包括查询、插入、删除和更新数据,这些操作必须遵循三大完整性约束,分别为: 参照...
  • 层次模型层次模型是数据库系统最早使用一种模型,它数据结构是一棵“有向树”。根结点在最上端,层次最高,...网状模型可以表示多个从属关系的联系,也可以表示数据间交叉关系,即数据间横向关系与纵向关系...
  • 数据库中数据模型

    2017-04-13 10:51:48
    数据库中用于表示数据模型有层次模型网状模型关系模型,还有其他一些数据模型,包括面向对象数据模型和对象关系数据模型。 (1)层次模型利用树型结构来表示数据以及数据之间联系。这种结构包含很多树...
  • 一.数据模型 是一种模型,是对世界数据特征抽象。是用来描述数据,组织数据和对数据进行操作。是现实世界模拟。...层次模型 网状模型 关系模型 面向对象数据模型 对象关系数据模型 半结构...
  • 层次模型网状模型关系模型是三种重要数据模型。这三种模型是按其数据结构而命名。前两种采用格式化结构。在这类结构中实体用记录型表示,而记录型抽象为图顶点。记录型之间联系抽象为顶点间连接弧。...
  • 第二讲 数据模型(下)

    2020-04-22 14:20:37
    常见模型1.1层次模型1.1.1概述1.1.2层次模型的数据操作与完整性约束1.1.3层次模型的优缺点1.2网状模型1.2.1网状模型的数据操作与完整性约束1.2.2网状模型优缺点1.3关系模型1.3.1关系模型中的一些术语1.3.2关系模型与...
  • 数据库三种数据模型

    万次阅读 2018-07-20 19:27:33
    层次模型 层次模型是数据库系统最早使用一种模型,它数据结构是一棵“有向树”。根结点在最上端,层次最高,子...网状模型可以表示多个从属关系的联系,也可以表示数据间交叉关系,即数据间横向关系与纵...
  • 层次模型——树2.网状模型3. 关系模型——二维表 一、两类数据模型 模型:实现世界特征的模拟和抽象。 数据模型(Data Model):是现实世界数据特征的抽象。(数据的表现形式) 数据模型的作用:提供给我们模型化...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 329
精华内容 131
关键字:

层次模型与网状模型的关系