Показать сообщение отдельно
  #17  
Старый 07.07.2013, 11:17
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 577
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от grizzlylife@mail.ru
Другая огромный журнал всех устройств только с индексами из первой, ну и зачем тогда это все....
Вам тут насоветуют, ага. Если устройства имеют уникальный 8-байтовый ключ, ваша задача вполне подходит под критерий использования натуральных ключей. Они ведь еще и аппаратно прошитые, так ведь?

В этом случае все логи пишутся в одну большую таблицу, ключ которой (device_id, event_time). Поле device_id -- тот самый 8-байтовый ключ, event_time -- обычная дата-время. Тип device_id, думаю, лучше всего сделать float или даже money, примерно так:
Код:
create table log(
  device_id money,
  event_time datetime,
  state integer,
  primary key (device_id, event_time)
);
Можно, конечно, сделать его и binary(8), но в этом случае его не будет видно в гриде и сложно использовать в запросах как параметр.

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

Кстати. Не имея на компе установленного Access, пользовался своей поделкой, когда-то начатой как Access Explorer -- программы с возможностью визуального просмотра данных и исполнения скриптов (!) для JetDB (Access), по аналогии с TOAD или SQLiteSpy. Прикладываю. После открытия файла нажать кнопку "Query", на появившейся вкладке писать запросы и/или команды, разделяя их пустой строкой, нажимать Ctrl+Enter для выполнения команды, на которой стоит курсор. Обновление списка таблиц -- по F5. Успехов.
Вложения
Тип файла: 7z Axe.7z (285.4 Кбайт, 1 просмотров)
Ответить с цитированием