Отметка времени в базе данных, выделенной для агента
Мне нужно спроектировать базу данных для программного агента. Должно быть несколько таблиц (например, DOOR, CORRIDOR, WINOW), указывающих объекты со столбцами для определенных функций. Функции могут быть установлены, отключены или недоступны. Они также должны быть как-то локализованы в зависимости от времени, когда они произошли.
Одной из основных задач будет проверка того, какими функциями обладает объект в конкретный момент времени. Должен быть простой способ получить функции для метки времени, которая наиболее близка для данного параметра (также типа метки времени).
Программа, обрабатывающая это, будет на Java. Это будет небольшое приложение. Я думаю о JavaDB - он не должен быть эффективным, но я открыт для других предложений. Отметка времени - абстрактное понятие здесь. Это может быть просто в непрерывных целых числах. Проблема возникает, когда агент собирает информацию из БД и связывает отметку времени для двух или более объектов. Они могут варьироваться, но в некоторой области их следует рассматривать как один и тот же момент.
Должен ли я разместить столбцы меток времени в каждой таблице или лучше сделать это по-другому? Как вы думаете, что является лучшим подходом для этого?
1 ответ
Я должен признать, что я не упал, как будто я действительно понимаю, к чему вы клоните, просто прочитав ваше описание.
Но я думаю, вам придется хранить столбец метки времени в каждой таблице. Я представляю себе такие функции, как "клавиатура двери" и "датчик открытия двери" для системы мониторинга вторжений. Возможно, вы захотите отличить "обычное" событие двери - событие "дверная клавиатура", за которым следует событие "открыть дверь", за которым следует событие "открытие двери", все в течение 5 секунд - от события вторжения (от 2 минут до обойти блокировку). Поэтому я не думаю, что целые числа помогут вам здесь.