PDA

View Full Version : ثبت اعمال تغییرات توسط کاربر روی جدول بانک اطلاعاتی



razeghaik1
چهارشنبه 01 مهر 1394, 13:46 عصر
سلام دوستان
من توی برنامم حدود 50 جدول دارم.کاربران توی جدول های عملیات های ثبت و ویرایش و حذف را انجام می دهند.
بهترین روش و استانداردترین روش برای اینکه من بدونم چه کاربری و در چه زمانی اعمال ذکر شده رو انجام داده چی هست؟
آیا ساخت یک جدول مجزا جهت نگه داشتن اطلاعات ثبت حذف و تغییرات و یا اینکه استفاده از یک سری فیلد در خود همان جدول برای نگه داشتن اطلاعات مربوط به ثبت و حذف و ویرایش کاربران؟
ممنون می شم اگه پاسخ بدین.
زبان: C#, ASP.NET

razeghaik1
چهارشنبه 01 مهر 1394, 18:42 عصر
کسی کمک نمیکنه؟

پیام حیاتی
چهارشنبه 01 مهر 1394, 20:17 عصر
سلام
بهترین روش و استاندارد رو نمیدونم ولی من اگر باشم دو سه تا فیلد دیگه به همان جداول اضافه می کردم مثل تاریخ و نام کاربری یا ایمیل کاربر که زمان ویرایش اطلاعات ثبت بشن.شاید از نظر نرمال سازی درست نباشه اما اطلاعات متمرکز تر هستند.

Mahmoud Zaad
چهارشنبه 01 مهر 1394, 20:29 عصر
سلام
بهترین روش و استاندارد رو نمیدونم ولی من اگر باشم دو سه تا فیلد دیگه به همان جداول اضافه می کردم مثل تاریخ و نام کاربری یا ایمیل کاربر که زمان ویرایش اطلاعات ثبت بشن.شاید از نظر نرمال سازی درست نباشه اما اطلاعات متمرکز تر هستند.

سلام
بستگی به نیازهای کاربران داره یعنی اگر نیازها در حد این باشه که مثلاً فلان رکورد توسط چه کسی ثبت یا ویرایش یا حذف شده، روش شما مناسب هست ولی اگر بخواهیم مثلاً از کارهای امروز یک کاربر گزارش بگیریم که چه عملیاتی در کل نرم افزار انجام داده چکار باید بکنیم؟ در این حالت به یک جدول مجزا برای اینکار نیاز داریم.

razeghaik1
پنج شنبه 02 مهر 1394, 00:31 صبح
ممنونم دوستای عزیز

fakhravari
پنج شنبه 02 مهر 1394, 01:51 صبح
یه جدول بزار- date- id - user id - table name سیو کن.

یا توی همه جدولات user id بزار

پیام حیاتی
پنج شنبه 02 مهر 1394, 12:39 عصر
سلام
بستگی به نیازهای کاربران داره یعنی اگر نیازها در حد این باشه که مثلاً فلان رکورد توسط چه کسی ثبت یا ویرایش یا حذف شده، روش شما مناسب هست ولی اگر بخواهیم مثلاً از کارهای امروز یک کاربر گزارش بگیریم که چه عملیاتی در کل نرم افزار انجام داده چکار باید بکنیم؟ در این حالت به یک جدول مجزا برای اینکار نیاز داریم.
این رو در کوئری select ی که می نویسیم نمی تونیم مشخص کنیم؟

razeghaik1
پنج شنبه 02 مهر 1394, 15:05 عصر
این رو در کوئری select ی که می نویسیم نمی تونیم مشخص کنیم؟
منظور دوستمون اینه که جدول مجزا ساخت باعث می شه بتونیم اطلاعات رو با جزییات بیشتری ببینیم.فرض کنید که یک ردیف داده توسط 5 نفر ویرایش می شوند.حالا اگر ما بخاهیم با استفاده از یک فیلد اطلاعات این چند نفر رو ذخیره کنیم نمی شه و یا فقط می تونیم آخرین تغییرات رو ببینیم.اما با یک جدول مجزا می شه جزییات رو بهتر نمایش داد.

Mahmoud Zaad
پنج شنبه 02 مهر 1394, 16:08 عصر
این رو در کوئری select ی که می نویسیم نمی تونیم مشخص کنیم؟
علاوه بر پست قبلی، اینجا تعداد جدول ها زیاده، ما هم نمی دونیم کاربر در چه جدولی تغییر ایجاد کرده که بریم از اون جدول Select کنیم بنابراین ناچاریم همه جدولها رو بگردیم که صحیح نیست. و استفاده از یک جدول برای log ضروری هست.