blu*_*ear 4 sql sql-server arrays
我正在重新设计一个本地IP管理站点,需要一些帮助.目前,存在与某个子网ID相关联的外键建筑物ID,以便客户端知道子网所在的建筑物.然而,已经出现的问题是子网可能被分成多个建筑物.现在,子网到构建范式已不再适用,我无法正确管理此方法.
立即想到的一个选项似乎很糟糕,就是将构建ID字段更改为逗号分隔的构建ID字符串.它很快而且有效,但它让我感觉很糟糕.
我们想到的另一个想法是创建一个BuildingIDTuple表,其中可能存在多个行,将子网ID映射到buildingid.
subnet id | building id
------------------------
1 | 2
1 | 3
Run Code Online (Sandbox Code Playgroud)
这种方法看起来更干净,更具有前瞻性,但我也可以想象sql查询会引起很多麻烦.
我认为理想的方法是在子网表中有一个构建ID的数组,但我不认为存在这些.
那么,设计我正在做什么的最佳方式是什么?任何帮助将非常感谢!
永远不会在一个数据库列中存储一组值!把它们分成一个新表,每个值作为一个单独的行!! 否则,您将成为每次查询时将这些CSV值拆分出来的奴隶.你的BuildingIDTuple
桌子是要走的路.查询并不困难,但您需要支持为每个子网返回的可能多行.