Лучший подход для хранения временных интервалов - PullRequest
0 голосов
/ 25 октября 2018

У меня есть такая таблица:

CREATE TABLE things
(id INTEGER PRIMARY KEY,
 name TEXT,
 status INTEGER);

Есть такие «вещи», которые имеют статус, который может быть 1 или 0, этот статус автоматически изменяется другой частью моей программы.Я хотел бы хранить информацию о временных интервалах, когда статус этих вещей равен 0 или 1, что я могу сделать?Я думал создать две таблицы:

CREATE TABLE status_from_0_to_1
(id INTEGER PRIMARY KEY,
 datetime DATE,
 things_id INTEGER,
 FOREIGN KEY (id) REFERENCES things (id));

CREATE TABLE status_from_1_to_0
(id INTEGER PRIMARY KEY,
 datetime DATE,
 things_id INTEGER,
 FOREIGN KEY (id) REFERENCES things (id));

Но сейчас я не знаю, как написать запрос, который проверяет, отличается ли новый статус от статуса в таблице things и только в этом случаедобавить строку в одну из двух таблиц.Я не знаю, является ли это лучшим подходом, я также подумал о создании одной таблицы (помимо things) с двумя полями DATE, но я думаю, что запрос будет еще более сложным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...