> 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/es/iot-query/schema-overview/bronze-layer/raw-telematics-data.md).

# Esquema de raw\_telematics\_data

raw\_telematics\_data contiene puntos de rastreo, entradas, estados y eventos enviados por los dispositivos. Explore la definición del esquema y las descripciones clave de las tablas para el análisis SQL

El **`raw_telematics_data`** El esquema contiene cuatro tipos principales de tablas que trabajan juntas para proporcionar datos completos de los dispositivos.

{% hint style="info" %}
El diagrama interactivo del esquema raw\_telematics\_data está disponible en **dbdiagram.io**: <https://dbdiagram.io/d/v1-schema-telematics-bd-67a0acef263d6cf9a0d8e750>
{% endhint %}

Encuentre a continuación los detalles del esquema de datos telemáticos sin procesar.

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

```sql
Tabla tracking_data_core {

  device_id entero [clave primaria]

  device_time timestampz [clave primaria]

  platform_time timestampz

  record_added_at timestampz [predeterminado: `now()`]

  latitude integer

  longitude integer

  speed integer

  altitude integer

  satellites integer

  event_id integer

  gps_fix_type integer

  hdop entero

  

  índices {(device_id, device_time)}

}

  

Tabla inputs {

  event_id entero [clave primaria]

  device_id entero [clave primaria]

  record_added_at timestampz [predeterminado: `now()`]

  device_time timestampz [clave primaria]

  sensor_name texto [clave primaria]

  value texto

  índices {(device_id, device_time)}

}

  

Tabla states {

  event_id entero [clave primaria]

  device_id serial [clave primaria]

  record_added_at timestampz [predeterminado: `now()`]

  device_time timestampz [clave primaria]

  state_name texto [clave primaria]

  value texto

  índices {(device_id, device_time)}

}

  

Tabla additional_data {

  device_id entero [clave primaria]

  device_time timestampz [clave primaria]

  platform_time timestampz

  record_added_at timestampz [predeterminado: `now()`]

  discrete_inputs texto [clave primaria]

  discrete_outputs text [clave primaria]

  special_jsonb jsonb

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

}

 

Ref: inputs.(device_id, device_time) > Seguimiento_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) > Seguimiento_data_core.(device_id, device_time)
```

{% endcode %}

## Tablas clave por categoría

Cada tabla cumple un propósito específico al capturar diferentes aspectos de la información del dispositivo:

<details>

<summary><code>Seguimiento_data_core</code></summary>

**Propósito**: datos principales de ubicación y movimiento

<table><thead><tr><th width="181.20001220703125">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td><code>device_id</code>, <code>device_time</code>, <code>platform_time</code>, <code>latitud</code>, <code>longitud</code>, <code>velocidad</code>, <code>altitud</code>, <code>satélites</code>, <code>hdop</code>, <code>event_id</code></td></tr><tr><td><strong>Indexación</strong></td><td>Optimizado con índice en (<code>device_id</code>, <code>device_time</code>)</td></tr><tr><td><strong>Notas especiales</strong></td><td>Los datos de ubicación (latitud y longitud) usan formato entero con precisión de 10⁷ para un rendimiento óptimo de TimescaleDB<br><br>La velocidad también se almacena en formato entero, así que necesita dividirla entre 100</td></tr></tbody></table>

</details>

<details>

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

**Propósito**: Lecturas de sensores de dispositivos

<table><thead><tr><th width="182">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td><code>input_id</code>, <code>device_id</code>, <code>device_time</code>, <code>sensor_name</code>, <code>value</code></td></tr><tr><td><strong>Contenido</strong></td><td>Lecturas analógicas (nivel de combustible, temperatura, voltaje), valores calculados (RPM del motor)</td></tr><tr><td><strong>Relaciones</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.Seguimiento_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>

**Propósito**: Indicadores de Estado del dispositivo y modos de funcionamiento

<table><thead><tr><th width="174.800048828125">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</strong></td><td><code>state_id</code>, <code>device_id</code>, <code>device_time</code>, <code>nombre del estado</code>, <code>value</code></td></tr><tr><td><strong>Contenido</strong></td><td>Indicadores del modo de operación (en funcionamiento, inactivo, apagado), estados de los componentes (Ignición, puertas)</td></tr><tr><td><strong>Formato de valor</strong></td><td>Valores booleanos (1/0) o códigos de estado específicos</td></tr></tbody></table>

</details>

<details>

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

**Propósito**: estados de las señales de entrada/salida discretas y otros datos no estándar del dispositivo

<table><thead><tr><th width="174.800048828125">Atributo</th><th>Detalles</th></tr></thead><tbody><tr><td><strong>Campos clave</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>Clave primaria</strong></td><td>Compuesta: <code>(device_id, discrete_inputs, discrete_outputs, device_time)</code></td></tr><tr><td><strong>Contenido</strong></td><td>Cada uno de <code>discrete_inputs</code> y <code>discrete_outputs</code> es una cadena de bits con un carácter por cada canal de entrada o salida (por ejemplo, <code>"10110001"</code>), donde <code>1</code> significa encendido y <code>0</code> significa apagado</td></tr><tr><td><strong>Notas especiales</strong></td><td><code>special_jsonb</code> es una columna reservada para datos futuros del dispositivo y actualmente no tiene contenido. Esta tabla alimenta <code>processed_common_data.input_change_events</code>. Vea <a href="/docs/analytics/es/iot-query/schema-overview/transformation-layer/common-transformations/input-change-events.md">Eventos de cambio de entrada</a></td></tr></tbody></table>

</details>

Los datos de este esquema se ingieren directamente desde los dispositivos, con una latencia mínima (por lo general, de segundos). El esquema está optimizado para datos de series de tiempo mediante TimescaleDB para un almacenamiento y recuperación eficientes.

## Información adicional

### Validación de datos

La base de datos aplica la integridad de los datos mediante varios mecanismos:

* **Restricciones CHECK** validan que los valores se mantengan dentro de rangos aceptables
* **Claves foráneas** garantizan que las relaciones entre tablas se mantengan coherentes
* **Restricciones NOT NULL** garantizan que los campos requeridos siempre tengan valores
* **Valores predeterminados** proporcionan un valor de respaldo cuando los datos no se proporcionan explícitamente

### Optimización de consultas

Las tablas se organizan con estrategias de indexación específicas:

* Todas las tablas incluyen **índices basados en tiempo** en `record_added_at`
* Las columnas de clave foránea tienen índices dedicados para el rendimiento de las uniones
* Las combinaciones de columnas de uso frecuente tienen **índices compuestos**
* TimescaleDB proporciona índices especializados para consultas de series temporales


---

# 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/es/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.
