Zastanawiam się jak najprościej zamodelować odpowiednie zależności, W aplikacji są następujące zależności:
a) Jest zdefiniowana pozycja, czyli jakieś miejsce na mapie, kóre przypisane jest do jakiegoś typu (PositionType) np takim typem może być "Szkoła"
b) Następnie Position type ma relację do PositonGroup, PositionGroup może mieć kilka typów np "Szkoła" jest przypisana do grupy "Nauka", która zawiera także inne typy np. Muzeum, Teatr itp

Następnie Uzytkownik może przechowywać w tabeli UserPlaces tzw wpisy, zawierające id odnoszące się do PositionType, albo PositionGroup.

Jak najlepiej połączyć UserInfo, skoro może odnosić się do 2 różnych tabel, które między sobą mają też relacje ? Myślałem o takiej crossówce :

UserInfoCross
userInfo
positionType positonGroup
1 12 null
1 null 23
1 null 34

To jest chyba najlepsze rozwiązanie tego typu relacji ?