我正在开发一个类似论坛的网络应用程序,我希望用户可以让用户喜欢一个项目,这样他们就可以跟踪它,也可以让其他人看到一个项目受到青睐的次数。< / p>
问题是,我不确定数据库的最佳实践,包括这种情况。
我脑子里有两个想法如何做到这一点:
我为第二种方法感到不舒服,因为它涉及一个额外的表,可能需要更多的查询。也许这些信念不是问题,因为除了简单地使用表格布局和基本查询之外,我对数据库几乎一无所知。
答案 0 :(得分:3)
第二种方法,通常称为junction or join table,是相当标准的做法,并且比将您描述的列添加到用户表中的效率要高得多。通过JOIN
的魔力,您将不会进行任何额外的查询。
由于听起来您的应用程序开始变得有点复杂,我强烈建议您在当地图书馆或书店购买MySQL数据库书(检查亚马逊上的评论以找到一个好的)并扩展您的知识。
答案 1 :(得分:1)
好吧,我对其他回应有+ 1 - 但显然我太过新了。但是,我推荐这种类型的连接表。