假设您必须构建一个描述状态及其相互之间边界的数据库表。让我们说States表看起来像:
状态:名称(PK),大小等......
定义状态之间的关系(边界)的适当方法是什么?
我提出了三种选择 -
更多信息:
someState.HasBorderWith(State anotherState)
答案 0 :(得分:2)
选项2是这种关系的标准实现。我不明白你的意思w /选项1,选项3 不是一个选项 - 查询这将是一场噩梦!
答案 1 :(得分:1)
就个人而言,我会创建一个表格:
Id (PK)
StateName1 (FK)
StateName2 (FK)
这基本上是你的第二个选项,带有一个额外的Id字段(这不是必需的,但几乎每个表都使用了Id字段)。