powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / концепцию отслеживания изменеий в базе (Pdox)
14 сообщений из 14, страница 1 из 1
концепцию отслеживания изменеий в базе (Pdox)
    #32165687
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HI господа программёры

предложите концепцию отслеживания изменеий в базе (Pdox) пользователями...
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32165699
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пункт меню (кнопка ToolBar) Refresh.
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32165702
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал так:
две таблы, одна рабочая, 2 версии данных
ну и при изменении в первой старую версию записи копировал бы во 2 таблу, а в 1 табле оставлял новую версию с признаком выполненной над ней операции (изменение, удаление, создание), и указывалбы дату и время операции. Ну чтото типа такого.
да еще можешь почитать про версионность данных в любой РСУБД. К примеру на ibase.ru. Может тоже натолкнет на какую ни будь мысль.
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32165706
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или в одной табле, с признаком что старая версия записи.

Или чето не то понял?
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32166072
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет Voha

Мысль конечно интересная но база тогда раздуется, это же она почти в два раза больше будет....
Мне просто нужно отследить последнего пользователя кто с записями работал, кто последний, заводил, изменял, удолял...и т.п.
Кто а что и на что заменил не так важно... (хотя конечно заманчиво), главное отследить саботера и наказать.
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32166688
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гспода у когото наверняка такие вещи реализованы, поделитесь исходниками в целях повышения образованности...
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32166710
это ведь фактически метаданные ...вот и работать с ними надо соответственно...
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32166745
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слышал есть проги-шпионы, которые ведут протокол действий пользователя(отслеживают события клавы, миши и тп) может те такое поможет.
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32167729
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже что исходники ни кто не вывалит...
что ж НЕ СУДЬБА!!!!
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32167797
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хорошо господа
Как узнать что пользователь совершил какоето действие над данными???
Как узнать какое??
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32167860
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под парадоксом - никак.
Общий принцип построения аудита действий юзера примерно такой.

Каждому юзеру призваивается уникальный идентификатор. Этот идентификатор подгружается или из таблицы, или из текстового файла в Privat директории. В таблицу данных добавляется поле UserID.
Когда юзер добавляет запись в таблицу, в нее всегда должен записываться его ID. Если добавление записи идет из DBControls, то это присвоение можно сделать в BeforInsert.

Создаем таблу аудита. В нее, кроме полей таблицы данных добавляем поля UserID,cUserID и датувремя.

При изменении данных записываем в нее изменяемую строку с неизмененными данными, в поле cUserID - ID юзера изменившего данные и текушее время. Если изменение записи идет из DBControls, то эту вставку можно сделать в BeforPost.

При удалении записи записываем в таблу аудита удалаяемую строку, в поле cUserID - ID юзера удалившего данные и текушее время. Если удаление записи идет из DBControls, то эту вставку можно сделать в BeforDelete.

Таким образом мы всегда знаем: кто создал запись, кто удалял записи и как запись изменялась.
Вообще-то в серьезной проге изменение, а особенно удаление строк - событие чрезвычайное. И применятся обычно применятся только для исправления ошибок. Вместо удаления лучше помечать строку как недействительную. И, возможно, указывать дату с которой эта недействительность началась. Например, в проге по учету основных средств, списаные ОС никуда не удаляются, а ставится дата списания. Аналогично, в кадровской программе ставится дата увольнения
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32168020
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет Cat2
Ты снова как обычно ставишь жирную точку....
Основной принцип я так и представлял, только считал что есть некий метод позволяющий описать все деяствия пользователя, и при совершении какого либо из них прога индентифицирует какой пользователь, что именно сделал, и пешет это в аудит.
А судя по изложеной выше теории можно тольно на на определенные события в определенных таблицах засунуть соответствующие действия и все???!!!...
Я правильно понял???...
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32168064
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все правильно.
Возможность реализации такого механизма присутствует только в клиент-серверных базах. Там есть тригера которые позволяют отслеживать действия пользователей. Как минимум - вставку/изменение/удаление записей. В БД прямого доступа этого не может быть по определению. Клиент таких БД САМ делает изменения в таблицах и, следовательно, может использовать только СВОИ события. Что является нормальным способом работы.
...
Рейтинг: 0 / 0
концепцию отслеживания изменеий в базе (Pdox)
    #32168115
balbes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Cat2

исчерпывающий ответ...
СПАСИБО ОГРОМНОЕ ЗА СОТРУДНИЧЕСТВО!!...
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / концепцию отслеживания изменеий в базе (Pdox)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]