Gostaria de saber: num projeto de sistemas, o diagrama entidade-relacionamento (DER) deve ser construído independentemente do diagrama de classes (DC)? Pergunto-lhes sobre isto, pois o DER e o DC possuem características semelhantes: relacionamentos, cardinalidades, etc. Uma entidade no DER possui chave primária, esta chave primária também deve existir na classe equivalente no DC?
Geralmente em empresas grandes onde o desenvolvimento não é centralizado, nem todo sistema é orientado a objetos, ou são sistemas orientados a objetos com código fonte totalmente independentes do outro por ser setores separados, mas na base de dados eles se ligam de alguma forma. Nesse cenário o modelo de dados tem mais valor para a empresa como um todo.
Quando a empresa possui equipe de ADs o modelo de dados é criado e depois o mapeamento para classes é feito, sem obrigatoriamente repetir o modelo de dados, podendo por exemplo escolher estratégias para heranças no modelo de classes. Em outros cenários, os desenvolvedores geram automaticamente as tabelas e relacionamentos a partir do modelo de classes mapeado, que é o “teoricamente mais correto”.
Não existe chave primária no diagrama de classes. Se na implementação você está mapeamento a classe com annotations isso pode te confundir mesmo, pois cria essa dependência.
Suponhamos que eu tenha de desenvolver um sistema totalmente orientado a objetos, é necessário construir o DER para implantação do banco de dados ou diagrama de classes é suficiente?
Se na empresa só tem o seu sistema, não precisa. Existem softwares que fazem a engenharia reversa para o modelo de dados físico. Se existe TI no seu cliente, converse com eles a respeito, principalmente se tiver ADs não faça nada antes de conversar com eles.