PDA

View Full Version : حرفه ای: relation در sql



amirepsilon
پنج شنبه 25 آذر 1389, 12:34 عصر
سلام
دوستان در phpmyadmin قسمتی هست برای relation که اجازه میده شما جداول و فیلدذ ها رو بهم مرتبط کنیم
لطفا کمی در مورد کارایی این توضیح بدید و نحوه استفاده
ممنون

UnnamE
پنج شنبه 25 آذر 1389, 14:23 عصر
فرض كن يه جدول داري به نام categories كه دسته بندي هاي محصول رو توش ميزاري و اين هم هم ستون هاش :
ID, tittle
خب حالا يه جدول ديگه هم داري به نام sub_category كه زير دسته هاي توش ذخيره ميشه و اين هم ستون هاش
ID, title, parent_id
خب واسه اينكه مشخص كني هر كدوم از زير دسته ها ميربوط به كدوم دسته هست
مثلا دسته Mobileبايد زير دسته ي Electronic باشه
پس اگه ID دسته Electronic 2 باشه براي اينكه مشخص بشه كه mobile زير دسته اش هست بايد parent_id موبايل رو 2 بزاريم كه مشخص بشه زير دسته الكترونيك هست....

البته SQL SERVER Microsoft تو قسمت relations خيلي قوي تر ميزنه و كارش اوكي هست

narsic
پنج شنبه 25 آذر 1389, 16:17 عصر
با سلام
در تکمیل صحبت دوستمون باید بگم کلا ارتباط فیلدهای جداول مختلف رو Ralation میگن .

hese-gharib
شنبه 27 آذر 1389, 07:43 صبح
سلام دوستان.

توی MySql چطور می تونم بین جداول ارتباط برقرار کنم؟

فرض کنید من دو تا جدول دارم. یکی به نام "دانشجو" و دیگری به نام "تخصیص کلاس به دانشجو".

توی هر دو جدول هم فیلد نام دانشجو وجود داره. من چطور می تونم ارتباط بین این دو جدول برقرار کنم؟ تا وقتی داده در جدول "تخصیص کلاس به دانشجو" وارد می کنم، فیلد "نام دانشجو" رو صفر (0) نذاره براش.

خوشحال می شم اگه کسی بتونه کمکم کنه.

با تشکر.

narsic
یک شنبه 28 آذر 1389, 14:23 عصر
سلام دوستان.

توی MySql چطور می تونم بین جداول ارتباط برقرار کنم؟

فرض کنید من دو تا جدول دارم. یکی به نام "دانشجو" و دیگری به نام "تخصیص کلاس به دانشجو".

توی هر دو جدول هم فیلد نام دانشجو وجود داره. من چطور می تونم ارتباط بین این دو جدول برقرار کنم؟ تا وقتی داده در جدول "تخصیص کلاس به دانشجو" وارد می کنم، فیلد "نام دانشجو" رو صفر (0) نذاره براش.

خوشحال می شم اگه کسی بتونه کمکم کنه.

با تشکر.

با سلام
اگه میخواید نام دانشجو رو هم در بانک ذخیره کنید باید هنگام ثبت درس نام اون رو هم در جدول ذخیره کنید .
اما من پیشنهاد میکنم به جای ذخیره نام دانشجو یک ID برای اون تعریف کنید با این کار هم در زمان جستجو سریعتر کار انجام میشه، هم این که مقدار کم تری فضا مورد استفاده قرار میگیره و... البته دلایل بسیار زیاد و متعددی برای این کار وجود دارد .
موفق باشید