Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

"Удобное" хранение данных [D7, Access]


Ozone ©   (2004-07-01 07:14:00) 

Пишу так называемую систему видеонаблюдения (через Web-камеры). Т.е. есть куча (~70) клиентов (те у которых на компах стоит камера) и один сервер. Подключаются все, но транслировать могут сразу только четыре (не суть важно). По сети посылаю не видео на "фотографии", ИМХО так быстрее - и сохраняю их на диск у сервера. И соответственно делаю заметку в БД, что такой-то клиент в такое-то время положил фото со своей камеры в то-то место.

Задача:

Теперь нужно написать прогу для удобной работы с ентой самой БД. Т.е. как я себе это представляю - опять-таки слева список клиентов и при нажатии на нужном должен показаться не просто список всех его фоток, а список так называемых "сенсов связи", тыкая на который диспетчеру выводится что-то типа видео (ну т.е. картинки одна за одной).

Дык вот, как зделать выборку этих самых сеансов?

Сеансом я называю картинки от начала трансляции до ее конца.Т.е. диспетчер может включить одного клиента, посмотреть 5 минут и выключить - вот это есть один сеанс. Потом он может других посмотреть какое-то время, а потом опять вернуться к тому же клиенту и опять некоторое время посмотреть его. Это уже будет второй сеанс.

На крайний случай думаю добавть еще одно поле в таблицу с номером сеанса для каждого клиента, но с этим тоже есть свои заморочки.

В базе есть поля:
  1. ID клиента
  2. Путь к фото
  3. Время

(то на одно время (чч.мм.сс) приходится ~6-8 фото для одного клиента)

Может у кого родилась какая-нить мудрая мысль на данную тему?
Межет я вообще что-то неправильно делаю?


Ozone   (2004-07-01 09:08:00) [1]

Наталия ©   (01.07.04 09:06) [5]

Ну можно и так :-)


Наталия   (2004-07-01 09:06:00) [2]

Я бы добавляла полностью сформированную запись при окончании сеанса. Insert много времени не займет.


Ozone   (2004-07-01 08:47:00) [3]

Наталия ©   (01.07.04 08:39) [3]

Просто я буду терять время в таком случае.
Вот, например, включили одного - добавили запись в новую таблицу с датой/временем начала сеанса. Смотрим... Решили отключить => нужно тратить время на обновление записи о сеансе (т.е. добавить время окончания)...

Ну а так, идея хорошая. Подумаю. Спасибо.


Наталия   (2004-07-01 08:39:00) [4]

Здесь смысл не в том, чтобы добавить суррогатный идентификатор, а в том, чтобы можно было идентифицировать сам сеанс. То есть главное в фиксации границ сеанса (будь то временной интервал начало/окончание либо суррогатный идентификатор).


Ozone   (2004-07-01 08:24:00) [5]

Наталия ©   (01.07.04 08:12) [1]

Ну если уж юзать все-таки номера сеансов, то ИМХО никакой таблицы не надо, просто как я уже говорил - добавить новое поле (что-то типа SeansNumber) и делать выборку

select * from photos
where (ClientID = ...) and (SeansNumber = ...)


Наталия   (2004-07-01 08:12:00) [6]

Если я правильно поняла, то диспетчер управляет этими сеансами. Тогда я бы завела ещё одну таблицу, куда бы записывала эти сеансы. Например,
id сеанса, id клиента, дата/время начала сеанса, дата/время окончания сеанса.
Выборку из таблицы с фото делала бы так:
select f.* from table_foto f,table_session s
where f.id_client=s.id_client
and f.time between s.time_start and s.time_end


Наверх

Титульная страница Поиск, карта сайта Написать письмо