【问题标题】:ER Diagrams - Can someone please explain modality?ER 图 - 有人可以解释一下模态吗?
【发布时间】:2020-02-09 05:50:14
【问题描述】:

ER 图 - 谁能解释一下模态?

以上:如果有一个模块,它必须属于一门课程。如果有课程,我们真的希望有一个模块。但是图正确吗?

外键约束强制如果子表中存在一个模块,那么父表中就会有一个课程。但是另一种方式没有限制,显然您必须先创建一条记录。

那么,这更正确吗(下)?

或者模态零是否意味着 FK 可以为空?

【问题讨论】:

    标签: sql mariadb entity-relationship erd modality


    【解决方案1】:
    1. 第一张图是正确的
    2. 右侧没有“O”仅表示您允许开设没有模块的课程,这是一个 0-n 关系。

    所以第一个意味着 1-n 关系,你想要什么,但你不能在 SQL 中强制 1-n 超过 0-n。使用“|

    你的约定的含义:

    旁注:我更喜欢更明确的 UML“0-n”表示法,这将是 plantUML 中的结果:(使用 planttext.com 进行渲染)

    @startuml
    title Relationships - Class Diagram
    class Courses
    class Modules
    Courses "1" *-up- "1-n" Modules: Composition
    @enduml
    

    【讨论】:

    • This site 建议“模态说明一列是否为空”。
    • “如果有一个模块,它必须属于一门课程”,这意味着第一个图表是正确的,因为 FK 不能为空。
    • @user3121215 可以为空的 FK 表示 0-1 关系,另一边在 SQL 中始终为 0-n,正如我解释的那样。
    • This site 另有建议。
    • @user312518 你已经推荐了这个网站,这很好,很抱歉,但你似乎没有理解,也没有说明你声称的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2016-12-12
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多