Ir para o conteúdo
eskalha

Guardar dados ao segundo numa base de dados

Mensagens Recomendadas

eskalha    0
eskalha

Boa tarde,

Tenho uma tabela na minha base de dados com os seguintes atributos:

Chave primária: IDDadSeg

atributos: - IDVoo

-Nivel_Combustivel

-RotacaoPS

-TemperaturaCHD

-TemperaturaEGT

O meu problema está no facto de eu ter que fazer gráficos com os valores destes atributos (ex: gráfico de combustivel ao longo do vôo) mas pra isso provavelmente teria que ter outro atributo que teria os segundos (1,2,3...) e para cada segundo teria um valor de Nivel_Combustivel, RotacaoPS, etc.. mas não sei como fazer isso, alguém me ajuda???

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
eskalha    0
eskalha

Desculpa lá se tou a ser ignorante, mas não percebi bem a tua resposta.

Como é que, depois disso, fica um valor de cada atributo a corresponder a um segundo?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
KTachyon    272
KTachyon

Agora que olhei para a tua tabela com mais atenção, isto já é suposto ser a tabela dos dados separados ao segundo, que são seleccionados utilizando uma pesquisa por referências a um IDVoo, correcto?

Basicamente isto será como uma entidade fraca, ou seja a tabela vai ter vários IDVoos iguais, um para cada segundo.

Ou seja, a tua chave privada é o conjunto IDVoo + tempo, pelo que podes eliminar o IDDadSeg, que não te vai servir para nada.

Para registares os dados associados a um tempo, podes utilizar timestamps, inteiros, datetimes,... É o que te der mais jeito. Tens que pensar como é que queres representar o tempo. Se para um IDVoo queres começar a registar segundo a segundo a partir do segundo zero, ou se queres começar a registar a partir do segundo de um tempo real. Em principio diria para ires para um timestamp, de qualquer das formas.

Ou seja, a tua tabelas seria composta por:

IDVoo

tempo

Nivel_Combustivel

RotacaoPS

TemperaturaCHD

TemperaturaEGT

Para seleccionares um conjunto de dados dessa tabela relativos a um determinado voo e a um range de tempo:

SELECT * FROM tabela WHERE IDVoo = $X AND tempo BETWEEN $Y AND $Z ORDER BY tempo ASC

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade