는 여기에 예제 레이아웃입니다 :특정 장치 근처의 모든 장치를 찾을 수있는 방법으로 장치의 물리적 위치를 플로팅하려면 어떻게해야합니까?
A
B C
D
G F
E
H
K I
J
각 문자가 물리적 장치를 나타냅니다. 이 예에서는 A
이 B
및 C
근처에 있다는 것을 알 수 있습니다. B
은 A
, D
및 가능하면 C
에 모두 인접 해 있습니다.
저는 각 장치를 데이터베이스에 넣고 가능한 모든 관계를 쌍으로 생각했습니다. 예를 들어 :
device | siblings
-------+---------
A | B,C
-------+---------
B | A,D,C
-------+---------
D | B,G,E
이 방법은, 내가 D
에 가까운 장치를 찾아야 할 때 할 수있다 : 더 좋은 방법이 있다면 궁금 해서요
SELECT siblings FROM devices WHERE device = 'D';
siblings = siblings.split(',')
for sibling in siblings:
# do something with each sibling device
. 많은 수의 장치가있을 수 있다는 점을 감안할 때,이 방법은 지저분 해지고 가능성이있는 버그가 발생할 수 있다고 생각합니다 (형제 명단을 구분하여 명령을 추적하는 인간의 실수).
제안 사항?
나는 이것들을 들여다보고 내가 나의 필요에 맞게 찾을 수 있는지 알아 보겠다. 건배. – dave