Pessoal, preciso de uma ajuda de vcs sobre como mapear classes muitos pra muitos, só que com atributo entre esse relacionamento.
Um exemplo: digamos que eu tenha a classe Leitor e uma classe Livro. O relacionamento seria um Leitor pode ter muitos Livros e um Livro pode ter muitos Leitores.
Digamos que eu queira colocar um atributo “data de leitura” entre esse relacionamento, seria tipo:
neste caso acredito que como a data da leitura do livro foi efetuada por um leitor então ficaria no leitor… já em questão de modelagem de banco o melhor e fazer uma nova tabela que tenha 3 campos um id(pk) e duas chaves estrangeiras uma para livros e outra para leitor… isto facilita bem mais do que usar chaves compostas…
andre_guitar7
Mas veja que um Leitor pode ler vários livros. A classe Leitor (ou Pessoa) não pode ter o atributo “data de leitura” porque não vai ser uma data de leitura somente.
Obrigado, Ederson, mas esse exemplo é sem atributo no relacionamento.
luistiagos
Mas veja que um Leitor pode ler vários livros. A classe Leitor (ou Pessoa) não pode ter o atributo “data de leitura” porque não vai ser uma data de leitura somente.
É verdade… sendo vários livros ele não terá como ler vários na mesma hora… então vc pode criar uma terceira classe chamada Leitura onde terá a data da leitura, sendo que a mesma classe tem um relacionamento de 1 para 1 com leitor e livro… isto resolve seu problema…
andre_guitar7
Mas veja que um Leitor pode ler vários livros. A classe Leitor (ou Pessoa) não pode ter o atributo “data de leitura” porque não vai ser uma data de leitura somente.
É verdade… sendo vários livros ele não terá como ler vários na mesma hora… então vc pode criar uma terceira classe chamada Leitura onde terá a data da leitura, sendo que a mesma classe tem um relacionamento de 1 para 1 com leitor e livro… isto resolve seu problema…
Vc tem razão, como um amigo aqui do trabalho me disse, quando um relacionamento entre classes tem um atributo, uma nova classe deve ser criada.