这是正确的数据库设计吗? (pk fk集和参考)

时间:2019-01-21 06:08:53

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

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

我对所有许多关系感到困惑,并在这里使用工具https://dbdiagram.io/d/5c455e3807ce540014df3eb2

创建了一个架构

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

1 个答案:

答案 0 :(得分:0)

您的关系表设计看起来还不错。作为替代方案,您可以考虑对父级和子级使用分层表。但是,这是设计考虑因素,完全由您决定(遵循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