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

# schéma raw\_telematics\_data

raw\_telematics\_data contient les points de suivi, les entrées, les états et les événements envoyés par les appareils. Parcourez la définition du schéma et les descriptions des tables clés pour l'analyse SQL

Le **`raw_telematics_data`** Le schéma contient quatre principaux types de tables qui fonctionnent ensemble pour fournir des données complètes sur l’appareil.

{% hint style="info" %}
Le diagramme interactif du schéma raw\_telematics\_data est disponible sur **dbdiagram.io**: <https://dbdiagram.io/d/v1-schema-telematics-bd-67a0acef263d6cf9a0d8e750>
{% endhint %}

Vous trouverez ci-dessous les détails du schéma des données télématiques brutes.

{% code title="schéma raw\_telematics\_data" expandable="true" %}

```sql
Table Suivi_data_core {

  device_id integer [clé primaire]

  device_time timestampz [clé primaire]

  platform_time timestampz

  record_added_at timestampz [par défaut : `now()`]

  latitude entier

  longitude entier

  vitesse entier

  altitude entier

  satellites entier

  event_id entier

  gps_fix_type entier

  hdop entier

  

  index {(device_id, device_time)}

}

  

Entrées de table {

  event_id entier [clé primaire]

  device_id integer [clé primaire]

  record_added_at timestampz [par défaut : `now()`]

  device_time timestampz [clé primaire]

  sensor_name texte [clé primaire]

  value texte

  index {(device_id, device_time)}

}

  

Table états {

  event_id entier [clé primaire]

  device_id serial [clé primaire]

  record_added_at timestampz [par défaut : `now()`]

  device_time timestampz [clé primaire]

  state_name texte [clé primaire]

  value texte

  index {(device_id, device_time)}

}

  

Table données_supplémentaires {

  device_id integer [clé primaire]

  device_time timestampz [clé primaire]

  platform_time timestampz

  record_added_at timestampz [par défaut : `now()`]

  entrées_discrètes texte [clé primaire]

  sorties_discrètes texte [clé primaire]

  special_jsonb jsonb

  index {(device_id, discrete_inputs, discrete_outputs, device_time)}

}

 

Réf. : entrées.(device_id, device_time) > Suivi_data_core.(device_id, device_time)

Réf. : states.(device_id, device_time) > Suivi_data_core.(device_id, device_time)

Réf. : additional_data.(device_id, device_time) > Suivi_data_core.(device_id, device_time)
```

{% endcode %}

## Tables clés par catégorie

Chaque table remplit un objectif spécifique dans la capture de différents aspects des informations sur l’appareil :

<details>

<summary><code>suivi_data_core</code></summary>

**Objectif**: Données principales de localisation et de mouvement

<table><thead><tr><th width="181.20001220703125">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td><code>device_id</code>, <code>device_time</code>, <code>platform_time</code>, <code>latitude</code>, <code>longitude</code>, <code>vitesse</code>, <code>altitude</code>, <code>satellites</code>, <code>hdop</code>, <code>event_id</code></td></tr><tr><td><strong>Indexation</strong></td><td>Optimisé avec un index sur (<code>device_id</code>, <code>device_time</code>)</td></tr><tr><td><strong>Notes spéciales</strong></td><td>Les données de localisation (latitude et longitude) utilisent un format entier avec une précision de 10⁷ pour des performances optimales de TimescaleDB<br><br>La vitesse est également stockée en entier, donc vous devez la diviser par 100</td></tr></tbody></table>

</details>

<details>

<summary><code>entrées</code></summary>

**Objectif**: Relevés des capteurs des appareils

<table><thead><tr><th width="182">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td><code>identifiant d'entrée</code>, <code>device_id</code>, <code>device_time</code>, <code>sensor_name</code>, <code>valeur</code></td></tr><tr><td><strong>Contenu</strong></td><td>Lectures analogiques (niveau de Carburant, température, tension), valeurs calculées (TR/MIN du moteur)</td></tr><tr><td><strong>Relations</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.Suivi_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>états</code></summary>

**Objectif**: Indicateurs du Rapport du matériel et modes de fonctionnement

<table><thead><tr><th width="174.800048828125">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td><code>state_id</code>, <code>device_id</code>, <code>device_time</code>, <code>state_name</code>, <code>valeur</code></td></tr><tr><td><strong>Contenu</strong></td><td>Indicateurs de mode de fonctionnement (en marche, inactif, arrêté), états des composants (Contact, portes)</td></tr><tr><td><strong>Format de valeur</strong></td><td>Valeurs booléennes (1/0) ou codes d'état spécifiques</td></tr></tbody></table>

</details>

<details>

<summary><code>données supplémentaires</code></summary>

**Objectif**: États des signaux d'entrée/sortie discrets et autres données non standard du dispositif

<table><thead><tr><th width="174.800048828125">Attribut</th><th>Détails</th></tr></thead><tbody><tr><td><strong>Champs clés</strong></td><td><code>device_id</code>, <code>device_time</code>, <code>platform_time</code>, <code>entrées discrètes</code>, <code>discrete_outputs</code></td></tr><tr><td><strong>Clé primaire</strong></td><td>Composé : <code>(device_id, discrete_inputs, discrete_outputs, device_time)</code></td></tr><tr><td><strong>Contenu</strong></td><td>Chacun de <code>entrées discrètes</code> et <code>discrete_outputs</code> est une chaîne de bits avec un caractère par canal d'entrée ou de sortie (par exemple, <code>"10110001"</code>), où <code>1</code> signifie activé et <code>0</code> signifie désactivé</td></tr><tr><td><strong>Notes spéciales</strong></td><td><code>special_jsonb</code> est une colonne réservée aux futures données du dispositif et n'est actuellement pas renseignée. Cette table alimente <code>processed_common_data.input_change_events</code>. Voir <a href="/docs/analytics/fr/iot-query/schema-overview/transformation-layer/common-transformations/input-change-events.md">Événements de changement d'entrée</a></td></tr></tbody></table>

</details>

Les données de ce schéma sont ingérées directement depuis les appareils, avec une latence minimale (généralement de quelques secondes). Le schéma est optimisé pour les données de séries temporelles grâce à TimescaleDB, pour un stockage et une récupération efficaces.

## Informations supplémentaires

### Validation des données

La base de données garantit l'intégrité des données par plusieurs mécanismes :

* **Contraintes CHECK** vérifient que les valeurs se situent dans des plages acceptables
* **Clés étrangères** garantissent que les relations entre les tables restent cohérentes
* **Contraintes NOT NULL** garantissent que les champs obligatoires ont toujours une valeur
* **Valeurs par défaut** fournissent une valeur de repli lorsque les données ne sont pas fournies explicitement

### Optimisation des requêtes

Les tables sont organisées avec des stratégies d'indexation spécifiques :

* Toutes les tables incluent **des index temporels** sur `record_added_at`
* Les colonnes de clé étrangère disposent d'index dédiés pour améliorer les performances des jointures
* Les combinaisons de colonnes fréquemment utilisées ont **des index composites**
* TimescaleDB fournit des index spécialisés pour les requêtes sur les séries temporelles


---

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