سلام

من یک جدول دارم و ممکنه توسط کاربر و به دفعات تغییر کنه. اما می خوام تغییرات را با نام کاربر نگهداری کنم. برای مثال کاربر user1 چه تغییراتی داده و کاربر user2 چه تغییراتی داده. آنچه که به ذهن من میرسه و از تولید جداول اضافه جلوگیری میکنه روشی هست که در زیر اشاره میکنم:

من یک جدول با نام table دارم که با جدول کاربر ارتباط داره
در جدول table یک ستون با نام parentID دارم و در مراحل بعدی مقدار دهی میشه
حالا هر زمان که کاربر یک ردیف را update کند، برنامه قبل از بروز رسانی اطلاعات جدید، ابتدا داده های قبلی را مجددا در همان جدول insert می کند و مقدار parentID را معادل شماره ردیف فعالی قرار میدهد.
انجام مرحله قبلی باعث میشه که اولا اگر ردیف مورد نظر اگر در جداول دیگر استفاده شده باشد، همچنان وجود داشته و تغییرات جدید را هم دارد. ولی ردیف جدید که parentID دارد عملا در دسترس کاربر نیست.
علت این روش هم اینه که در برنامه های ساخته شده (Web, Windows و ...) برای نمایش تغییرات، دیگر نیاز به ایجاد دستورات جدید نباشد و همان دستوراتی که اطلاعات table را نمایش می دهند می تواند با ارسال پارامتر parentID اطلاعات قبلی آن رکورد را دریافت کنند.

اگر الگوی بهتری برای انجام این کار دارید ممنون میشم راهنمایی کنید.