Amigo, TCC eh pesquisa, independentemente da sua decisão teoricamente vc tera que se embasar em alguma bibliografia para apontar essa ou aquela decisao de projeto. Nao deveria colocar achismo e sim
--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/55715dee-3401-4519-8aed-26c99cb25d88%40googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Não costumo responder muito, e vou talvez criar uma indisposição com alguns. Mais a realidade é que não existe chave primária composta.
Quando criamos uma chave primária composta o banco sempre gera um rowid que seria a chave primária da tabela e o resto é chave única + estrangeira. Isso acontece com a maioria dos bancos de dados comerciais e open source: Oracle, PostgreSQL, DB2, MySQL e etc... só pra citar os que eu trabalho todo dia.
O Java trabalha com modelos orientados a objetos e não relacionamentos. Não que não seja possível trabalhar com relacionamentos compostos mais na maioria das vezes isso traz complicações desnecessárias.
Na minha opinião seu orientador está certo. Embora o professor de bd não esteja totalmente errado, se vc for trabalhar com jpa ou algo assim, prefira o modelo: chave primária do tipo serial ou com o dado que realmente seja primário e único; os relacionamentos com chave estrangeira e chave única no lugar das chaves compostas.
Assim não fere a integridade e tbem não tem um overhead desnecessário no código em Java.
Agora se for pra procedural... faz de qualquer uma das 2 maneiras.
E se for pra trabalho de faculdade às vezes é melhor atender o que vai dar a maior parte da nota.
Que venham os normalizadores rebaterem hehehe.
Até mais e boa sorte.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CADqP9oMcjdKMKDq2KiPY13tLkM44too6Tz9VuuH2nPV8d2PWbA%40mail.gmail.com.
Para mais opções, acesse https://groups.google.com/d/optout.