【发布时间】:2021-03-11 16:17:55
【问题描述】:
我目前是一名自学成才的程序员,我了解并使用过 noSQL 数据库。 现在我想更好地学习关系数据库。我正在为自己做一个项目,并试图在这里加深我的知识,我有点困惑。我的目标是创建一个具有子/父层次结构的简单数据库。我想为人员创建一个数据库,在其中我只能访问识别号(没有姓名、年龄或其他)。这个人可以有孩子或父母或两者兼而有之。如何建议我构建这个。我想查询该表,以便检索某个人的所有孩子和父母。我的第一个想法是建立一个只有 PK(Id_Number) 的表和其他具有复合键(FK->Id_Number 和 Id_parent) 的表,但我认为它不会像这样工作?我该怎么做?你对此有什么想法吗?谢谢!
为了帮助可视化(而不是识别号,让我们使用名称),我有这个对象,我应该如何存储它?
{
human: "Joe",
child: [
{
human: "Kevin",
child: [
{
human: "Joaquin",
},
{
human: "leticia",
},
],
},
{
human: "Mary",
child: [
{
human: "Joaquin",
child: [{ human: "levi" }],
},
{
human: "leticia",
},
],
},
],
};
目标是了解所有家庭层次结构,例如谁是 kevin 的儿子、父母和可能的兄弟。
【问题讨论】:
-
具有子/父层次结构的数据库。 父母怎么可能有孩子?
-
一个孩子可以有多个父母,一个父母可以有多个孩子
-
如果是这样,那么关系不是父子关系。具有外部限制的多对多是常见的(不允许使用环)。当然,你可以把它当成亲子,但这实际上是不正确的。
-
您的样本中有多个父母吗? PS。仅发布有效的 JSON。
-
Akina 已经更新了,谢谢!
标签: mysql sql database hierarchy