精华内容
下载资源
问答
  • 关系数据模型 关系数据模型 关系模型由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素。 数据结构 关系数据模型源于数学,它用二维表来组织数据,而这个...

    关系数据模型

    关系数据模型

    关系模型由关系模型的数据结构、关系模型的操作集合和关系模型的完整性约束三部分组成,这三部分也称为关系模型的三要素

    数据结构

    关系数据模型源于数学,它用二维表来组织数据,而这个二维表在关系数据库中称为关系。关系数据库就是表或者说是关系的集合。

    数据操作

    关系数据模型给出了关系操作的能力,包括。

    1. 传统的运算关系:并(union)、交(intersection)、差(difference)、广义迪卡尔积(extended cartesian product)
    2. 专门的关系运算:选择(select)、投影(project)、连接(join)、除(divide)
    3. 有关的数据操作:查询(query)、插入(insert)、删除(delete)、更改(update)

    关系模型中的操作对象是集合(或表),而不是单个数据行,也就是说,关系模型中操作的数据以及操作的结果都是完整的集合(或表),这些集合可以只包含一行数据,也可以不包含任何数据。

    完整性约束

    在数据库中数据的完整性是指保证数据正确的特征,数据完整性是一种语义概念,它包括两个方面:

    1. 与现实世界中应用需求的数据的相容性和正确性。
    2. 数据库内数据之间的相容性和正确性。

    完整性约束在关系型数据库中一般分为三类,实体完整性(主键)、参照完整性(外建)、用户定义完整性

    关系型数据库的基本术语

    基本术语

    1. 关系(表)

      通俗地讲,**关系(relation)**就是二维表,二维表的名字就是关系的名字。

    2. 属性(列)

      二维表中的每一个称为属性(attribute),没一个属性有一个名字,称为属性名。n列就是n元。

    3. 值域(取值范围)

      二维表中属性的范围称为值域(domain)。如性别只能‘男’或‘女’。

    4. 元组(行)

      二维表中的一行数据称为一个元组(tuple)

    5. 分量(元组中每个属性的值)

      元组中的没一个属性值称为元组的一个分量(component),n元关系的每个元组有n个分量。

    6. 关系模式(表结构、表头)

      二维表的结构称为关系模式(relation schema),或者说关系模式就是二维表的表框架或表头结构。设有关系名R,属性分别是a、b、c、d,则关系模式可以表示为:R(a,b,c,d)。如果将关系模式理解为数据类型,则关系就是该数据类型的一个具体值。

    7. 关系数据库

      对应于一个关系模型的所有关系的集合称为关系数据库(relation database)

    8. 候选键

      如果一个属性或属性集(可以有多个候选键)的值能够唯一标识一个关系的一个元组而又不包含多余的属性,则称该属性或属性集为候选键(candidate key),如学号、身份证。候选键又称为候选关键字或候选码。

    9. 主键

      当一个关系中有多个候选键时,可以从中选择一个作为主键(primary key)。每个关系只能有一个主键。主键也称为主码或关键字,是表中的属性或属性组,用于唯一地确定一个元组。

    10. 主属性与非主属性

      包含在任意候选键中的属性称为主属性(primary attribute);不包含任一候选键的属性为非主属性(nonprimary attribute)

    术语对比表:

    关系术语一般的表格属于
    关系名表名
    关系模式表头(表中所含列的描述)
    关系(一张)二维表
    元组记录或行
    属性
    分量一条记录中的某个列的值

    对关系的限定

    关系可以看成二维表,但并不是所有二维表都是关系。关系数据库对关系有一些限定,如:

    1. 关系中的每个分量都必须是不可再分的最小数据。
    2. 表中列的数据类型是固定的,即列中的内一个分量都是相同类型的数据,来自相同的值域。
    3. 不同列的数据可以取自相同的值域,每个列称为一个属性,每个属性有不同的属性名。
    4. 关系表中列的顺序不重要,即列的次序可以任意交换,不影响其表达的语义。
    5. 行的顺序也不重要,交换行数据的顺序也不影响其内容。
    6. 同一个关系中的元组不能重复,即在一个关系中,不能有两个元组的值完全相同相同。

    关系代数

    关系代数是关系操作语言的一种传统的表示方式,它是一种抽象的查询语言,是一种单次关系(或者说是集合)语言。包括运算对象、运算符和运算结果。

    关系代数可分为两大类:

    1. 传统集合运算:这类运算完全把关系看作元组的集合,包括广义迪卡尔积运算、并运算、交运算、差运算
    2. 专门的关系运算:这类关系除了把关系看作元组的集合以外,还通过运算表达了查询的要求,包括选择、投影、连接、除运算

    传统关系运算

    1. 并运算

      设关系R与S均是n目关系,关系R与S的并记为:

      R ∪ S = { t ∣ t ∈ R ∨ t ∈ S } R \cup S = \{t|t \in R \lor t\in S\} RS={ttRtS}

      其结果仍是n目关系,由属于R或S的元组组成。

    2. 交运算

      设关系R与S均为n目关系,关系R与S的交记为:

      R ∩ S = { t ∣ t ∈ R ∧ t ∈ S } R \cap S = \{ t| t\in R \land t \in S \} RS={ttRtS}

      其结果仍是n目关系,由属于R也属于S的元组组成。

    3. 差运算

      设关系R与S均为n目关系,关系R与S的差运算记为:

      R − S = { t ∣ t ∈ R ∧ t ∉ S } R-S = \{t| t\in R \land t \notin S\} RS={ttRt/S}

      其结果仍是n目关系,由属于R且不属于S的元组组成。

    4. 广义迪卡尔积

      广义迪卡尔积不要求参加运算的两个关系具有相同的目数。

      两个分别为m目和n目的关系R和S的广义迪卡尔积是一个有 m+n 个列的元组的集合。元组的前m列是关系R的一个元组,后n个是关系S的一个元组。若R有K1个元组,S有K2个元组,则R和S的广义迪卡尔积有 K1*K2个元组,记为:

      R × S = { t r t s ^ ∣ t r ∈ R ∧ t s ∈ S } R \times S = \{ \hat{t_r t_s} | t_r \in R \land t_s \in S \} R×S={trts^trRtsS}

      其中, t r t s ^ \hat{t_r t_s} trts^表示有两个元组前后有序连接成的一个元组。

    专门的关系运算

    1. 选择

      选择是指从指定的关系中选出满足给定条件的元组而组成的一个新的关系。表示为:

      KaTeX parse error: Undefined control sequence: \and at position 28: …= \{t | t\in R \̲a̲n̲d̲ ̲F(t)= true\}

      其中 σ \sigma σ 是选择运算符,R是关系名,t是元组,F是逻辑表达式。

      如: σ S d e p t = ′ 计 算 机 ′ ( S t u d e n t ) \sigma_{Sdept='计算机'}(Student) σSdept=(Student)

    2. 投影

      投影运算是从关系R中选取若干列,并用这些属性组成一个新的关系。表示为:

      ∏ A ( R ) = t . A ∣ t ∈ R \prod_A(R) = {t.A | t\in R} A(R)=t.AtR

      其中, ∏ \prod 是投影运算符,R是关系名,A是被投影的属性或属性组。t.A 表示t这个元组中相应于属性A的分量,也可以表示为t[A]。

      投影运算一般由两步完成:

      1. 选出指定的属性,形成一个可能含有重复行的新关系。
      2. 删除重复行,形成结果关系。

      如: ∏ S n a m e , S d e p t ( S t u d e n t ) \prod_{Sname,Sdept}(Student) Sname,Sdept(Student)

    3. 连接

      连接运算用来连接相互之间有联系的两个关系,从而产生一个新关系。这个过程通过连接属性来实现。连接运算主要有一下几种:

      1. θ \theta θ 连接( θ \theta θ 是比较运算符)

        表示为 { t r t s ^ ∣ t r ∈ R ∧ t r ∈ S ∧ t r [ A ] θ t s [ B ] } \{\hat{t_r t_s}|t_r \in R \land t_r \in S \land t_r[A] \theta t_s[B]\} {trts^trRtrStr[A]θts[B]}

        其中A和B分别是关系R和S上语义相同的属性或属性组,$\theta $是比较运算符

      2. 等值连接( θ \theta θ 连接的特例)

        θ \theta θ连接一致,是当 θ \theta θ为=时的情况

      3. 自然连接

        自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性或属性组,并且在连接结果中去掉重复的列,使公共属性列只保留一个。

        自然连接与等值连接的区别:

        1. 自然连接要求相等的分量必须有共同的属性名,等值连接则不要求
        2. 自然连接要求吧重复的属性名去掉,等值连接不要求
      4. 外部连接

        如果希望不满足连接条件的元组也出现在连接结果中,则可以通过外连接(outer join)操作实现。外连接有三种形式:左外连接、右外连接、全外连接。含义是将指定一边(如左连接就是左边的关系)中不满足的元组也保留到连接后的结果中,并在结果中将另一关系各属性置为空(NULL)值。

      5. 半连接

      1. 除法的描述:

        设关系S的属性是关系R的属性的一部分,则 R ÷ S R \div S R÷S为这样一个关系:

        此关系的属性是由属于R但不属于S的所有属性组成$R \div S $ 的任一元组都是R中某元组的一部分。但必须符合下列要求,即任取属于 $R \div S $ 的一个元组 t,则t与S任一元组连接后,都为 R 中原有的元组。

      2. 除法的一般形式

        设关系R(X,Y)和S(Y,Z),其中X、Y、Z为关系的属性组,则:

        R ( X , Y ) ÷ S ( Y , Z ) = R ( X , Y ) ÷ ∏ Y ( S ) R(X,Y) \div S(Y, Z) = R(X, Y) \div \prod_Y(S) R(X,Y)÷S(Y,Z)=R(X,Y)÷Y(S)

    展开全文
  • 数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示...1、传统数据模型(层次模型、网状模型、关系模型) 2、面向对象模型 3、时态GIS模型 4、三维数据模型 二、传统数据模...

    数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示客观事物及其联系的数据及结构称为数据模型。本文详细讲述传统三大数据模型和空间数据模型。

     

    一、数据模型概述


    数据模型是指数据库的组织形式,它决定了数据库中数据之间联系的表达方式,即把在计算机中表示客观事物及其联系的数据及结构称为数据模型

    组织方式的不同,常见的有四种:

    1、传统数据模型(层次模型、网状模型、关系模型)

    2、面向对象模型

    展开全文
  • 层次数据模型     定义:层次数据模型是用树状<...其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的...
    层次数据模型

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

        满足下面两个条件的基本层次联系的集合为层次模型
        1. 有且只有一个结点没有双亲结点,这个结点称为根结点
        2. 根以外的其它结点有且只有一个双亲结点

    其实层次数据模型就是的图形表示就是一个倒立生长的树,由基本数据结构中的树(或者二叉树)的定义可知,每棵树都有且仅有一个根节点,其余的节点都是非根节点。每个节点表示一个记录类型对应与实体的概念,记录类型的各个字段对应实体的各个属性。各个记录类型及其字段都必须记录。
      在这里插入图片描述
      层次模型的特点:
        结点的双亲是唯一的
        只能直接处理一对多的实体联系
        每个记录类型可以定义一个排序字段,也称为码字段
        任何记录值只有按其路径查看时,才能显出它的全部意义
        没有一个子女记录值能够脱离双亲记录值而独立存在
      实例:
        在这里插入图片描述
        在这里插入图片描述
        
        层次模型的完整性约束条件
        无相应的双亲结点值就不能插入子女结点值
        如果删除双亲结点值,则相应的子女结点值也被同时删除
        更新操作时,应更新所有相应记录,以保证数据的一致性

        优点
        层次模型的数据结构比较简单清晰
        查询效率高,性能优于关系模型,不低于网状模型
        层次数据模型提供了良好的完整性支持
        缺点
        结点之间的多对多联系表示不自然
        对插入和删除操作的限制多,应用程序的编写比较复杂
        查询子女结点必须通过双亲结点
        层次命令趋于程序化

    层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统


    网状数据模型

        定义:用有向图表示实体和实体之间的联系的数据结构模型称为网状数据模型。
        满足下面两个条件的基本层次联系的集合称为网状数据模型:
        1. 允许一个以上的结点无双亲;
        2. 一个结点可以有多于一个的双亲。
    在这里插入图片描述
      其实,网状数据模型可以看做是放松层次数据模型的约束性的一种扩展。网状数据模型中所有的节点允许脱离父节点而存在,也就是说说在整个模型中允许存在两个或多个没有根节点的节点,同时也允许一个节点存在一个或者多个的父节点,成为一种网状的有向图。因此节点之间的对应关系不再是1:n,而是一种m:n的关系,从而克服了层次状数据模型的缺点。
      特征:
         1. 可以存在两个或者多个节点没有父节点;
         2. 允许单个节点存在多于一个父节点;
      网状数据模型中的,每个节点表示一个实体,节点之间的有向线段表示实体之间的联系。网状数据模型中需要为每个联系指定对应的名称。
      实例:  
    在这里插入图片描述

        优点:
        网状数据模型可以很方便的表示现实世界中的很多复杂的关系;
        修改网状数据模型时,没有层次状数据模型的那么多的严格限制,可以删除一个节点的父节点而依旧保留该节点;也允许插入一个没有任何父节点的节点,这样的插入在层次状数据模型中是不被允许的,除非是首先插入的是根节点;
        实体之间的关系在底层中可以借由指针指针实现,因此在这种数据库中的执行操作的效率较高;

        缺点:
         网状数据模型的结构复杂,使用不易,随着应用环境的扩大,数据结构越来越复杂,数据的插入、删除牵动的相关数据太多,不利于数据库的维护和重建。
         网状数据模型数据之间的彼此关联比较大,该模型其实一种导航式的数据模型结构,不仅要说明要对数据做些什么,还说明操作的记录的路径;
        DDL、DML语言复杂,用户不容易使用
        记录之间联系是通过存取路径实现的,用户必须了解系统结构的细节

        网状模型与层次模型的区别
        网状模型允许多个结点没有双亲结点
        网状模型允许结点有多个双亲结点
        网状模型允许两个结点之间有多种联系(复合联系)
        网状模型可以更直接地描述现实世界
        层次模型实际上是网状模型的一个特例

    典型代表是DBTG系统,亦称CODASYL系统,是20世纪70年代由DBTG提出的一个系统方案。实际系统:Cullinet Software公司的 IDMS、Univac公司的 DMS1100、Honeywell公司的IDS/2、HP公司的IMAGE。


    三、关系型数据模型
      关系型数据模型对应的数据库自然就是关系型数据库了,这是目前应用最多的数据库。
      定义:使用表格表示实体和实体之间关系的数据模型称之为关系数据模型。
      关系型数据库是目前最流行的数据库,同时也是被普遍使用的数据库,如MySQL就是一种流行的数据库。支持关系数据模型的数据库管理系统称为关系型数据库管理系统。
      特征:
         1. 关系数据模型中,无论是是实体、还是实体之间的联系都是被映射成统一的关系—一张二维表,在关系模型中,操作的对象和结果都是一张二维表,它由行和列组成;
         2. 关系型数据库可用于表示实体之间的多对多的关系,只是此时要借助第三个关系—表,来实现多对多的关系;
         3. 关系必须是规范化的关系,即每个属性是不可分割的实体,不允许表中表的存在;
      实例:

    在这里插入图片描述

        优点:
         结构简单,关系数据模型是一些表格的框架,实体的属性是表格中列的条目,实体之间的关系也是通过表格的公共属性表示,结构简单明了;
        关系数据模型中的存取路径对用户而言是完全隐蔽的,是程序和数据具有高度的独立性,其数据语言的非过程化程度较高;
        操作方便,在关系数据模型中操作的基本对象是集合而不是某一个元祖;
         有坚实的数学理论做基础,包括逻辑计算、数学计算等;

        缺点:
        查询效率低,关系数据模型提供了较高的数据独立性和非过程化的查询功能(查询的时候只需指明数据存在的表和需要的数据所在的列,不用指明具体的查找路径),因此加大了系统的负担;
        由于查询效率较低,因此需要数据库管理系统对查询进行优化,加大了DBMS的负担;

        相关概念:
        关系(Relation):一个关系对应通常说的一张表
        元组(Tuple):表中的一行即为一个元组
        属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名
        主码(Key):也称码键。表中的某个属性组,它可以唯一确定一个元组
        域(Domain):是一组具有相同数据类型的值的集合。属性的取值范围来自某个域。
        分量:元组中的一个属性值。
        关系模式:对关系的描述,关系名(属性1,属性2,…,属性n),如:学生(学号,姓名,年龄,性别,系名,年级)

        关系必须是规范化的,满足一定的规范条件
        最基本的规范条件:关系的每一个分量必须是一个不可分的数据项, 不允许表中还有表

        术语对比
    在这里插入图片描述

        关系的完整性约束条件
        实体完整性
        实体完整性是指实体的主属性不能取空值。实体完整性规则规定实体的所有主属性都不能为空。实体完整性针对基本关系而言的,一个基本关系对应着现实世界中的一个主题,例如上例中的学生表对应着学生这个实体。现实世界中的实体是可以区分的,他们具有某种唯一性标志,这种标志在关系模型中称之为主码,主码的属性也就是主属性不能为空。
        参照完整性
        在关系数据库中主要是值得外键参照的完整性。若A关系中的某个或者某些属性参照B或其他几个关系中的属性,那么在关系A中该属性要么为空,要么必须出现B或者其他的关系的对应属性中。
        用户定义的完整性
        用户定义完整性是针对某一个具体关系的约束条件。它反映的某一个具体应用所对应的数据必须满足一定的约束条件。例如,某些属性必须取唯一值,某些值的范围为0-100等。

    计算机厂商新推出的数据库管理系统几乎都支持关系模型



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

    一、层次数据模型

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

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

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

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

     

    展开全文
  • 关系数据库模型设计

    千次阅读 2020-05-19 17:13:17
    本文从现实世界-概念世界(信息世界)-机器世界(数据世界)逐级抽象,旨在以浅显易懂的语言描述关系数据库应该如何建模,最后用简单名了的描述给出关系模型的设计范式的含义。
  • 数据模型的概念2.两大类数据模型客观对象的抽象过程---两步抽象3.数据模型的组成要素(1)数据结构(2)数据操作(3)数据的完整性约束条件4.概念模型(1)用途与基本要求(2) 信息世界中的基本概念(3)两个实体型之间的联系①...
  • 数据模型(Data Model)是; 数据特征的抽象,是数据库管理的教学形式框架。数据库系统中用以提供信息表示和操作手段的形式构架。数据模型包括数据库数据的结构部分、数据库数据的操作部分和数据库数据的约束条件。 1...
  • 在数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。 文章目录1.概念数据模型(CDM)2.逻辑数据模型(LDM)3.物理数据模型(PDM) 1.概念...
  • 数据库的三种数据模型分别是什么

    千次阅读 2021-01-19 17:18:33
    层次模型层次模型是数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,...网状模型可以表示多个从属关系的联系,也可以表示数据间的交叉关系,即数据间的横向关系与纵向关系...
  • 概念数据模型、逻辑数据模型、物理数据模型

    万次阅读 多人点赞 2018-04-30 10:11:33
    最近在系统的学习数据库存储方面的知识加上在公司经常听同事们说起CDM,结合前段时间对MySQL的使用的心得将概念数据模型(Concept Data Model,CDM)、逻辑数据模型(Logical Data Model,LDM)、物理数据模型...
  • 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。 通俗地讲数据模型就是现实世界的模拟。 数据模型应满足三方面要求: 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现 2.两...
  • 数据库领域中主要的逻辑数据模型有:层次模型、网状模型、关系模型、面向对象数据模型等,我们重点讲解了**层次模型、网状模型、关系模型**。 1.1 层次模型 层次数据库系统的典型代表是IBM公司的Information ...
  • 数据仓库多维数据模型设计

    万次阅读 多人点赞 2017-11-09 18:14:59
    建设数据模型既然是整个数据仓库建设中一个非常重要的关键部分,那么,怎么建设我们的数据仓库模型就是我们需要解决的一个问题。这里我们将要详细介绍如何创建适合自己的数据模型。 数据仓库建模方法 大千世界,...
  • 概念数据模型(conceptual data model)独立于计算机系统,完全不涉及信息在计算机系统的表示,只关心用来描述某个特定组织所关心的信息结构。是用户和数据库设计人员之间进行交流的工具。可以看成是现实世界大牌...
  • 曾经有几年逻辑数据模型很火热,大家都研究这个。道理上来说,逻辑数据模型并不仅仅是用在数据仓库。在OLTP系统中建立良好的数据模型更加重要。但只不过这东西从实践上被推广开来,很大程度是原NCR/Teradata适用于...
  • 关系模型

    千次阅读 2020-07-22 21:53:37
    关系模型是最重要的一种数据模型关系数据库系统采用关系模型作为数据的组织方式。 关系模式的数据结构 关系模式是建立在严格的数学概念的基础上的。从用户观点看,关系模式由一组关系组成。每个关系的数据结构是...
  • 数据库实体联系模型关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体的数据库管理系统上,设计数据库的结构和建立数据库的过程。...因此,规划数据构成及数据关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是...
  • 数据模型和数据模式的理解和区别

    千次阅读 2021-02-10 01:38:22
    数据模型和数据模式的理解和区别       用自己的话总结就是:给定一个数据模型,怎么描述?用数据模式来描述。       怎么理解看下文: 什么是数据...
  • 第一章 矢量数据模型 矢量数据模型,也称为离散对象模型,是采用离散对象来表示地球表面的空间要素的。基于这一概念,矢量数据可以用三个基本步骤制备。①在一个空的空间将空间要素分为点、线和多边形,并用点及其...
  • 数据库系统常用的数据模型

    千次阅读 2021-01-13 09:09:08
    数据库系统常用的数据模型一、层次模型二、网状模型三、关系模型 数据库的发展经历了初始阶段、萌芽阶段、初级阶段、中级阶段、高级阶段,这个过程也产生了多个不同的数据模型,接下来我们讲详细介绍数据库的模型 ...
  • 浅析地理数据模型发展

    千次阅读 2016-01-13 11:48:14
    地理数据模型是对真实世界的抽象,由一系列支持地图显示、查询、编辑和分析的数据对象组成。在过去20年中,矢量数据模型是GIS中变化最大的方面...Coverage和Shapefile是地理关系数据模型,它利用分离的系统来存储空间数
  • ArcGIS水文分析实战教程(17) 构建简单的水利数据模型 本章导读:利用 ArcHydro Tools 工具结合矢量河流修正 DEM 数据后,再重新对水文要素进行提取,能够很好的将原有的水文数据与衍生的水文要素有效的结合起来,...
  • 数据仓库中的ER实体模型和维度模型

    千次阅读 2020-02-16 16:34:30
    一、数据仓库建模的意义 一个公司中会有多个业务业务系统,比如:OA系统、订单系统、财务系统、人事系统、仓储系统等,因此需要按照一定的组织结构将所有...二、ER实体模型数据系统中,将事物抽象为实体(Entity)...
  • 概念模型关系模型关系规范化

    万次阅读 多人点赞 2017-05-20 16:18:34
    》概念模型  概念模型用于信息世界的建模,是实现现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面具有较强的语义...
  • 数据的四种常用的数据模型以及三实体之间的联系三个世界现实世界信息世界两个实体型间的联系数据模型层次模型 三个世界 现实世界 现实世界,客观存在的世界。 信息世界 概念:信息世界是现实在人们头脑中的反映,...
  • 浅析ER模型关系模型

    千次阅读 热门讨论 2018-03-28 10:31:16
    前言: 实体联系模型(ER模型)是广泛被采用的概念设计方法,此博客介绍ER模型的基本元素、属性的分类和联系的设计,以及才用ER模型的概念设计步骤。 ER模型关系模型的区别以及转换是“数据库系统原理”中常考的...
  • 层次、网状、关系模型

    万次阅读 多人点赞 2017-11-18 17:12:44
    层次、网状、关系模型都是逻辑上的,它们都是以一定的方式存储在数据库系统中,这是数据库管理系统的功能,是数据库管系统中的...格式化模型中实体用记录表示,实体的属性对应记录的数据项(或字段),实体之间的联系在
  • OLAP和多维数据模型

    万次阅读 多人点赞 2017-11-09 15:56:36
    联机分析处理OLAP是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。 它具有FASMI(Fast Analysis of Shared Multidimensional Information),即共享多维信息的...
  • 业务模型;UML类图
  • 数据库学习:数据模型

    万次阅读 2018-05-30 14:31:59
    前言正题在开始编写文章前,有几个问题需要思考一下:什么数据模型生成数据模型的业务规则数据模型构成...而在数据库环境中,数据模型则是表示数据结构及其特征、关系、约束、变换以及为特定问题域提供支持的其他组...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 284,363
精华内容 113,745
关键字:

关系数据模型的表示采用