【发布时间】:2012-01-18 13:06:04
【问题描述】:
我想创建一个表格,我的用户可以在其中关联彼此之间的友谊。同时,此表将与我正在尝试处理的各种其他表之间的一对多关系结合使用。
现在我在想这样的事情
member_id、friend_id、活跃、日期
member_id 将是拨打电话的用户的列,friend_id 将是他们尝试联系的朋友的列,活动将是一种切换 0 = 待定,1 = 活动,日期只是一个该特定行上最后一次活动的记录日期。
现在我的困惑是,如果我要查询,我通常会查询 member_id,然后将其余查询基于关联的friend_id,以便将数据相应地显示给合适的人。因此,考虑到这种逻辑,这让我认为每个请求必须有 2 行。一个是请求的 member_id 和插入到表中的请求的friend_id,然后是相反的一个,所以我每次都可以相应地查询。因此,从本质上讲,对于这个特定表请求的每一个动作,它就像双重浸入,我需要做出 2 个类似的动作才能使其工作。 就优化而言,这对我来说毫无意义。所以我的所有问题是处理这种关系数据的正确方法是什么?还是我真的在理智地思考这是一种处理它的方法?
【问题讨论】:
-
您的第一个模型完美运行。对于第二部分,找到两个方向,这里已经有很多答案了。简短版:构建你的 SELECT 查询有点花哨,你很容易得到两个方向。
标签: mysql database database-design one-to-many