PDA

View Full Version : گفتگو: یه سوال فنی درمورد پاکسازی اطلاعات و شاید وجود راههای دیگر...



tik_tak
یک شنبه 03 شهریور 1387, 20:57 عصر
بعضی از جداول تو برنامه بیشتر درگیره ورود اطلاعت هستند نسبت به جدولای دیگه شاید اونا تو طول روز 50 تا 100 ورودی داشته باشند ولی جداول دیگه 1 یا 2 یا اینکه اولش مثلا 1000 تا رکورد توشون قرار میگیره ولی رنج این رکورد تقریبا ثابته و اگرم اینزرت داشته باشه در حد 3 تا رکورد اونم روزانه یعنی تدریجی و خیلی کم اینزرت داره !


همه اینارو گفتم تا اینو بگم :


مثلا تو تعاونی داریم :
----------------------------------------------------------------------------
جدول فروش
----------------------------------------------------------------------------
کد فروش
کد کالا
تعداد
کد مشتری
قیمت
تاریخ
صتدوق
و
.
.


---------------------------------------------------------------------------
جدول اعتبار مالی اعضا
---------------------------------------------------------------------------
کد عضو
کد فروش
توضیحات
---------------------------------------------------------------------------
خب این طراحی ساده ست
تصور کنید یک سال از این برنامه میگذره !
تو این یه سال فروشهای زیادی صورت گرفته
تو شرکت تعاونی مشتری ها 2 دسته اند :
عادی و اعضا
اطلاعات عادی ها لزوم به ثبت طولانی ندارد یعنی بعد مدت یه سال واسه اینکه سرعت برنامه کند میشه لازم به پاکسازی این اطلاعات و یا بک آپ گیری و دیلیت . البته این تصور منه
شاید راه دیگه ایه
ولی اعتبار مالی اعضا لازم تو سالهای متمادی ثبت بمونه !


خب اگه اطلاعات جدول فروش دیلیت بشه اطلاعات جدول اعتبارمالی اعضام از بین رفته !!!


اما راه دومی که به نطرم رسیده و شایدم نادرسته اینه :
که جدول اعتبار مالی اعضا رو اینجوری طراحی کنیم :


کد عضو
کد کالا
تعداد
قیمت
تاریخ



اینجوری تو این جدول فیلدای جدول فروش تکرار میشن ؟!ولی در عوض اطلاعات توش ثبت میمونه و اگه بلایی سر جدول فروش بیاد این چیزیش نمیشه !



نمیدونم کدوم درسته


ممنون میشم

رضا عربلو
یک شنبه 03 شهریور 1387, 21:59 عصر
چرا بایستی اطلاعات حذف شوند. شما با برقرای relation می توانید از حذف آنها جلوگیری کنید.

tik_tak
یک شنبه 03 شهریور 1387, 22:10 عصر
خب با این همه ورود اطلاعات تو1 سال پایگاه داد پر میشه این کار سرعت و پایین نمیاره ؟
یعنی هیش کی اینکارو نمیکنه ؟؟ منظورم حذفه

رضا جاسبی
یک شنبه 03 شهریور 1387, 22:43 عصر
البته امکان حذف همیشه وجود داره. اما حجم اطلاعات شما اونقدر زیاد نیست اگر اشتباه نکنم. روزی 100 تا رکورد در سال میشه 30000 تا رکورد که اگر جداول رو درست انتخاب کرده باشید و کوئری ها هم درست باشن خیلی مشکل ایجاد نمیکنه.
اما در مورد حذف: اینطور که متوجه شدم شما یه سری اطلاعات فروش داری که بعضیهاش رو می خواهی نگه داری و بعضی رو نه. فکر می کنم اون فیلد کد مشتری کلید این سواله. نمی دونم لینکش رو چطوری دارید اما اگر برای اعضای عادی یک مشتری (مثلا به نام مشتری متفرقه) دارید و کد اون رو میذارید و یا اصلا هیچی نمیذارید و null هست با یک کوئری میشه فقط این سطرها رو حذف کرد:


Delete From Sale Where CustomerCode = Value
یا
Delete From Sale Where CustomerCode is null

tik_tak
دوشنبه 04 شهریور 1387, 09:41 صبح
خب اون 100 تا یه مثال بود
بستگی داره به اون فروشگاهمون که چقد مشتری داشته باشه تو طول روز !
خب ممکنه این برنامه رو یه فروشگاه کوچیک استفاده کنه
و شایدم یه فروشگاه بزرگ !
باید فکر همه جاشو کرد تا بعدا تو استفاده ازش مشکلی پیش نیاد !
درســـــــــــــته ؟


اگه کاربر حس کنه که بدلیل ورود زیاد اطلاعات کار با جداول کند پیش میره خب تنها فکری که به نظرش میرسه اینه که اطلاعاتی رو که نیاز نداره دیلیت کنه واگه محتاطم باشه اول بک آپ بعد دیلیت


یه سوال : فول شدن جدولایه پایگاه مون تو سرعت برنامه تاثیر داره یا نه ؟



آقای جاسبی این راهی ام که شما گفتین راهه خوبیه یعنی پاکسازی فقط رویه فاکتورایه مشتری های عادی باشه ، !

پس جدول اعتبار مالی اعضا رو اینجوری طراحی نکنم :چن دارای فیلدایه تکراریه جدول فروشه درسته ؟
کد عضو
کد کالا
تعداد
قیمت
تاریخ



باتشکر

tik_tak
دوشنبه 04 شهریور 1387, 23:33 عصر
منتظرم...............

رضا جاسبی
چهارشنبه 06 شهریور 1387, 01:34 صبح
جزئیات طراحی رو نمی دونم. ولی به نظر من هم تکراریه و نیازی بهش نیست.