MELHOR OPCAO PARA TABELA

 Tópico anterior Próximo tópico Novo tópico

MELHOR OPCAO PARA TABELA

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#472724 - 24/03/2017 13:54:54

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


Boa tarde, estou desenvolvendo um sistema para escola e me peguei em uma dvida quanto criao de uma tabela para registrar as faltas dos alunos, minha dvida qual a melhor estrutura para essa tabela, ou seja, a melhor forma de armazenar esses dados sem sobrecarregar a tabela (tamanho em disco) e velocidade de pesquisa.
Em minhas anlises (rsrsrsrs) no encontrei uma resposta satisfatria, pois sempre vi como resultado: muitas tabelas e poucos registros ou uma tabela e muitos registros.
as nicas informaes que []acho que preciso[] o ID do aluno e a data da falta.
Essas informaes so para montar uma grade de presena anual dos alunos de forma individual.
J terei em outras tabelas o inicio e fim de cada semestre, inclusive o recesso, por ano e tambm as ausncias coletivas (feriados, pontos facultativos e outros)
Toda a estruturao do restante do banco de dados est pronta, fiquei preso somente nessa tabela de faltas individuais.

Obs: necessito manter esses dados permanentemente, ento, em alguma poca atingir um grande nmero de registros e a correta estruturao impedir uma lentido na consulta.

Desde j, agradeo a colaborao de todos.

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


Resposta escolhida #472729 - 24/03/2017 14:12:41

GUIMORAES
ITAPETININGA
Cadast. em:Agosto/2009


DAMASCENO.CESAR,

No tem muito segredo no, na minha opinio voc pode criar um id individual para cada registro, o id do aluno e a data da falta, e talvez a matria (podendo ser o id dela).
Neste caso, interessante voc indexar o id do aluno, para que ao fazer um select com mltiplas tabelas, voc tenha o retorno da informao de forma rpida.
A indexao a chave do negcio, mas cuidado, ela tambm pode ser a vil, ou seja, no adianta indexar todos os campos da tabela, apenas aqueles que possam servir com chave primaria, chave estrangeira ou at um registro que voc venha a utilizar com maior frequncia.
Outra coisa que pode ser feita criar uma view para retornar os registros, tendo um ganho de desempenho satisfatrio.

Em um banco de dados mysql, tenho uma tabela com mais de 2 milhes de registros, e para consultar apenas 30 registros, retornado um tempo mdio de 0.0018 segundos, ou seja, rpido.
S por questes de curiosidade, esta tabela contem cerca de 20 campos, e est em um servidor web, bem jaguara por sinal .







#472735 - 24/03/2017 19:52:46

DAMASCENO.CESAR
ADAMANTINA
Cadast. em:Fevereiro/2009


GUIMORAES, obrigado pela explicao e sujesto, vou manter mais um pouco o tpico aberto para ver se surgem mais sugestes ou ideias

O conhecimento como o dinheiro: quanto mais temos, mais queremos ter (Josh Billings)  


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por DAMASCENO.CESAR em 27/03/2017 16:17:27