Many to many relationship with Mysql & PHP


Many to many relationship with Mysql & PHP

假设我有两个表、网页表和一个关键字表。这是一个多对多的关系,对吧?一个网页可以包含多个关键字,一个关键字可以是多个网页的一部分。

网页表包含id字段作为PK,以及其他一些字段。关键字表包含id作为PK,还有一些其他字段。第三个表,一个子表,应该包含来自两个父表的id字段吗?是否可以在不使用外键的情况下跟踪多对多关系,只需将子表中的这2个id字段声明为UNIQUE?

无论是否使用FK,当插入新关键字(例如通过PHP)时,我应该如何引用此新关键字所属的网页、网页表中的网页id或子表中的id?

我会做这样的事情。。。

表1

Table_WebPage
PageID, PageName, Url,...........

表2

Table_KeyWords
WordID, Word, .........

表3

Table_PageKeyWords
ID, PageID, WordID

不知道你为什么要在没有FK的情况下这样做,拥有FK将加强数据完整性,并阻止垃圾数据进入你的表。