> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/analytics/pt-br/iot-query/schema-overview/bronze-layer/raw-telematics-data.md).

# esquema raw\_telematics\_data

raw\_telematics\_data armazena pontos de Monitor, entradas, estados e eventos enviados pelos dispositivos. Navegue pela definição do esquema e pelas descrições das tabelas principais para análise SQL

O **`raw_telematics_data`** O esquema contém quatro tipos principais de tabelas que trabalham em conjunto para fornecer dados abrangentes do dispositivo.

{% hint style="info" %}
O diagrama interativo do schema raw\_telematics\_data está disponível em **dbdiagram.io**: <https://dbdiagram.io/d/v1-schema-telematics-bd-67a0acef263d6cf9a0d8e750>
{% endhint %}

Encontre abaixo os detalhes do esquema de dados telemáticos brutos.

{% code title="esquema raw\_telematics\_data" expandable="true" %}

```sql
Tabela tracking_data_core {

  device_id integer [primary key]

  device_time timestampz [chave primária]

  platform_time timestampz

  record_added_at timestampz [default: `now()`]

  latitude inteiro

  longitude inteiro

  velocidade inteiro

  altitude inteiro

  satélites inteiro

  event_id inteiro

  gps_fix_type inteiro

  hdop inteiro

  

  índices {(device_id, device_time)}

}

  

Tabela inputs {

  event_id integer [primary key]

  device_id integer [primary key]

  record_added_at timestampz [default: `now()`]

  device_time timestampz [chave primária]

  sensor_name text [primary key]

  value text

  índices {(device_id, device_time)}

}

  

Tabela states {

  event_id integer [primary key]

  device_id serial [primary key]

  record_added_at timestampz [default: `now()`]

  device_time timestampz [chave primária]

  state_name text [primary key]

  value text

  índices {(device_id, device_time)}

}

  

Tabela additional_data {

  device_id integer [primary key]

  device_time timestampz [chave primária]

  platform_time timestampz

  record_added_at timestampz [default: `now()`]

  discrete_inputs text [primary key]

  discrete_outputs text [primary key]

  special_jsonb jsonb

  índices {(device_id, discrete_inputs, discrete_outputs, device_time)}

}

 

Ref: inputs.(device_id, device_time) > tracking_data_core.(device_id, device_time)

Ref: states.(device_id, device_time) > tracking_data_core.(device_id, device_time)

Ref: additional_data.(device_id, device_time) > tracking_data_core.(device_id, device_time)
```

{% endcode %}

## Principais tabelas por categoria

Cada tabela tem um propósito específico para capturar diferentes aspectos das informações do dispositivo:

<details>

<summary><code>tracking_data_core</code></summary>

**Finalidade**: Dados essenciais de localização e movimento

<table><thead><tr><th width="181.20001220703125">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td><code>device_id</code>, <code>device_time</code>, <code>platform_time</code>, <code>latitude</code>, <code>longitude</code>, <code>velocidade</code>, <code>altitude</code>, <code>satélites</code>, <code>hdop</code>, <code>event_id</code></td></tr><tr><td><strong>Indexação</strong></td><td>Otimizado com índice em (<code>device_id</code>, <code>device_time</code>)</td></tr><tr><td><strong>Notas especiais</strong></td><td>Os dados de localização (latitude e longitude) usam formato inteiro com precisão de 10⁷ para obter o melhor desempenho do TimescaleDB<br><br>A velocidade também é armazenada como inteiro, então você precisa dividi-la por 100</td></tr></tbody></table>

</details>

<details>

<summary><code>entradas</code></summary>

**Finalidade**: Leituras dos sensores dos dispositivos

<table><thead><tr><th width="182">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td><code>input_id</code>, <code>device_id</code>, <code>device_time</code>, <code>sensor_name</code>, <code>valor</code></td></tr><tr><td><strong>Conteúdo</strong></td><td>Leituras analógicas (nível de Combustível, temperatura, tensão), valores calculados (RPM do motor)</td></tr><tr><td><strong>Relacionamentos</strong></td><td><pre data-overflow="wrap"><code>FROM raw_telematics_data.inputs AS i
JOIN raw_business_data.sensor_description AS sd
    ON i.device_id = sd.device_id AND i.sensor_name = sd.input_label
JOIN raw_telematics_data.tracking_data_core AS tdc
    ON i.device_id = tdc.device_id AND i.device_time = tdc.device_time
</code></pre></td></tr></tbody></table>

</details>

<details>

<summary><code>estados</code></summary>

**Finalidade**: indicadores de Status do dispositivo e modos operacionais

<table><thead><tr><th width="174.800048828125">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos-chave</strong></td><td><code>state_id</code>, <code>device_id</code>, <code>device_time</code>, <code>state_name</code>, <code>valor</code></td></tr><tr><td><strong>Conteúdo</strong></td><td>Indicadores de modo de operação (em funcionamento, inativo, desligado), status dos componentes (Ignição, portas)</td></tr><tr><td><strong>Formato do valor</strong></td><td>Valores booleanos (1/0) ou códigos de status específicos</td></tr></tbody></table>

</details>

<details>

<summary><code>additional_data</code></summary>

**Finalidade**: Estados de sinais de entrada/saída discretos e outros dados não padronizados do dispositivo

<table><thead><tr><th width="174.800048828125">Atributo</th><th>Detalhes</th></tr></thead><tbody><tr><td><strong>Campos principais</strong></td><td><code>device_id</code>, <code>device_time</code>, <code>platform_time</code>, <code>discrete_inputs</code>, <code>discrete_outputs</code></td></tr><tr><td><strong>Chave primária</strong></td><td>Composto: <code>(device_id, discrete_inputs, discrete_outputs, device_time)</code></td></tr><tr><td><strong>Conteúdo</strong></td><td>Cada uma das <code>discrete_inputs</code> e <code>discrete_outputs</code> é uma sequência de bits com um caractere por canal de entrada ou saída (por exemplo, <code>"10110001"</code>), em que <code>1</code> significa ligado e <code>0</code> significa desligado</td></tr><tr><td><strong>Notas especiais</strong></td><td><code>special_jsonb</code> é uma coluna reservada para dados futuros do dispositivo e ainda não está preenchida. Esta tabela alimenta <code>processed_common_data.input_change_events</code>. Veja <a href="/docs/analytics/pt-br/iot-query/schema-overview/transformation-layer/common-transformations/input-change-events.md">Eventos de alteração de entrada</a></td></tr></tbody></table>

</details>

Os dados neste esquema são ingeridos diretamente dos dispositivos, com latência mínima (normalmente segundos). O esquema é otimizado para dados de séries temporais usando TimescaleDB para armazenamento e recuperação eficientes.

## Informações adicionais

### Validação de dados

O banco de dados impõe a integridade dos dados por meio de vários mecanismos:

* **restrições CHECK** validam que os valores estejam dentro de intervalos aceitáveis
* **chaves estrangeiras** garantem que os relacionamentos entre as tabelas permaneçam consistentes
* **restrições NOT NULL** garantem que os campos obrigatórios sempre tenham valores
* **valores DEFAULT** fornecem um valor de fallback quando os dados não são fornecidos explicitamente

### Otimização de consultas

As tabelas são organizadas com estratégias específicas de indexação:

* Todas as tabelas incluem **índices baseados em tempo** em `record_added_at`
* As colunas de chave estrangeira têm índices dedicados para o desempenho de junções
* Combinações de colunas usadas com frequência têm **índices compostos**
* TimescaleDB oferece índices especializados para consultas de séries temporais


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/analytics/pt-br/iot-query/schema-overview/bronze-layer/raw-telematics-data.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
