Sql 多对多数据库phpmyadmin

Sql 多对多数据库phpmyadmin,sql,database,phpmyadmin,relationship,Sql,Database,Phpmyadmin,Relationship,有一个父表,他可以添加多个子电子邮件ID(编号未知)(主键)。 一个孩子可以有一个或两个家长电子邮件ID(母亲/父亲) 这将是一种多对多的关系 您能指导我如何在phpmyadmin中构建此关系吗。普通关系数据库(如MySQL)中的多对多关系通常使用交叉链接表构建。这是一个与其他表中的记录链接在一起的表 例如,当您有表A和表B时,您将创建第三个表C,它看起来(非常简单)如下所示: A B C == == ==== A1 B1 A

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

这将是一种多对多的关系


您能指导我如何在phpmyadmin中构建此关系吗。

普通关系数据库(如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约束


它不一定总是一种多对多的关系。例如,你可以说一个人必须要有父母,父母也是人。由于人们不太可能有两个以上的亲生父母,您可以在
person
中安全地给出一行
父亲ID
母亲ID
,这两个ID都指向相同的
person
表。所以,像往常一样,这取决于您的具体需求。

您可能需要使用NHibernate之类的模型系统。显然,这些类型的表都是我们所知道的。