STRICT SQLite: тип данных не заменяет проверку смысла измерения
Фотография конкретного исполнения не приложена.
STRICT-таблица задаёт строгие правила типов для своих столбцов. SQLite пытается выполнить допустимое преобразование, а если значение нельзя без потерь привести к требуемому типу, возвращает ошибку типа ограничения. Это полезная граница приёма, но не полная проверка технологических данных.
Корректное число может иметь неверную единицу, относиться к другому каналу или сопровождаться плохим качеством источника. Для этих условий нужны отдельные поля и прикладные правила. Превращение строки в REAL само по себе не подтверждает, что значение допустимо для физического объекта и пригодно для расчёта.
ANY в STRICT-таблице сохраняет исходное значение и тип без обычного приведения. Его использование должно быть осмысленным: слишком общий столбец способен вынести проверку данных за пределы схемы. Также подтверждают версию библиотеки: синтаксис STRICT требует совместимой реализации и не становится доступным только благодаря новому файлу схемы.
В приёмке проверяют число, строковое представление числа, непреобразуемый текст, NULL и согласованные граничные значения. Отдельно проверяют неверную единицу и статус качества. Успешная вставка в STRICT-таблицу подтверждает предусмотренные правила хранения, но не достоверность измерения и не корректность всей семантики сообщения.
Основание — SQLite official unversioned documentation snapshot; Download index observed 3.54.1, individual pages not version-tagged, разделы 2. STRICT Tables; ANY; compatibility. Сохранён текст публичной справочной публикации; конкретная реализация может поддерживать только часть возможностей. Установленная библиотека, сборка, файловая система и база узла не проверялись. Это проектный сценарий; SQL и сервисные операции на реальных данных не выполнялись.