我有一个这样的 SQL 表:
更新:我正在更改示例表,因为原始数据(州、城市、学校)的现有分层性质掩盖了项目之间需要简单关系的事实。
entities
id name
1 Apple
2 Orange
3 Banana
4 Carrot
5 Mushroom
我想定义这些实体之间的双向关系,以便查看一个实体的用户可以看到所有相关实体的列表。
关系由最终用户定义。
在数据库中表示这些关系并随后查询和更新它们的最佳方式是什么?
我看到的一种方式...
我的直觉是这样的关系表:
entity_entity
entity_id_a entity_id_b
1 2
5 1
4 1
5 4
1 3
既然如此,给定提供的 entity_id 为 4,如何获取所有相关记录,即 1 和 5?
同样, entity_id = 1 的查询应返回 2、3、4 和 5。
感谢您抽出宝贵时间,如果我能澄清这个问题,请告诉我。