Estou desenvolvendo um software e na elaboração do modelo E-R me surgiu uma dúvida.
Uma localidade(municipio) pode ser sublocalidade de outra localidade.
Eu resolvi isso fazendo um relacionamento um-para-muitos da entidade para a própria entidade, desse modo haverá um
"COD_SUBLOC" que terá o código da localidade na qual esta esta inserida.
Meu professor diz que isso está errado e se chama retroatividade podendo gerar problemas no banco.
Eu gostaria de saber se isso realmente está errado e, se estiver, uma possível solução.
Referência À Própria Tabela
Started By André Matias, 11/11/2010, 17:57
6 replies to this topic
#1
Posted 11/11/2010, 17:57
#2
Posted 11/11/2010, 18:44
Até onde eu entendo, não está errado. Pelo contrário. Tanto que é assim que se armazena árvores em bancos. Um exemplo clássico é o de categorias e subcategorias. Os registros pais possuem fazem uma referência nula e os filhos fazem referência a outros registros da própria tabela.
- André Matias likes this
#3
Posted 17/11/2010, 09:56
Acho que vou deixar como está então, mas não tem problema se um registro fizer referência a ele mesmo (A PK daquela localidade está também no campo COD_SUBLOC), têm?
#4
Posted 17/11/2010, 10:14
E qual sentido de um lugar ser sublocalidade dele mesmo?
#5
Posted 17/11/2010, 10:17
Nenhum, mas foi um dos questionamentos que meu professor fez, ele diz que "não se pode abrir brechas pra erros". Mas isso pode ocorrer em outros casos (eu acho) e eu queria saber se tem problema, só por curiosidade.
#6
Posted 17/11/2010, 10:23
Nunca testei, mas o que aconteceria, se for possível cadastrar um registro assim, seria um loop infinito na hora de montar a árvore. Mas provavelmente a chave estrangeira não aceitaria uma referência circular. É um palpite. De qualquer modo, se a sua aplicação gerenciar direitinho esses dados, não tem motivo pra ter medo.
#7
Posted 17/11/2010, 10:43
Certo, valeu pelas informações!
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)