0

有一个父表,他可以添加多个子电子邮件ID(编号未知)(主键)。一个孩子可以有一个或两个家长电子邮件 ID(母亲/父亲)

这会是多对多的关系吗?

你能指导我在 phpmyadmin 中构建这种关系吗?

4

1 回答 1

0

普通关系数据库(如 MySQL)中的多对多关系通常使用交叉链接表构建。这是一个将其他表中的记录链接在一起的表。

例如,当您有表 A 和 B 时,您创建第三个表 C,它看起来(非常简化)如下所示:

A      B         C
==     ==        ====
A1     B1        A1B3
A2     B2        A2B1
A3     B3        A2B2
                 A3B2

所以在这个交叉链接表中,你可以看到记录 A2 链接到 B 中的两条记录,就像 B2 链接到 A 中的两条记录一样。当然,这个模式被简化了。A1 实际上是表 A 的键域,A1B1 是主键,它由两个字段组成,一个对表 A 的键具有外键约束,另一个对表 B 具有 FK。

它并不总是必须是多对多的关系。例如,您可以说一个人必须有父母,父母也是人。由于人们不太可能有两个以上的亲生父母,因此您可以安全地在personafatherid和 a中给出一行motherid,它们都引用同一个person表。因此,像往常一样,这取决于您的确切需求。

于 2013-07-05T19:09:00.070 回答