Dúvida - Regra de negócio [chave primaria]

Pessoal, possuo uma entidade: Grupo que se relaciona com outra: Produto

onde um produto é composto por um grupo!

Até ai tudo bem, tenho a situacao:

[list]grupo
id - pk
codigo
descricao[/list]

na minha regra de negocio, utilizo o codigo como unico e imutável.

Duvida: Eu elimino o ID e deixo somente o codigo como chave primária então?

Pode ser ^^

Só precisa definir se é unidirecional ou bidirecional esse relacionamento.

:wink:

No banco vc colocou qual das duas como chave

vlws

[quote=LeoMarola]Pode ser ^^

Só precisa definir se é unidirecional ou bidirecional esse relacionamento.

:wink: [/quote]

o que seria isso ?

no banco até então estava a ID . mas acho que no caso, é desnecessario neh ?

Se código respeitar os requisitos pra ser uma PK, sim :smiley:

É a navegação entre as entidades, tanto no MER como no diagrama de classes existe esse conceito, se for bidirecional provavelmente as duas entidades terão a PK das outras o que pode vir a ser tornar uma tabela associativa (para facilitar uma alteração 1 - 1 para 1 - N ou N - N)

[]'s :wink:

Cara seguinte, quando vc defini no banco de dados a chave primaria e o conceito de Integridade de Referencia diz que a chave primaria nunca podera ser deletada ou alterada, portando pela regra de banco de dados o id não podera ser alterado, mas para aplicações e dependendo da sua logica de negocio o id pode até ficar encapsulado e codigo na aplicação ficar como chave primaria, mas eu aconselho vc nunca alterar nenhum dos dois.
Quanto ao relacionamento “unidirecional e bidirecional” significa que em qual das tabelas vc esta inserindo a chave estrangeira, ou seja se nas tabelas que estão fazendo relacionamento vc esta colocando os ids nas duas tabelas ou somente uma esta recebendo o id da outra.

vlws