我同意这里提供的两个答案,但他们还没有提到的一件事是查找表。
考虑这里的一般示例:您有一个用户表和一个照片表。现在您想在您的网站上引入一项功能,允许用户“收藏”其他用户的照片。
与其创建一个名为“Favorites”的新表并重新添加有关图像的所有数据(字段位置、元数据、分数/其他),不如创建一个有效地位于其他两个表之间的表。
+-----------------------+ +-------------------------------------+
| ++ users | | ++ photos |
| userID | email | name | | photoID | ownerID | fileLo | etc... |
+--------+-------+------| +---------+---------+--------+--------+
| 1 | .... | Tom | | 35 | 1 | ..... | .......|
| 2 | .... | Rob | | 36 | 2 | ..... | .......|
| 3 | .... | Dan | | 37 | 1 | ..... | .......|
+--------+-------+------+ | 43 | 3 | ..... | .......|
| 48 | 2 | ..... | .......|
| 49 | 3 | ..... | .......|
| 53 | 2 | ..... | .......|
+---------+---------+--------+--------+
+------------------+
| ++ Favs |
| userID | photoID |
+--------+---------+
| 1 | 37 |
| 1 | 48 |
| 2 | 37 |
+--------+---------+
使用这种方法,您可以干净、高效地链接您拥有的数据,而无需过多的数据复制。