我有一个表用户与列ID。我希望用户与其他用户建立关系,因此我创建了一个表关系与列user_id_1和user_id_2。数据库设计 - 链接相同实体的多对多表?
的问题是如何约束表,以便
1)没有条目,其中user_id_1等于user_id_2。
例如,条目(1,1)不好,因为它表示与自己的关系。
2)如果有一个条目(user_id_1,user_id_2),条目(user_id_2,user_id_1)是不允许的。
例如,具有条目(1,2)和(2,1)是不好的,因为它表示相同的关系。
我正在使用MySQL,但我认为这是一个普遍的设计问题。谢谢!
问题会在不同的数据库不同的解决,取决于功能(例如,MySQL没有CHECK约束)。 – Oded