+ Responder ao Tópico



  1. #1

    Thumbs up Nome dos campos no Banco de dados

    Bom, minha dúvida é simples
    Para nomear os campo no banco de dados, é melhor usar um prefixo (usr_login), ou não (login).
    É mais organizado, tem vantagéns, ou tanto faz?
    Grato.

  2. #2
    Ricardo Romero Avatar de ricromero
    Ingresso
    Apr 2008
    Localização
    São Paulo / Interior
    Posts
    920

    Padrão Re: Nome dos campos no Banco de dados

    Cara, me desculpe mas não entendi sua pergunta, poderia reformular?



  3. #3

    Padrão Re: Nome dos campos no Banco de dados

    Amigo, não muda nada...

    A questão é pura organização, criar padrões.

    Em algumas Universidade, livros, ensina-se para uma tabela que ira conter login de um sistema,
    log_usuario

  4. #4

    Padrão Re: Nome dos campos no Banco de dados

    Vamos supor que tenho a tabela "users", para nome dos campos a melhor forma é:
    Com prefixo:
    usr_id
    usr_name
    usr_login
    usr_passwd

    Sem prefixos:
    id
    name
    login
    passwd

    Qual a melhor forma? Algum é mais organizado?

    E se, por exemplo for selecionar campos de tabelas diferentes, por exemplo (SELECT id, id FROM table1, table2)
    Se não tiver prefixo não vai dar erro?
    Última edição por EdvaldoSzy; 14-07-2011 às 09:36. Razão: Erro na escrita :)



  5. #5
    Ricardo Romero Avatar de ricromero
    Ingresso
    Apr 2008
    Localização
    São Paulo / Interior
    Posts
    920

    Padrão Re: Nome dos campos no Banco de dados

    Cara, a 3a. FN é a mais indicada para qualquer modelo, porém..........

    Depende muito de qual é o seu propósito.

    Dizer que a 3a. FN é a melhor seria ignorância da minha parte não sabendo 100% do sua necessidade.

    Faça o modelo de dados completo, e veja se poderia melhorá-lo.
    Citação Postado originalmente por EdvaldoSzy Ver Post
    Vamos supor que tenho a tabela "users", para nome dos campos a melhor forma é:
    Com prefixo:
    usr_id
    usr_name
    usr_login
    usr_passwd

    Sem prefixos:
    id
    name
    login
    passwd

    Qual a melhor forma? Algum é mais organizado?

    E se, por exemplo for selecionar campos de tabelas diferentes, por exemplo (SELECT id, id FROM table1, table2)
    Se não tiver prefixo não vai dar erro?

  6. #6

    Padrão Re: Nome dos campos no Banco de dados

    Existindo a entidade usuário os campos não precisam ter os prefixos, porque normalmente é utilizado um alias para fazer a referencia da entidade na query.

    Então sendo a sua Entidade Usuário o alias será user ou usr, ou poderá ser qualquer outro.



  7. #7

    Padrão Re: Nome dos campos no Banco de dados

    OK, então devo fazer assim?
    "SELECT * FROM table1.id, table2.id FROM table1, table2"

    E como faço para pegar esses dados no PHP?
    $result['table1.id']
    $result['table2.id']

    Issoo funcionará?

  8. #8
    Ricardo Romero Avatar de ricromero
    Ingresso
    Apr 2008
    Localização
    São Paulo / Interior
    Posts
    920

    Padrão Re: Nome dos campos no Banco de dados

    "SELECT * FROM table1.id, table2.id FROM table1, table2 where clausula1 = 'ALGUMA_COISA' and clausula2 = algum_campo"

    Não sei responder sobre o php
    Citação Postado originalmente por EdvaldoSzy Ver Post
    OK, então devo fazer assim?
    "SELECT * FROM table1.id, table2.id FROM table1, table2"

    E como faço para pegar esses dados no PHP?
    $result['table1.id']
    $result['table2.id']

    Issoo funcionará?



  9. #9

    Padrão Re: Nome dos campos no Banco de dados

    Pode ser assim.

    SELECT tb1.id, tb2.id FROM table1 tb1, table2 tb2

    Você deverá colocar na aplicação:
    tb1.id
    tb2.id
    Última edição por salinas; 25-07-2011 às 15:02.

  10. #10

    Padrão Re: Nome dos campos no Banco de dados

    Andei pesquisando mais na documentação do PHP e entendi que o salinas disse sobre Alias, e consegui obter os resultados.
    Exemplo (SELECT tb1.id as alias1, tb2.id as alias2 FROM table1 tb1, table2 tb2 ...) e depois no PHP
    $res['alias1'];
    $res['alias2'];

    Mais agora surge outra dúvida.
    Não é mais facil usar os prefixos do que ficar fazendo alias para cada campo que for selecionar?
    Última edição por EdvaldoSzy; 25-07-2011 às 22:00.