And*_*ndo 2 database normalization
我试图在我的网站上实现类似于Facebook的"喜欢"功能的系统.用户可以点击按钮counter++的位置.但是,我在将数据有效存储到数据库方面遇到了问题.
每个故事都有在它自己排stories在我的数据库与列的表like和users_like.
我希望每个人只能一次喜欢这个故事.因此,我需要以某种方式存储数据,以显示用户实际上已经like++'发布了帖子.
我所能做的就是有一个名为users_like列的列CONCAT,然后使用php函数将每个用户(后跟逗号)添加到列中,然后使用php函数添加explode数据.
但是,据我所知,这种方法与数据库规范化的方向相反.
最好的方法是什么,我理解"最好"是主观的.
我不能liked在user桌子上添加一面旗帜,因为这个人可能会喜欢这么多故事.
谢谢
数据库中需要多对多的表来存储stories表的外键和表的外键user.你在这个表上加上一个约束,说fk-user fk combo的故事必须是唯一的.
您现在甚至不需要like列,只需计算与您的故事对应的多对多表中的行数.
| 归档时间: |
|
| 查看次数: |
211 次 |
| 最近记录: |