1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Acesso a informação

Discussão em 'Web Development' iniciada por Zeux, 11 de Agosto de 2008. (Respostas: 2; Visualizações: 397)

  1. Zeux

    Zeux Power Member

    Boas pessoal


    Estava aqui a projectar um novo projecto quando me deparei com um dilema (só o coloquei porque vi a bd de outro projecto)


    Por exemplo, tenho uma tabela 'clientes' e uma tabela 'acessos' para registar os logins realizados, tabela esta que contem os campos 'cliente_id' e 'data_hora'.

    Ora a minha duvida está, se a informação numero de acessos por cliente for importante e for preciso aceder constantemente a ela, é preferível criar um campo 'nr_acessos' na tabela 'clientes' e sempre que o cliente faz login incrementar o valor contido no campo, ou seja, ao fazer login tem de ser introduzido mais um valor, mas depois é mais fácil aceder a essa informação. A outra alternativa é não criar esse campo, deixando de haver informação redundante e quando se pretende ver o nº de acessos de um determinado cliente fazer uma busca na tabela 'acessos' por esse cliente e executar um count.


    Qual das 2 implementações será a melhor ? :kfold:
     
  2. meiokilo

    meiokilo Power Member

    Para mim a segunda opção é melhor!
    Não vale a pena ter informação redundante!
    Fazes um count ao número de registos e siga para bingo
     
  3. Mavors

    Mavors Power Member

    Tudo depende da quantidade de informação e do número de acessos que vais fazer à tabela principal, contudo unformação redundante é sempre de evitar, até pela incoerência que a redundância pode eventualmente provocar.

    Em que situações é que vais usar isso? Reports? Ou é para o cliente qd aceder teres uma mensagem que diz "você já acedeu 12300 vezes". Se for para reports estes não estão sempre a ser gerados por isso não há stress, e na segunda opção, tens sempre a hipotese de meter o valor em sessão e fazes apenas um SELECT COUNT por cliente qd se loga, e isso não me parece violento, uma vez que já vais ter que fazer uma ligação para indicar que o cliente se logou.

    Mas se pudesses explorar um pouco a situação de uso se calhar poderiamos ajudar um pouco mais.
     

Partilhar esta Página