رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نرمال سازی دیتابیس
#1
سلام
به تصویری که ضمیمه کردم ی نگا بندازید.
این تصویر داره نرمال سازی رو نشون میده.
حالا سوالی که برای من به وجود اومده اینه.
آیا اون جدول وسطی اضافه نیست؟
اکثر افراد برای نرمال سازی از یک جدول میانی استفاده میکنن که از دوتا فیلد تشکیل شده و کار اصلی این جدول فقط ایجا  ارتباط بین دو  جدول دیگر است.
خواستم ببینم آیا این کار درست است؟

اگه جدول وسطی رو حذف کنیم ارتباط این ها هم برقراره:
حالا چ نیازی هست که جدول واسط باشه.

من این رو تو اکثر سایت ها دیدم و برام سوال پیش اومد که پرسیدم.
مرسی


فایل‌های پیوست تصاویر بندانگشتی
   
پاسخ
تشکر شده توسط:
#2
بله کاملاً درسته. توی ارتباط چند به چند، نیاز به یک جدول واسط داریم که توسط اون بگیم یک رکورد از هر جدول، با کدوم رکوردها از جدول دیگه ارتباط داره. اگه جدول وسط رو حذف کنیم، چطور میخواین مشخص کنین که مشتری شماره 11 دو فاکتور به شماره 1001 و 1003 داره؟
پاسخ
تشکر شده توسط: olampiad
#3
در جدول فاکتورها یک فیلد اضافه میکنیم که id مشتری رو ذخیره میکنه.
پاسخ
تشکر شده توسط:
#4
خوب این مثالی که گذاشتین مثال خوبی برای ارتباط چند به چند نیست چون یک فاکتور فقط متعلق به یک مشتریه. حالا این حالت رو درنظر بگیرین:

جدول پستهای وبلاگ
جدول تگ ها

همونطور که میدونید، یک تگ میتونه روی چند پست ثبت بشه. یک پست هم میتونه چند تگ داشته باشه. اینجا دیگه نمیشه با یک فیلد قضیه رو حل کرد و باید حتماً ارتباط چند به چند رو ازطریق جدول واسط حل کنیم.
پاسخ
تشکر شده توسط: olampiad




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