Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, a umas 2 semanas atrás criei um tópico aqui pedindo ajuda e prontamente ajudarem-me, e pude resolver meu problema, gostei muito da educação com que o pessoal daqui me tratou.
Hoje, eu não tenho bem um "problema" e sim uma dúvida, de como fazer algo de modo a não deixar meu sistema lento.
Estou desenvolvendo um jogo simples, em PHP mesmo, trata-se de um jogo de cartas, e minha dúvida é a seguinte:
Cada jogador irá ter entre 25 e 35 cartas, as cartas e todas as suas informações e atributos estão armazenadas numa tabela chamada CARDS, dentro de um DB específico.
Como disse, cada jogador terá o seu próprio deck, porém creio, que não seria inteligente nem faria muito sentido, eu criar uma tabela para cada jogador, e dentro desta tabela, inserir novamente todas as informações do deck do mesmo, uma vez que todos os detalhes do Card já estão em outra tabela.
Pensei em 3 maneiras>
Criar um novo BANCO DE DADOS, aonde o nome das TABELAS será o NICK do jogador, e haverá um único campo chamado CARD, aonde poderá ser inserido os cards do jogador, sem nenhum problema. No campo card, conteria apenas o NOME da carta, a partir do nome, eu faria uma Query que resgataria os detalhes da carta, no outro DB. Para isso, eu usaria DOIS DBS, CENTENAS DE TABELAS, E UM ÚNICO CAMPO(além é claro do tradicional campo id...)
2ª Maneira:
Não criar um DB, assim creio que estaria agilizando o processo. Criaria as TABELAS, no db principal do jogo, aonde o NOME DAS TABELAS, seriam o nick dos jogadores e haveria também um único campo(campo card,idem maneira anterior). A desvantagem aqui, é que haveriam centenas de tabelas(ou mais, dependendo é claro do sucesso) junto de outras tabelas como REGISTR0S(Cotendo os dados dos jogadores, senha...) e DUELOS(com estatísticas e talz), creio que seria menos estético também para quem for usar o PHPMyAdmin. Além de parecer mais inseguro.
3ª Maneira:
Criar uma única tabela, dentro do DB principal, contendo 37 campos, sendo 1 campo ID, 1 campo nick e 35 campos para armazenar as cartas, lembrando é claro, que não necessariamente preencheria todos estes campos.
Esta eu diria que até aqui, é a "menos cotada", uma vez que daria mais trabalho, seria menos estética e complicaria demais a escrita do código(por exemplo, ao inserir um novo card, não poderia dar um simples INSERT, teria de inserir num campo vazio especifico...)
E ai qual seria a melhor maneira? Existe outra? Se sim, por favor, peço que me ajudem!
Agradeço desde já.
Carregando comentários...