![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
минимакс
Участник клуба
Регистрация: 11.06.2008
Сообщений: 1,143
|
![]()
Добрый день, уважаемые форумчане. Может быть подобная тема и была, - честно искал, но найти не смог.
Вопрос. Есть база данных Access в связке с Дельфи. Мне нужно организовать историю: - ввода всех элементов - текстовые поля, ричэдиты, списки и прочее - изменение столбцов таблиц базы данных с указанием времени и кто и когда и что делал - история работы пользователей. Я вижу это пока так. История ввода элементов для однотипных элементов завести таблицу, типа THistEdit (HEid / HEDatetimestart / HENameEdit / HEUser / HEText / HEComment ) То есть хранить время, имя элемента, пользователя и значения введенного поля, а потом выбирать по запросу. История работы пользователей - похожая таблица, как для элементов - только для пользователя: "дата, когда вошел, вышел и что-нибудь еще." А вот с историей изменения столбцов в таблицах сложнее. Я думаю сделать так - код - имя таблицы - имя стобца - дата время изменения - значение А потом делать выборку по паре таблца столбец. Второй вариант. Создавать еще одну таблицу, например, "Работники" - "ИстоиряРаботники" и в нее писать все изменения, по приведенному выше типу только по таблице "Работники". То есть - множить число таблиц истории соответственно числу рабочих таблиц. Эффективно ли это? Какие еще есть варианты? Подскажите, возможно есть какие-нибудь стандартные средства, А я не знаю? Спасибо.
и это пройдет...
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 17.09.2010
Сообщений: 229
|
![]()
Если сделать одну таблицу изменений в БД и повесить заполнение на триггеры, то со временем таблица может разрастись до неимоверных размеров. Если создавать для каждой таблицы еще одну таблицу дублер, то изменении структуры таблицы можно забыть изменить структуру таблицы дублера. В первом случае сразу видно что изменили. Во втором на определенный момент времени легче получить полную информацию. Вообщем наверно надо смотреть как часто меняются данные, структура и тд и тп. Я б наверно сделал одну, но с возможностью переносить "старые" данные в архивную таблицу.
Правильно заданный вопрос - половина ответа!
|
![]() |
![]() |
![]() |
#3 |
минимакс
Участник клуба
Регистрация: 11.06.2008
Сообщений: 1,143
|
![]()
Спасибо, понял совет.
и это пройдет...
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
Как организовать "F5(обновить)" для папки? | Гражданин.РФ | Помощь студентам | 1 | 30.05.2010 16:15 |
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. | Каравай | Microsoft Office Excel | 13 | 17.02.2010 09:53 |
"как в БД (Access) организовать поиск?" | Принцесса | Помощь студентам | 2 | 16.12.2009 14:36 |
Как добавить "значение по умолчанию" в базе Access? | bafy | БД в Delphi | 6 | 13.02.2009 12:29 |