【问题标题】:Identifying relationships within a database识别数据库中的关系
【发布时间】:2014-03-31 14:24:25
【问题描述】:

我目前正在为一家虚构的工程公司设计一个数据库,以完成大学作业。

工程公司赢得了某个项目的合同。因此,CONTRACT 是 PROJECT 的父级。

我有一个表 CONTRACT,它现在有它的主键 CONTRACT_ID,我已经在 CONTRACT 和 PROJECT 之间建立了一个识别关系,所以在 MySQL 工作台中添加了 CONTRACT_ID 作为 PROJECT 主键的一部分。到这里我就明白了。

下一个项目有一个 BUDGET_SHEET。我相信这将是一个识别关系,因为没有 PROJECT 就没有 BUDGET_SHEET 所以 MySQL 工作台再次自动创建包含 (BUDGET_SHEET_ID, PROJECT_ID, CONTRACT_ID) 的主键。

我的问题:BUDGET_SHEET 表中是否需要 CONTRACT_ID?没有必要在那里我会想到?我有兴趣听听人们对此的看法吗?

【问题讨论】:

    标签: database-design


    【解决方案1】:

    您不需要我认为的 budget_sheet 表中的 contract_id。项目和合同以及项目和预算表之间已经存在链接,因此如果需要,您可以通过这些关系获取合同信息。

    【讨论】:

      猜你喜欢
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 2022-12-06
      • 2010-10-20
      • 1970-01-01
      相关资源
      最近更新 更多