Relacionamento muitos para muitos em bancos não relacionais
No bancos de dados relacionais, quando defino uma relação `muitos para muitos` é preciso criar uma tabela chamada popularmente de `pivo`, para poder relacionar quando uma entidade tem muitas relações com outra. Gostaria de entender como funcionar esse processo em um banco de dados não relacional. A mesma regra se aplica? A outra forma de solucionar esse problema ou os bancos de dados não relacionais trazem outra abordagem?
Bezalel
Curtidas 0
Respostas
Arthur Heinrich
27/06/2023
Os bancos de dados "não" relacionais, não utilizam relações, como o próprio nome diz.
Entretanto, você pode construir uma relação lógica e mantê-la íntegra com o uso de triggers.
O princípio é o mesmo. Se o relacionamento é do tipo 1-n, a tabela que contém múltiplas referências (n) deverá conter a chave da outra tabela. Assim, múltiplos registros podem apontar para a mesma chave.
No caso de um relacionamento n-n, não dá para um registro armazenar múltiplas referências e faz-se necessário utilizar a terceira tabela, que contém o par de chaves que se relacionam.
Em um banco relacional, a garantia de que o relacionamento é respeitado é feita por meio de constraints de foreign key. No banco nosql, estas constraints podem não existir, já que o banco é não relacional. Mas você pode criar triggers (se o banco permitir), de forma que sempre que um registro é inserido, alterado ou excluído, a trigger verifique se o relacionamento continua válido.
Entretanto, você pode construir uma relação lógica e mantê-la íntegra com o uso de triggers.
O princípio é o mesmo. Se o relacionamento é do tipo 1-n, a tabela que contém múltiplas referências (n) deverá conter a chave da outra tabela. Assim, múltiplos registros podem apontar para a mesma chave.
No caso de um relacionamento n-n, não dá para um registro armazenar múltiplas referências e faz-se necessário utilizar a terceira tabela, que contém o par de chaves que se relacionam.
Em um banco relacional, a garantia de que o relacionamento é respeitado é feita por meio de constraints de foreign key. No banco nosql, estas constraints podem não existir, já que o banco é não relacional. Mas você pode criar triggers (se o banco permitir), de forma que sempre que um registro é inserido, alterado ou excluído, a trigger verifique se o relacionamento continua válido.
GOSTEI 0