【问题标题】:Is this a correct database design? (pk fk set and references)这是一个正确的数据库设计吗? (pk fk 集和参考)
【发布时间】:2019-06-14 12:11:52
【问题描述】:

所以父母可以有很多俱乐部和孩子。 每个俱乐部都可以有许多有孩子的球队。 孩子们可以加入多个团队。

我对这么多关系感到困惑,我在这里使用工具创建了一个架构:https://dbdiagram.io/d/5c455e3807ce540014df3eb2

我是否正确设置了键并在此处引用了它们?

【问题讨论】:

  • 孩子有没有可能有孩子?
  • 一个俱乐部可以有多个父母吗?
  • 俱乐部只有 1 个家长作为所有者

标签: database-design foreign-keys relational-database primary-key


【解决方案1】:

您的关系表设计看起来不错。作为替代方案,您可以考虑对父级和子级使用分层表。但是,这是设计考虑,完全取决于你(遵循 YAGNI(你不会弄坏它)原则)

Table person {
  id int PK
  name varchar
  parent_id int
}

Table club {
  id int PK
  person_id int
  class_id int
  name varchar
}

Table team {
  id int PK
  club_id int
  children_id int
  num_of_children int
  name varchar
}


Ref: person.id < club.person_id
Ref: club.id < team.club_id
Ref: team.children_id < person.id
Ref: person.parent_id > person.id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 2011-04-25
    • 2010-09-24
    相关资源
    最近更新 更多