DBA question

Все, что вы хотели знать о программизме, но боялись спросить.
Bagyr
Зритель
Сообщения: 7
Зарегистрирован: 05 май 2005, 02:58
Откуда: Россия, Томск
Контактная информация:

Сообщение Bagyr »

в таких случаях мы используем примерно такую систему во всех таблицах:
ID - ключ
А - специфическое поче
UserID - ид пользователя
... другие поля

если A == 0, это эта запить действительная
если A != 0, то A указывает на ID изменённой записи, которая действует или ссылается на следующую изменённую запись
если A == ID, то запись удалена
Yuri Dimant
Пользователь
Сообщения: 107
Зарегистрирован: 02 авг 2004, 22:00

DBA question

Сообщение Yuri Dimant »

StS

Я непонял ,что надо отслеживать дату из несколко таблиц, сорри.
Тогда однозначно, триггер убьет performance. Я бы наверно написал stored procedure под каждыи DML и вносил бы в таблицы
Для каждои таблицы заведи Audit_MyTable и все изменения по этои таблице храни там.
StS
Завсегдатай
Сообщения: 301
Зарегистрирован: 04 май 2005, 11:33

Сообщение StS »

Bagyr писал(а):в таких случаях мы используем примерно такую систему во всех таблицах:
ID - ключ
А - специфическое поче
UserID - ид пользователя
... другие поля

если A == 0, это эта запить действительная
если A != 0, то A указывает на ID изменённой записи, которая действует или ссылается на следующую изменённую запись
если A == ID, то запись удалена
О! А это мысль! Спасибо. Я только не понял когда изменённая запись ссылается на следующую изменённую запись. Я это так понимаю
При вставке записи
ID | A | UserID | Price
1 | 0 |CreatorOfRecord1 | 5.00
2 | 0 |CreatorOfRecord2 | 10.00
Первое изменение
1 | 0 |CreatorOfRecord1 | 5.00
2 | 0 |Changer1OfRecord2 | 7.00
3 | 2 |CreatorOfRecord2 | 10.00
Второе изменение
1 | 0 |CreatorOfRecord1 | 5.00
2 | 0 |Changer2OfRecord2 | 8.00
3 | 2 |CreatorOfRecord2 | 10.00
4 | 2 |Changer1OfRecord2 | 7.00
Удаление
1 | 0 |CreatorOfRecord1 | 5.00
2 | 2 |DeleterOfRecord2 | 8.00
3 | 2 |CreatorOfRecord2 | 10.00
4 | 2 |Changer1OfRecord2 | 7.00
5 | 2 |Changer2OfRecord2 | 8.00

На insert, delete, update пишем триггеры. Глухой безлунной ночью сносим в амбар всё где A!=0
Ответить