Criei um banco de dados para um app, onde possuo diversas redes, que possuem vários nós e elementos e também vários cenários, todos relacionados às redes. [veja a imagem abaixo]
Minha dúvida é: como o sce_results
e sce_paramaters
terá informações de resultados e parâmetros do nodes
e elements
de uma rede, devo também construir esse relacionamento entre as tabelas nodes
& elements
e as tabelas sce_results
& sce_paramaters
via chaves estrangeiras?
ou como fica complicado, a forma como criei as tabelas está boa? Talvez uma questão mais geral, quando é bom construir esses relacionamentos por meio de chaves estrangeiras?
Até agora, desde que nodes
& elements
tenho seus nomes, posso combiná-los com as name
colunas em sce_results
& sce_paramaters
tabelas, depois de baixar todos os dados necessários para fazer cálculos adicionais ou criar gráficos de resultados, etc... Portanto, eu realmente não preciso desse relacionamento de meu ponto de vista. O que você acha?
Exemplo:
Network1: Nodes: [Node1, Node2, Node3]
Elements: [Element1, Element2]
Scenarios: [ScenarioX]
ScenarioX: Paramater: [Pressure_Node1 = 5, Pressure_Node2 = 10, ...]
Result: [Flow_Node1 = 100, ...]
# In this case nodes table looks like:
id | net_id | name | ... | x | y
1 1 Node1
2 1 Node2
...
# In this case sce_parameter table looks like:
id | sce_id | name | extension | value | unit
1 1 Node1 Pressure 5
2 1 Node2 Pressure 10
...