IANAL
Вам необходимо проконсультироваться с юристами, чтобы решить, достаточно ли сохранить отсканированное изображение при первом входе в магазин, или вам нужно сохранять новое изображение каждый раз, когда человек совершает транзакцию. Любая система работает технически; правовая история может быть совсем другой.
Я подозреваю, что вам нужно будет делать снимок каждый раз, когда приходит клиент. Полиция может быть заинтересована, если документы (изображения), удостоверяющие личность клиента, изменяются с течением времени, помимо простого продления лицензии.
Существуют различные проблемы, с которыми вам придется иметь дело.
Хранение BLOB-объектов
- Стандартный движок Informix (SE) не поддерживает объекты BLTE или TEXT (или BLOB, или CLOB).
- Informix Dynamic Server (IDS) сохраняет BLOB-объекты BYTE или TEXT либо «IN TABLE» в тех же самых базах данных, что и основные данные таблицы, но на отдельных страницах из обычных данных в строках или в пространстве больших объектов. специально созданный для хранения капель. В любом случае обычные данные для строк содержат дескриптор большого двоичного объекта, который показывает, где в действительности хранится большой двоичный объект.
- IDS хранит «умные» BLOB и CLOB в «умных» BLOB-пространствах, специально созданных для хранения BLOB-объектов. Опять же, дескриптор сохраняется в строке вместе с обычными данными.
- Ни в коем случае IDS не хранит большие двоичные объекты в файловой системе. Они хранятся в дисковом пространстве, управляемом транзакциями, зарезервированным для СУБД.
- IDS имеет интерфейс виртуальных таблиц (VTI), который можно использовать для доступа к файлам из файловой системы, если вы того пожелаете.
Фактический объем данных зависит от разрешения изображений, которые необходимо сохранить. Хорошей новостью является то, что дисковое пространство в наши дни довольно дешевое. Предположим, вы сохраняете изображения высокого разрешения размером 3 МБ каждый. Если вам нужно хранить 30 000 таких файлов, вам нужно около 100 ГБ дискового пространства. Хотя вы, вероятно, все еще можете купить меньшие диски (я полагаю), вам не составит труда найти диски в нескольких сотнях гигабайт, доступных для использования. Таким образом, я не рассматриваю хранение как главную проблему. И объем не ставит ограничений рабочей нагрузки. Если бы это было 30 000 в день, то нам нужно было бы обсудить проблемы, но это, вероятно, не было бы огромной проблемой.
Пользовательский интерфейс
ISQL, вероятно, не является предпочтительным инструментом, если вам нужно иметь возможность отображать сканы. Возможно, вы сможете заставить систему работать нормально для ввода данных, и, возможно, личную информацию можно будет включить в отчет (тикеты) и т. Д. Тем не менее, это, вероятно, не будет тривиальным.
Я не разработчик пользовательского интерфейса; Я работаю с программами CLI и в недрах СУБД. Я не уверен, что посоветовать в качестве внешнего интерфейса. Вероятно, я бы посоветовал взглянуть на Genero (проданный IBM и разработанный FourJs ).
Дизайн стола
С точки зрения дизайна таблицы, я бы имел одну отдельную таблицу из существующих таблиц для хранения изображений. Он будет содержать столбец SERIAL для указания номера изображения, и вы добавите столбец номера изображения внешнего ключа в соответствующие существующие таблицы. Таблица изображений также будет содержать большой двоичный объект с изображением и, возможно, некоторые метаданные об изображении (дата и время, может быть, идентификатор клиента, может быть, идентификатор сканирующего устройства). Это позволяет гибко обрабатывать все, что говорят юридические люди, необходимо. Вы можете повторно использовать идентификационный номер, если вам не нужно каждый раз снимать изображение; Вы все еще можете хранить информацию, если вы делаете. Вы по-прежнему выиграете от наличия отдельной таблицы для хранения данных (за исключением, возможно, с точки зрения пользовательского интерфейса ISQL - но это становится еще одной причиной для беспокойства по поводу использования ISQL). Одним из преимуществ является то, что если вы не хотите видеть изображения, вы можете просто оставить таблицу изображений вне запроса; вы случайно не выберете изображения, если выполните запрос SELECT *.
Ведение записей с отметкой времени
Мне неясно, требует ли закон от владельцев ломбардов сохранения копии оригинала распечатанного билета на момент совершения операции или достаточно ли электронной копии, которая может быть восстановлена.Возможно, вам придется рассмотреть возможность отметки времени в записях - см. PublicTimeStamp.org , чтобы узнать об одном из возможных способов сделать это.Это дало бы вам достаточно простые средства для самостоятельной записи того, что электронный документ был создан в определенное время.