Bom dia a todos,
Na modelagem de dados, onde estamos na criação de relacionamentos entre tabelas,
quando usar chave estrangeira do tipo número e quando usar tipo texto???
Ex.:
TblClientes
IdCliente -------------- numeração automática
NomeCliente ---------- texto
TipoCliente ------------ texto
CPF_CNPJCliente ------------ texto
Endereco -------------- texto
IdBairro --------------- número
Bairro ------------------ texto
Tenho uma TblBairro onde os campos são:
IdBairro --------------
Bairro ----------------
DistritoSanitario ----
Regiao ---------------
Tenho outra tabela TblTipoCliente pra dizer se é Pessoa Física ou Jurídica:
TipoCliente ----------- texto -------- chave primária
Dúvida: nessa tabela de bairro, eu tenho mais de um campo, gostaria de saber se é
melhor que a chave estrangeira seja o Id do tipo numeração automática pra se relacionar
na TblClientes no campo IdBairro ou se a chave estrangeira aqui devo excluir o campo
IdBairro e colocar a chave estrangeira no campo Bairro do tipo texto pra se relacionar na
TblClientes no campo Bairro...
No segundo ex, a TblTipoCliente só tem um campo de tipo texto com chave primária, pra
se relacionar com o campo TipoCliente da TblClientes, nesse caso, a tabela só tem um
campo...
Seria essa a explicação???
Quando eu tenho que ter uma tabela com mais de um campo pra se relacionar com a
tabela principal é melhor que ela tenha um Id do tipo numeração automática e na
tabela principal tenha um campo Id pra receber essa chave estrangeira...
E quando eu tenho que ter uma tabela com um único campo pra se relacionar com a
tabela principal é melhor que ela tenha um campo do tipo texto sendo chave primária
e na tabela principal tenha um campo de mesmo (tipo texto) pra receber essa chave estrangeira...
Entendam, eu sei que há vários vídeos e outras lugares na internet sobre chave primária e chave
estrangeira (surrogada, candidata e etc), mas ainda não encontrei ninguém dizendo o pq uma
chave estrangeira DEVE ser "numeração automática" por tal razão e DEVE ser "texto" por tal razão.
Desde já fico muito agradecido
Att,
Eriston.
Na modelagem de dados, onde estamos na criação de relacionamentos entre tabelas,
quando usar chave estrangeira do tipo número e quando usar tipo texto???
Ex.:
TblClientes
IdCliente -------------- numeração automática
NomeCliente ---------- texto
TipoCliente ------------ texto
CPF_CNPJCliente ------------ texto
Endereco -------------- texto
IdBairro --------------- número
Bairro ------------------ texto
Tenho uma TblBairro onde os campos são:
IdBairro --------------
Bairro ----------------
DistritoSanitario ----
Regiao ---------------
Tenho outra tabela TblTipoCliente pra dizer se é Pessoa Física ou Jurídica:
TipoCliente ----------- texto -------- chave primária
Dúvida: nessa tabela de bairro, eu tenho mais de um campo, gostaria de saber se é
melhor que a chave estrangeira seja o Id do tipo numeração automática pra se relacionar
na TblClientes no campo IdBairro ou se a chave estrangeira aqui devo excluir o campo
IdBairro e colocar a chave estrangeira no campo Bairro do tipo texto pra se relacionar na
TblClientes no campo Bairro...
No segundo ex, a TblTipoCliente só tem um campo de tipo texto com chave primária, pra
se relacionar com o campo TipoCliente da TblClientes, nesse caso, a tabela só tem um
campo...
Seria essa a explicação???
Quando eu tenho que ter uma tabela com mais de um campo pra se relacionar com a
tabela principal é melhor que ela tenha um Id do tipo numeração automática e na
tabela principal tenha um campo Id pra receber essa chave estrangeira...
E quando eu tenho que ter uma tabela com um único campo pra se relacionar com a
tabela principal é melhor que ela tenha um campo do tipo texto sendo chave primária
e na tabela principal tenha um campo de mesmo (tipo texto) pra receber essa chave estrangeira...
Entendam, eu sei que há vários vídeos e outras lugares na internet sobre chave primária e chave
estrangeira (surrogada, candidata e etc), mas ainda não encontrei ninguém dizendo o pq uma
chave estrangeira DEVE ser "numeração automática" por tal razão e DEVE ser "texto" por tal razão.
Desde já fico muito agradecido
Att,
Eriston.