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

# Схема raw\_telematics\_data

raw\_telematics\_data хранит точки Мониторинга, входы, состояния и события, отправляемые устройствами. Просмотрите определение схемы и описания основных таблиц для SQL-анализа

Этот **`raw_telematics_data`** схема содержит четыре основных типа таблиц, которые вместе обеспечивают полные данные об устройствах.

{% hint style="info" %}
Интерактивная диаграмма схемы raw\_telematics\_data доступна на **dbdiagram.io**: <https://dbdiagram.io/d/v1-schema-telematics-bd-67a0acef263d6cf9a0d8e750>
{% endhint %}

Ниже приведены подробности схемы необработанных телематических данных.

{% code title="Схема raw\_telematics\_data" expandable="true" %}

```sql
Таблица tracking_data_core {

  device_id integer [primary key]

  device_time timestampz [primary key]

  platform_time timestampz

  record_added_at timestampz [default: `now()`]

  latitude integer

  longitude integer

  speed integer

  altitude integer

  satellites integer

  event_id integer

  gps_fix_type integer

  hdop integer

  

  индексы {(device_id, device_time)}

}

  

Таблица inputs {

  event_id integer [primary key]

  device_id integer [primary key]

  record_added_at timestampz [default: `now()`]

  device_time timestampz [primary key]

  sensor_name text [primary key]

  value text

  индексы {(device_id, device_time)}

}

  

Таблица states {

  event_id integer [primary key]

  device_id serial [primary key]

  record_added_at timestampz [default: `now()`]

  device_time timestampz [primary key]

  state_name text [primary key]

  value text

  индексы {(device_id, device_time)}

}

  

Таблица additional_data {

  device_id integer [primary key]

  device_time timestampz [primary key]

  platform_time timestampz

  record_added_at timestampz [default: `now()`]

  discrete_inputs text [primary key]

  discrete_outputs text [primary key]

  special_jsonb jsonb

  индексы {(device_id, discrete_inputs, discrete_outputs, device_time)}

}

 

Ссылка: inputs.(device_id, device_time) > tracking_data_core.(device_id, device_time)

Ссылка: states.(device_id, device_time) > tracking_data_core.(device_id, device_time)

Ссылка: additional_data.(device_id, device_time) > tracking_data_core.(device_id, device_time)
```

{% endcode %}

## Основные таблицы по категориям

Каждая таблица служит определенной цели в фиксации различных аспектов информации об устройстве:

<details>

<summary><code>Мониторинг_data_core</code></summary>

**Назначение**: Основные данные о местоположении и движении

<table><thead><tr><th width="181.20001220703125">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td><code>device_id</code>, <code>device_time</code>, <code>platform_time</code>, <code>latitude</code>, <code>longitude</code>, <code>speed</code>, <code>высота</code>, <code>спутники</code>, <code>hdop</code>, <code>event_id</code></td></tr><tr><td><strong>Индексирование</strong></td><td>Оптимизировано с индексом по (<code>device_id</code>, <code>device_time</code>)</td></tr><tr><td><strong>Особые примечания</strong></td><td>Данные о местоположении (широта и долгота) используют целочисленный формат с точностью 10⁷ для оптимальной производительности TimescaleDB<br><br>Скорость также хранится в виде целого числа, поэтому вам нужно разделить ее на 100</td></tr></tbody></table>

</details>

<details>

<summary><code>входы</code></summary>

**Назначение**: Показания датчиков с устройств

<table><thead><tr><th width="182">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</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>Содержимое</strong></td><td>Аналоговые показания (Уровень топлива, температура, напряжение), расчетные значения (Обороты двигателя)</td></tr><tr><td><strong>Связи</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.Мониторинг_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>состояния</code></summary>

**Назначение** : индикаторы Статус работы устройств и режимы работы

<table><thead><tr><th width="174.800048828125">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</strong></td><td><code>state_id</code>, <code>device_id</code>, <code>device_time</code>, <code>state_name</code>, <code>value</code></td></tr><tr><td><strong>Содержимое</strong></td><td>Индикаторы режима работы (работа, холостой ход, выключено), состояния компонентов (Зажигание, двери)</td></tr><tr><td><strong>Формат значения</strong></td><td>Логические значения (1/0) или коды конкретных состояний</td></tr></tbody></table>

</details>

<details>

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

**Назначение**: Состояния дискретных входных/выходных сигналов и другие нестандартные данные устройства

<table><thead><tr><th width="174.800048828125">Атрибут</th><th>Подробности</th></tr></thead><tbody><tr><td><strong>Ключевые поля</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>Первичный ключ</strong></td><td>Составной ключ: <code>(device_id, discrete_inputs, discrete_outputs, device_time)</code></td></tr><tr><td><strong>Содержимое</strong></td><td>Каждый из <code>discrete_inputs</code> и <code>discrete_outputs</code> представляет собой битовую строку с одним символом на каждый входной или выходной канал (например, <code>"10110001"</code>), где <code>1</code> означает включено, а <code>0</code> означает выключено</td></tr><tr><td><strong>Особые примечания</strong></td><td><code>special_jsonb</code> является зарезервированным столбцом для будущих данных устройства и в настоящее время не заполняется. Эта таблица передает данные в <code>processed_common_data.input_change_events</code>. См. <a href="/docs/analytics/ru/iot-query/schema-overview/transformation-layer/common-transformations/input-change-events.md">События изменения ввода</a></td></tr></tbody></table>

</details>

Данные в этой схеме поступают непосредственно с устройств с минимальной задержкой (обычно в секундах). Схема оптимизирована для временных рядов с использованием TimescaleDB для эффективного хранения и извлечения.

## Дополнительная информация

### Проверка данных

База данных обеспечивает целостность данных с помощью нескольких механизмов:

* **Ограничения CHECK** проверяют, что значения находятся в допустимых пределах
* **Внешние ключи** обеспечивают согласованность связей между таблицами
* **Ограничения NOT NULL** гарантируют, что обязательные поля всегда содержат значения
* **Значения DEFAULT** предоставляют запасной вариант, когда данные явно не указаны

### Оптимизация запросов

Таблицы организованы с использованием определенных стратегий индексирования:

* Все таблицы включают **индексы по времени** по `record_added_at`
* Столбцы внешних ключей имеют отдельные индексы для повышения производительности соединений
* Часто используемые комбинации столбцов имеют **составные индексы**
* TimescaleDB предоставляет специализированные индексы для запросов к временным рядам


---

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