Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpRlInr 228 of 288 menu
◀ ▶

Связывание таблиц в Rust

Когда одно и то же значение повторяется во многих строках, таблица раздувается и правки становятся рискованными. Имя или категорию приходится менять сразу во всех местах, где текст встретился.

Часть столбцов выносят в отдельную таблицу справочника, а в основной строке оставляют только номер нужной записи. Такая связь держит номер строки другой таблицы, а не копию всех ее полей.

По номеру легко подтянуть полное имя при чтении и собрать отчет из двух таблиц одним запросом. Список уникальных значений справочника берут из одной маленькой таблицы, а не вычеркивают дубли из огромной.

В разделе на примере app.db разберем внешний ключ, связь один ко многим, внутреннее и левое соединение, связь многие ко многим через третью таблицу и цепочку из нескольких шагов. Код идет через крейт rusqlite с флагом bundled, как в блоке про файл базы.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить