我不太确定如何表达这一点,但是有没有一种好方法来实现一个列本质上可以互换的表?
示例:您有一个用户模型,并希望允许两个用户成为“朋友”。对我来说,显而易见的方法是创建一个包含两列(“friend1”和“friend2”)的表,每列都包含用户的密钥。这使得说“是 user1 和 user2 的朋友”之类的话很尴尬,因为您必须检查“(friend1=user1 ANDfriend2=user2) OR (friend1=user2 ANDfriend2=user1)”。它会起作用,但对我来说似乎很尴尬,每次您想从该表中获取某些内容时,您都在查看两列。有没有更优雅的方式来做到这一点?