6
respostas

Como seria o correto?

Boa tarde a todos, tudo bom? sei que não tem uma maneira certa de dizer ou até tenha, vou dar um exemplo. Por exemplo to criando um sistema de oficina só para pegar experiência na pratica de programação, oque seria correto a fazer? Sei que na programação tem varias formas de chegar no resultado. O correto é fazer uma tabela de cliente com uma fk de carro? ou um carro com uma fk de cliente? Penso que um cliente pode ter mais de um carro, mais penso que também o cliente não precisa ter um carro ou não tenho um carro. Seria correto fazer uma relação na tabela carro com a fk de cliente? algo assim?

public Class Carro {

private Long codigo;
// outras descrição.
@manytomany
private List<Cliente> clientes = new ArrayList<Cliente>();

}

Ai ira gerar uma tabela associativa correto? Está correto á lógica? OU PODERIA ATÉ ser

public Class Carro {

private Long codigo;
// outras descrição.
@onetoone
private Cliente cliente = new Cliente();

}
6 respostas

Olá Alisson !

Penso que o carro seria o foco no sistema e não necessariamente, o cliente é o dono do carro . Então vamos supor que você fosse criar uma ficha de atendimento e neste atendimento você poderia ligar o carro com o cliente. Seria uma tabela que teria duas fk a do carro e a do cliente. Penso que desta forma tornaria o sistema mais flexivel é mais uma visão .....rsrs.

Um abraço!

Oi Alison.

O ideal é você pensar em como será o relacionamento dos seus modelos, para uma oficina, me parece que faz mais sentido que:

um dono tenha tenha vários carros

e não

um carro tenha vários donos

então sua tabela Carro teria um dono_id em vez de o contrário

Abraços!

Opa obrigado a vocês, João fiquei consufo aqui agora. Ehlert ta o então eu esqueço a ligação com do carro com o dono, essa tabela de dono seria do cliente correto?

Então na tabela Cliente eu posso ter varios carros?

public Class cliente {

@OneToMany    
private List<Carro> carros = new ArrrayList<Carro>():
}

Seria assim? Então eu cheguei a pensar dessa forma, mais por exemplo e se eu quiser cadastrar um cliente que não tenha carro tendeu? pode ficar nulla mesmo a opção?

Você pode ter uma tabela Carro , outra Cliente e outra tabela de Atendimento(id, cliente_id, carro_id,dt_atendimento, status) que terá a ligação entre o Carro e o Cliente.

Acho que desta forma fica mais flexivel.

não tem problema, nesse caso a lista de carros desse cliente ficará vazia

Certo valeu denovo!!! muito obrigado. Ah entendi joão uma tabela associativa correto? vlw brow!!