我正在创建一个MySQL数据库,其中有两个表,一个用于博客,另一个用于其位置。我所做的是blogs
中的一个字段,它是一串由逗号分隔的位置ID:1,5,7。然后在我的PHP脚本中,我可以爆炸()该字符串并获取位置。
如果我想使用MySQL查询查找某个位置的所有博客,就会出现问题。
我应该为这段关系创建另一张桌子吗?也许博客1位置1,博客1位置5,博客1位置7.三行代表前一个例子。这样我只会在查询中选择该位置的博客。另一种方法是我必须选择所有博客并逐一检查它们。
您认为哪种更快更干净?
谢谢!
答案 0 :(得分:2)
不同的桌子更清洁。事实上,它是唯一的选择,因为它是关系数据库的基础。
答案 1 :(得分:0)
表示关系的第三个表是唯一可行的方法。
答案 2 :(得分:0)
在关系数据库设置中执行此操作的最佳方法是第3个表,有时称为连接表,以处理博客和位置之间的关系。你所描述的是一种多对多的关系(或两种方式的一对多关系)。
Here是一个描述它比我好一点的链接。