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.