Fórum JPA - Notação para gerar tabela com um campo que seja PK e FK ao mesmo tempo? #589533
06/12/2017
0
CREATE TABLE Telefone(
CodCliente INT(11),
Numero VARCHAR(15),
XDEAD BOOLEAN DEFAULT FALSE,
/*FK*/
FOREIGN KEY(CodCliente) REFERENCES Cliente(CodCliente),
/*PK*/
PRIMARY KEY(CodCliente, Numero)
);
Felipe Martins
Curtir tópico
+ 0Post mais votado
07/12/2017
Não sei se eu entendi bem, mas o que você está tentando implementar seria uma chave composta, na qual o cliente é identificado tanto por seu id quanto por seu número de telefone? Se esse for o caso posso demonstrar como criar uma chave composta, mas estaria faltando um entidade ou a tabela associativa.
Se esse não for o caso, recomendo que você use um id para o telefone e faça o relacionamento criando uma chave estrangeira de acordo com a cardinalidade, um cliente tem muitos telefone ou um cliente tem um telefone.
Qualquer dúvida estou por aqui :)
Estevão Dias
Gostei + 3
Mais Posts
07/12/2017
Paulo Carvalho
Cara, desculpa a minha ignorância, mas nunca ouvi falar sobre uma chave primária que é ao mesmo tempo uma chave estrangeira. De cara já me parece uma má pratica. Não sei da sua real necessidade, mas se você criasse um campo id para essa tabela de telefone como a primary key dela e o campo CodCliente como chave estrangeira não ficaria mais simples o tratamento?
Gostei + 2
07/12/2017
Felipe Martins
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)