Usuário e endereço é um bom exemplo, já que toda vez que eu precisar consultar um usuário, também preciso de seu endereço. Se eu utilizo o relacionamento bidirecional, quando eu consultar um usuário, o seu endereço será automaticamente chamado, fazendo com que eu precise fazer somente uma requisição. Se o relacionamento é unidirecional, precisaria fazer uma requisição para consultar o usuário e outra para buscar o seu endereço
Respondendo a "Cara, relacionamentos bidirecionais é complicad..." dentro da publicação Dúvida: relacionamento de entidades
2
7
Eu gosto de pensar como dependência. A questão aqui é decidir qual das duas entidades é a forte e a fraca.
Nesse sistema
- Endereço faz sentido sem um usuario?
- O usuário faz sentido sem um endereço?
Acho que na maioria das vezes, o endereço nao existe sozinho. Ele seria uma entidade mais fraca.
Na relação
erDiagram
User }|..|{ ADDRESS : has
A seguinte query resolve pra quando voce tem o endereço
SELECT * FROM
Users u JOIN Address addr ON u.id = addr.userId
WHERE addr.id = 42
E a seguinte query resolve pra quando voce tem o usuario
SELECT * FROM
Users u JOIN Address addr ON u.id = addr.userId
WHERE user.id = 42
De verdade, nao consigo ver quando a relação bidirecional é melhor que a unidirecional.