• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از cascade یا حذف منطقی
#1
دوباره سلام.
من یک سیستم ثبت مرخصی ایجاد کردم ؛ بدین ترتیب که مرخصی و ماموریت افراد بصورت ساعتی و روزانه ثبت میشه. بعد به روش desighn ی از قسمت phpmyadmin بین جداول ارتباط ایجاد کردم و از روش cascade برای حذف استفاده کردم تا اگه شخصی حذف شد ، مرخصی و ماموریت های مربوط به اون هم حذف بشه.
1. استفاده از روش desighn ی مشکلی ایجاد نمیکنه یا باید کدنویسی کرد؟
2. آیا این کاری که انجام دادم از لحاظ منطقی صحیحه ؟
آخه یه استادی بهم گفتن ،نباید هیچ وقت افراد و اطلاعاتشون رو به یک باره و کلی حذف کرد . حتی اگر فردی بعنوان مثال از شرکت اخراج بشه باید فقط اون فرد غیر فعال بشه و اطلاعات مربوط به اون باقی بمونه .
ولی من چون میدونم خیلی براشون این موارد اهمیت نداره ( با اینکه قسمت گزارشگیری هم داره) این کار رو انجام دادم.
میخوام بدونم تشخیص اینکه حذف بصورت منطقی انجام بگیره یا فیزیکی بستگی به چی داره ؟
گزارشگیری ؟ برنامه نویس ؟ سلیقه ای ؟
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط : vejmad
#2
من توی نرم افزار رزرواسیونم همچین کاری کرده بودم و حذف فیزیکی میکردم....اما بعد اومدم اصلاح کردم و یه فیلد وضعیت براش گذاشتم. اگه کسی حذف بشه یا یک بلیت حذف بشه فیلد وضعیت اون رو صفر میکنم. اینجوری توی گزارش گیری هامم مشکلی ایجاد نمیشه...ضمن اینکه همیشه هم امکان بازگشت و یا دسترسی به اطلاعات گذشته برام وجود داره
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط : pary_daryayi
#3
درسته . این روش خوبیه . مخصوصا وقتی یک فرم داریم که یکی از combobox های اون اطلاعاتش از یک جدول پر میشه . ولی میخواستم این رو هم بدونم که روش design ی و cascade کردن ، به جای کدنویسی مشکلی ایجاد نمیکنه ؟

و یه سوال دیگه الان به ذهنم رسید : اینکه ارتباط های جداول لزومی نداره که حتما از قسمت design از phpmyadmin صورت بگیره و مهم اینه که از لحاظ منطقی در کد نویسی ارتباط ها رو برقرار کنیم . درسته ؟
آرام باش ؛ توكل كن ؛ تفكر كن و سپس آستينها را بالا بزن , آنگاه دستان خداوند را خواهي ديد كه زودتر از تو دست به كار شده است.امام علي عليه السلام.
  پاسخ
تشکر شده توسط :
#4
بله...همین که منطقی ارتباط ایجاد کنین کافیه...
پیشنهاد میکنم کمی راجع به join کردن جداول سرچ کنین...توی همین فروم هم یه چیزایی بود
بنده طعم ايمان را نمي چشد، تا اينكه دريابد آنچه اتفاق نيفتاده است نمي شد كه اتفاق بيفتد؛و آنچه شده و اتفاق افتاده است,نمي شد كه نشود و اتفاق نيفتد....حضرت علي(ع)
  پاسخ
تشکر شده توسط : pary_daryayi
#5
استفاده از foreign key در طراحی دیتابیس خیلی مهمه. صحت اطلاعات شما رو بالا می بره. پس بهتره ازش استفاده کنید
  پاسخ
تشکر شده توسط :
#6
در مورد حذف هم واقعا بستگی به منطق و برنامه مورد نظر داره. یه سری چیزها اساسی هست حذفشون به اشتباه می تونه کل سیستم رو تحت تاثیر قرار بده. یا باید جلوی این حذفها رو گرفت یا با یه فیلد اضافه برای فلگ به عنوان حذف شده قرارش بدین. اما این مورد در مورد بعضی از موجودیت های سیستم مطرح میشه مثلا کاربر.
ولی استفاده از cascade در طراحی پایگاه داده به شدت توصیه میشه چون صحت اطلاعاتتون رو میبره بالا.
  پاسخ
تشکر شده توسط : pary_daryayi


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان