Database 实体关系模型和关系模型之间的区别是什么?

Database 实体关系模型和关系模型之间的区别是什么?,database,entity-relationship,relational,junction-table,entity-relationship-model,Database,Entity Relationship,Relational,Junction Table,Entity Relationship Model,我只能找到以下两个区别: E-R模型中的关系是显式定义的,而关系模型中的关系是隐式的 关系模型需要一个中间表(通常称为“连接表”)来保存实现多对多关系的两个外键 当我们有一个E-R图时,为什么要使用关系模型呢?它们本身是两个不同的东西。关系模型将信息表示为元组,直接映射到关系模式。这些指导原则源于关系代数 同时,ER图使用实体对系统中用户及其底层数据之间的关系进行建模。ER图可以映射到关系模型,最后映射到工作模式 你把它倒过来了。 E-R模型中的关系是明确定义的,而 在关系模型中是隐式的 否。每

我只能找到以下两个区别:

  • E-R模型中的关系是显式定义的,而关系模型中的关系是隐式的
  • 关系模型需要一个中间表(通常称为“连接表”)来保存实现多对多关系的两个外键

  • 当我们有一个E-R图时,为什么要使用关系模型呢?

    它们本身是两个不同的东西。关系模型将信息表示为元组,直接映射到关系模式。这些指导原则源于关系代数


    同时,ER图使用实体对系统中用户及其底层数据之间的关系进行建模。ER图可以映射到关系模型,最后映射到工作模式

    你把它倒过来了。

  • E-R模型中的关系是明确定义的,而 在关系模型中是隐式的
  • 否。每个关系模型(RM)数据库基表和查询结果都表示一个应用程序关系。实体关系建模(E-RM)模式只是组织(但未使用和未指定)(但存在误解)关系表和约束的一种方式

  • 关系模型需要一个中间表(通常称为“连接表”)来保存实现连接的两个外键 多对多关系
  • 不是。是对象关系映射(ORM)方法掩盖了其底层的直接关系应用程序关系、表和约束。“连接表”的概念源于ORM对E-RM混乱陈述的误解,而E-RM本身也对RM产生了误解

    正如C J Date在《数据库系统导论》第8版中所说:

    慈善阅读[陈的原始论文]会发现E/R模型确实是一个数据模型,但本质上只是基本关系模型之上的一个薄层[p 426]

    对于It领域的现状来说,简单的解决方案是一个悲哀的评论 即使它们太简单也很受欢迎。[第427页]

    关系模型

    每个关系表表示一个应用程序关系

    -- employee EID has name NAME and ...
    E(EID,NAME,...)
    
    这类事物的数学术语,以及表示一个事物的数学有序元组集的数学术语,是“关系”。因此出现了“关系模型”(以及“实体关系建模”)。在数学中,关系通常由参数化语句模板描述,其中一个数学术语是“特征谓词”。谓词的参数是表的列。在RM中,DBA为每个基表提供一个谓词,用户将从列值生成true语句的行和谓词放入表中,并将生成false语句的行保留在表中

    /* now also employee 717 has name 'Smith' and ...
        AND employee 202 has name 'Doodle' and ...
    */
    INSERT INTO E VALUES (EID,NAME,...)
        (717,'Smith',...),(202,'Doodle',...)
    
    查询表达式中还有一个由关系运算符和逻辑运算符(在条件中)构建的谓词。它的值还保存使其谓词为真的行,并省略使其为假的行

    /* rows where
       FOR SOME E.*, M.*,
            EID = E.EID AND ... AND MID = M.MID
       AND employee E.EID has name E.NAME and ...
       AND manager M.MID has 
       AND E.DEPT = M.DEPT AND E.NAME = 'Smith'
    /*
    SELECT E.*, M.MID
    FROM E JOIN M ON E.DEPT = M.DEPT
    WHERE E.NAME = 'Smith'
    
    当前表中的行表示真语句,而不存在的行表示假语句,这是我们在数据库中记录应用程序情况的方式,以及我们如何解释数据库对应用程序情况的描述。如果不具备并理解谓词(即应用程序关系),就不能使用或解释数据库

    实体关系建模

    E-RM(并不真正理解RM)本质上是一种(n不必要的、受限的和受限的)图表符号,用于描述(关系数据库的某些部分)(有限形式)。最初有“实体(类)”图标/关系,其中候选键(CK)值与应用程序实体加上其他列(“实体属性”)的比例为1:1,还有“关系(类)”图标/表具有外键(FK)到表示多个实体上的应用程序关系的实体表以及其他内容(“关联”的属性)。应用程序关系由一个图标表示,该图标与参与其中的各种实体图标之间有一条直线。(即线表示FKs。FKs不是关系,而是关于表上约束的语句。)

    E-RM不理解关系模型。它对应用程序实体和关系进行了毫无意义的误导性区分。毕竟,每个基表或查询结果的每个超键(唯一列集)都与某些应用程序实体(而不仅仅是具有实体表的实体)保持1:1的对应关系。人们可以通过结婚联系在一起;但每一个这样的联系都与一个叫做婚姻的实体成1:1。这导致规范化和约束不足,从而导致冗余和完整性损失。或者,当这些步骤充分完成时,会导致E-R图没有实际描述应用程序,而实际上是由关系数据库谓词、表和约束描述的。那么E-R图是模糊的、冗余的和错误的

    速记电子RM和ORMs

    许多声称是E-RM的演示文稿和产品扭曲了E-RM,更不用说RM了。他们使用“关系”一词来表示FK约束。这产生如下情况。当E-RM关系为二进制时,它是一个符号,其FKs有两行。所以这三件事可以用FK之间的一条线来代替。这种线表示特定的二进制关系及其FK,但现在E-R关系在图表中不显式,尽管E-R关系在正手版本中是显式的,并且它通过图表图片中的表反映出来,即它们所描述的关系数据库。这被称为“连接表”。人们说那条线/桌子是/代表