【问题标题】:Inner join vs all of the similar data in the different tables [duplicate]内部联接与不同表中的所有相似数据[重复]
【发布时间】:2019-09-30 07:17:36
【问题描述】:

以下哪种数据库模式是更好的模型

例如:

Teacher(id, name, surname, login,password, subject, degree....)

Student(id, name, surname, login, password, group, faculty....)

VS

User(id, login, password, name, surname)

Student(id, group, faculty...)

Teacher(id, object, degree...)

并通过内连接加入它?

首选哪种方式?

【问题讨论】:

  • 由于有些学生也可能教书,我会选择备选方案 2。
  • 这是一个常见问题解答。在考虑发布之前,请始终使用谷歌搜索您的错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有或没有您的特定字符串/名称和站点:stackoverflow.com 和标签,并阅读许多答案。如果您发布问题,请使用一个短语作为标题。请参阅How to Ask 和投票箭头鼠标悬停文本。除非我们努力(重新重新)写清楚,否则我们无法推理、交流或搜索
  • 除非您定义它,否则工程中没有“更好”/“最佳”之类的东西。同样不幸的是,所有合理的实际定义都需要大量的经验,以及与对细节的混乱敏感度相互作用的大量因素。进行简单的设计。当您通过测量证明您可以想到的设计和所有替代方案都存在问题时(无论当时意味着什么),然后提出一个非常具体的问题。这也应该定义“更好”/“最好”。 Strategy for “Which is better” questions

标签: sql database datatable inner-join difference


【解决方案1】:

这完全取决于。在第一个模型中,studentsteachers 完全是独立的实体。因此,关系是针对其中一个而不是另一个。

在第二个模型中,studentsteachersusers 的子集(推测ids 在三个表中是相同的)。这允许您拥有引用 users 的其他表——比如地址表或事务表。

不清楚您的数据模型是否需要与users 的关系。所以,没有办法说一个比另一个“更好”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2019-02-23
    • 2011-07-13
    • 2023-03-26
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多