MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número

    avatar
    eristonmattos
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 136
    Registrado : 05/09/2018

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número Empty [Resolvido]Quando usar chave estrangeira tipo texto e tipo número

    Mensagem  eristonmattos 4/2/2020, 13:55

    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.
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1010
    Registrado : 23/09/2011

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número Empty Re: [Resolvido]Quando usar chave estrangeira tipo texto e tipo número

    Mensagem  cleverson_manaus 4/2/2020, 14:18

    Com o tempo, aprendi que entre os tipos numero e texto, com certeza o melhor é o tipo número inteiro longo, pois sempre uso um campo tipo número para manter a integridade referencial.

    Porém, não uso a numeração automática, prefiro automatizar via VBA.


    E dependendo, podemos ter na mesma tabela a segunda chave tipo texto para verificação e consulta, por exemplo, placas de veículos, CPF e CNPJ, etc.


    Abraços,


    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    avatar
    eristonmattos
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 136
    Registrado : 05/09/2018

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número Empty Quando usar chave estrangeira tipo texto e tipo número

    Mensagem  eristonmattos 4/2/2020, 14:56

    Agradeço sua explicação sobre a questão Cleverson, mas minha pergunta foi outra,
    quando uma chave primária funciona melhor sendo número e quando é melhor que
    seja do tipo texto...

    O exemplo de uma tabela com um único campo e outra com mais de um campo são
    a explicação??
    quando eu vou relacionar uma tabela de campo único com outra é melhor que seja
    texto??
    quando uma tabela tem mais de um campo (ou coluna) pra ser usada é melhor que
    ela seja do tipo número??

    Gostaria eu de estar no nível avançado pra usar VBA em tudo nobre

    Att,
    cleverson_manaus
    cleverson_manaus
    VIP
    VIP

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1010
    Registrado : 23/09/2011

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número Empty Re: [Resolvido]Quando usar chave estrangeira tipo texto e tipo número

    Mensagem  cleverson_manaus 4/2/2020, 19:34


    Bem amigo,

    Não me fiz entender, vamos lá:


    Vc:
    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??? escreveu:


    Respondi:
    Com o tempo, aprendi que entre os tipos numero e texto, com certeza o melhor é o tipo número inteiro longo, pois sempre uso um campo tipo número para manter a integridade referencial. escreveu:


    Vc:

    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... escreveu:

    Respondi:

    Porém, não uso a numeração automática, prefiro automatizar via VBA. escreveu:



    Vc:
    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... escreveu:

    Respondi:

    E dependendo, podemos ter na mesma tabela a segunda chave tipo texto para verificação e consulta, por exemplo, placas de veículos, CPF e CNPJ, etc. escreveu:


    Resumindo, nunca uso chave estrangeira com campo tipo texto, sigo as recomendações dos colegas da área que recomendam tal prática.


    Abraços,






    .................................................................................
    afro

    "É fazendo que se aprende a fazer aquilo que se deve aprender a fazer."(Aristóteles)
    - Dúvida resolvida!!! Marcar o tópico como resolvido!!!
    bondan
    bondan
    Novato
    Novato

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 35
    Registrado : 30/12/2019

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número Empty Re: [Resolvido]Quando usar chave estrangeira tipo texto e tipo número

    Mensagem  bondan 11/2/2020, 18:34

    Oi...

    Sempre utilize campos números para números, pois mais tarde você poderá precisar linkar um campo ou form à outro onde números funcionam melhor e mais fácil, ou talvez queira fazer algum cálculo e se for texto terá que primeiro converter.

    Se for Data use Data, pois cálculo de minutos posteriormente somam 60 para um, enquanto números 10 ou 100 para um. Facilita usar o correto.

    Para campos de texto procure setar sempre o número de caracteres que pretende utilizar, como por exemplo um campo de informação de "UF", que será sempre por regra 2 caractéres. Isso auxilia na agilidade das pesquisas e tamanho no banco de dados, porque se não o sistema irá sempre esperar 255 caracteres reservados na memória, e vocês só utiliza por exemplo 2 naquele campo.

    Espero ter ajudado.

    Abraço.
    avatar
    eristonmattos
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 136
    Registrado : 05/09/2018

    [Resolvido]Quando usar chave estrangeira tipo texto e tipo número Empty Quando usar chave estrangeira tipo texto e tipo número

    Mensagem  eristonmattos 15/2/2020, 15:34

    Boa tarde a todos,

    Boa explicação Bondan, desde já fico-lhe muito agradecido,
    já o colega Cleverson, citou muita coisa e somente no final,
    disse o que eu queria saber... Resolvido!

    Vlw mesmo..
    Att,

      Data/hora atual: 23/6/2021, 05:40