galera, uma pergunta teórica sobre banco de dados mysqli/php. é uma dúvida constante que me bate
na hora de implementar algumas soluções:
Eu tenho tb_usuarios_premios, que são premios que o usuario escolhe dar para um determinado amigo.
Cada usuario pode escolher até 5 premios por amigo. A qualquer momento o usuário pode editar e alterar
o conteúdo e número de prêmios oferecidos.
TB_USUARIOS_PREMIOS
id_premio chave primaria da tabela
id_autor chave ex p/ tb_usuarios, o autor
id_amigo chave ex p/ tb_usuarios, p/ quem o premio sera dado
valor
descricao
O formulario são 5 linhas, cada linha com 2 textboxes onde o usuario informa o valor da recompensa, e sua descricao.
Ele não necessariamente, como eu já falei, precisa usar as 5 linhas, ele pode apenas oferecer 2 recompensas, ou qualquer outro valor.
A cada vez que o usuário alterar as recompensas no formulário, eu preciso de alguma forma atualizar a tabela. Como ele pode
ter inserio, excluído, ou alterado uma recompensa, qual a melhor abordagem para manejar essa tabela?
1. simplesmente apago todos os registro do autor e depois leio o formulário e insiro tudo novamente? me
parece o mais simples simples e rápido, mas nesse caso eu talvez excluísse o campo id_premio porque o numero da chave primária iria
sempre subir muito rápido a cada vez que alguém no sistema alterasse as recompensas.
2. eu automaticamente insiro 5 registros em tb_usuarios_premios quando um novo usuario for criado e depois apenas dou updates
nessas linhas? nesse caso eu precisaria de mais codigo para controlar o fato de que um dia eu posso querer mudar
a quantidade de premios permitida por usuario para mais ou menos.
3. eu faço algo mais complexo e tento salvar na memóra se a linha da recompensa no formulário já existia no banco
ou não e controlo no código se eu posso apenas dar um update numa linha já existente, ou é o caso de haver uma inserção e exclusão na base? essa abordagem é mais bonita mas um tanto trabalhosa para algo que poderia ser resolvido facilmente na abordagem 1, ou 2.
o que voces acham?
obrigado e bons códigos :)
Murilo
a linha
do premio foi mesmo alterada
Qual a melhor abordagem para manejar essa tabela?
1. quando um usuário é inserio em tb_usuarios eu automaticamente insiro 5 itens de premios e a cada ve
e tb_usuarios. eu tenho tambem
tb_usuarios_premios, que são premios que o usuario escolhe para seu amigo.
Pergunta
Murilo Lessa
galera, uma pergunta teórica sobre banco de dados mysqli/php. é uma dúvida constante que me bate
na hora de implementar algumas soluções:
Eu tenho tb_usuarios_premios, que são premios que o usuario escolhe dar para um determinado amigo.
Cada usuario pode escolher até 5 premios por amigo. A qualquer momento o usuário pode editar e alterar
o conteúdo e número de prêmios oferecidos.
TB_USUARIOS_PREMIOS
id_premio chave primaria da tabela
id_autor chave ex p/ tb_usuarios, o autor
id_amigo chave ex p/ tb_usuarios, p/ quem o premio sera dado
valor
descricao
O formulario são 5 linhas, cada linha com 2 textboxes onde o usuario informa o valor da recompensa, e sua descricao.
Ele não necessariamente, como eu já falei, precisa usar as 5 linhas, ele pode apenas oferecer 2 recompensas, ou qualquer outro valor.
A cada vez que o usuário alterar as recompensas no formulário, eu preciso de alguma forma atualizar a tabela. Como ele pode
ter inserio, excluído, ou alterado uma recompensa, qual a melhor abordagem para manejar essa tabela?
1. simplesmente apago todos os registro do autor e depois leio o formulário e insiro tudo novamente? me
parece o mais simples simples e rápido, mas nesse caso eu talvez excluísse o campo id_premio porque o numero da chave primária iria
sempre subir muito rápido a cada vez que alguém no sistema alterasse as recompensas.
2. eu automaticamente insiro 5 registros em tb_usuarios_premios quando um novo usuario for criado e depois apenas dou updates
nessas linhas? nesse caso eu precisaria de mais codigo para controlar o fato de que um dia eu posso querer mudar
a quantidade de premios permitida por usuario para mais ou menos.
3. eu faço algo mais complexo e tento salvar na memóra se a linha da recompensa no formulário já existia no banco
ou não e controlo no código se eu posso apenas dar um update numa linha já existente, ou é o caso de haver uma inserção e exclusão na base? essa abordagem é mais bonita mas um tanto trabalhosa para algo que poderia ser resolvido facilmente na abordagem 1, ou 2.
o que voces acham?
obrigado e bons códigos :)
Murilo
a linha
do premio foi mesmo alterada
Qual a melhor abordagem para manejar essa tabela?
1. quando um usuário é inserio em tb_usuarios eu automaticamente insiro 5 itens de premios e a cada ve
e tb_usuarios. eu tenho tambem
tb_usuarios_premios, que são premios que o usuario escolhe para seu amigo.
o usuario pode no máximo indicar 5 premios.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.