اگر سیستم تون قسمت مالی یا امنیتی داره، شما باید یه جدولی واسه Log داشتین(همون مدیریت Session) خب این جدول حتما شامل فیلد های :
id,logDate,logTime,workType,workOnTable,userId
خواهد بود(این جدول برای کارهای دیتابیسی هستش نه واسه برنامه! من این دو تا رو جدا در نظر میگیرم).
خب حالا شما میتونیدیک جدول پایه واسه workType داشته باشید(مثل : شروع ویرایش سند، پایان ویرایش سند، بروز شدن سند و.....)و الان براحتی میتونید کوئری دلخواهتون رو از این جدول بکشید.
چون سیستم تون داده هاش خیلی مهمه توصیه میشه بیشتر از این باید Log درست کنید(از طریق تریگر و ...)
البته یه کم بیشتر رو دیتابیس کار کنید حتما به این نتیجه خواهید رسید که این محدودیت ها رو دیتابیس بزارید(از طریق Trigger و Constriant و Transaction isolation level و...)
مشکل: ممکنه بگید اگه سیستم یه مشکلی واسش پیش بیاد و به صورت abnormal بره بیرون اونوت لاگ درست شده ناقص میشه ، ولی خب می تونید با نوشتن یک کوئری که آیا userId کارش رو به صورت پیش بینی شده تموم کرده یا نه کنترل کنید و همچنین یک رکورد به لاگ خطاهای نرم افزار تون اضافه کنید.