Android: проверка данных в базе данных через SQL или Java? - PullRequest
0 голосов
/ 12 февраля 2019

TL;DR

Существуют ли какие-либо известные шаблоны / стратегии, которые можно использовать для проверки данных на основе данных в таблице базы данных в приложениях Android?


Рассмотрим базу данных SQLiteтаблица со следующими столбцами:

  1. дата_ начала
  2. время_ начала
  3. дата_ конца
  4. время_ конца

Мне нужноубедитесь, что запись не может быть вставлена ​​в вышеприведенную таблицу, если start_date, start_time или end_date, end_time вставляемой записи попадают в диапазон существующей записи.

Пример:

Существующая запись

start_date    end_date   start_time    end_time

2019-02-11    2019-02-15    22:00       23:30

Новая запись для вставки

start_date    end_date   start_time    end_time

2019-02-12    2019-02-13    22:00       23:30

Поскольку вышеупомянутая запись падаетмежду диапазоном даты и времени существующей записи вставка не должна быть разрешена пользовательским интерфейсом.

Учитывая вышеприведенный пример, я могу выполнить эту проверку двумя способами:

  1. Сформулируйте самодостаточный SQL-запрос, который проверит, попадает ли диапазон времени новой вставляемой записи в диапазон дат существующей записи.Если такая запись существует, не допускайте вставки новой записи ИЛИ
  2. Запросите все записи из таблицы, просматривайте их одну за другой в коде Java (черезa Cursor) и если какая-либо строка попадает в диапазон дат, не разрешайте вставку.

Учитывая тот факт, что сценарий использования для приложения таков, что рассматриваемая таблица будетскорее всего, не более 20-30 записей, выборка всех строк и итерация по ним с использованием Cursor в Java на самом деле не будут такими дорогостоящими по сравнению с выполнением SQL-запроса.С другой стороны, сложный запрос к базе данных с 20-30 записями может привести к большему количеству операций ввода-вывода.

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

Существуют ли какие-либо известные шаблоны / стратегии, которые можно использовать для проверки данных на основе данных в таблице базы данных в приложениях Android?

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