PDA

View Full Version : سوال: کلید خارجی چیه و چطور می شه ازش استفاده کرد؟



i-php-i
چهارشنبه 14 خرداد 1393, 03:14 صبح
برای محصولات فروشگاه باید توضیحاتی درج بشه که این توضیحات اختیاریه و می خوام توی یه جدول جداگانه ذخیره کنم. تا اونجاکه می دونم می شه با کلید خارجی این دو جدول رو به هم متصل کرد اما دقیقا نمی دونم به چه صورت انجام می شه. لطفا در این مورد راهنمایی کنید.

omidabedi
چهارشنبه 14 خرداد 1393, 11:13 صبح
در phpmyadmin در table توضیحات از tabه structure زیر جدول یه لینک هست بنام relation view از اونجا میتونی فیلدی که نیاز داری رو به هر فیلدی از دیگر tableها در صورتی که index باشن ربط بدی

کلا هر فیلدی که میخوای توی relation ها ازش استفاده کنی اولش باید index بشن

برای selectهم باید از join در کوئریت استفاده کنی

برای insert هم در table توضیحات وقتی میخوای insert کنی باید حتما id یا هر فیلد دیگه ای که میخوای توش insert کنی اطلاعات مشابه فیلدی باشه که باهاش رابطه داره

kavayo
چهارشنبه 14 خرداد 1393, 11:22 صبح
کلید خارجی یعنی کلید اصلی یک جدول و فیلد معمولی جدول دیگر که مقدار ان میتواند null باشد مثلا در اینجا کلید جدول محصولات میتواند به عنوان کلید خارجی جدول نظرات باشد یعنی برای یک محصول ممکن است چندین توضیح و کامنت وجود داشته باشد .و اگر از phpmyaddmin استفاده میکنید بایستی فیلد کلید خارجی رو index بزارید و سپس از قسمت relation اطلاعات مورد نظر را تکمیل کنید

i-php-i
چهارشنبه 14 خرداد 1393, 16:27 عصر
اگر دو جدول رو به هم مرتبط کنیم، موقع حذف یکی از جدولها جدول دوم هم حذف می شه؟ منظورتون از اینکه موقع insert باید داده ها با هم شبیه باشن چیه؟ منظورتون نوع فیلدهای دو جدول هست یا مقدار کلیدها؟

aalmair
چهارشنبه 14 خرداد 1393, 16:39 عصر
برو یکم کتاب بخون ! چرا می خواهی عجله ای چیزی بفهمی
A (https://goo.gl/1lXQhj)

i-php-i
چهارشنبه 14 خرداد 1393, 19:07 عصر
چه کتابی سراغ دارید؟ اگه باشه چرا نخونم! فارسی باشه بهتره

kavayo
چهارشنبه 14 خرداد 1393, 19:07 عصر
موقع حذف یک سطر از جدول اول اگه با جدول دوم ارتباط داشته باشه بهت میگه سطری رو که میخوای حذف کنی کلیدش کلید خارجی در جدول دوم می باشد بنابراین یا باید سطر یا سطر های متناظر با جدول دوم رو هم حذف کنی یا مقدار کلید خارجی جدول دوم رو null قرار بدی و یا اینکه از حذف صرف نظر کنی

i-php-i
چهارشنبه 14 خرداد 1393, 21:06 عصر
جدولهای رابطه ای فقط جلوی حذف سطرهای متناظر جلوگیری می کنه؟ ویژگی دیگه ای نداره؟

aalmair
چهارشنبه 14 خرداد 1393, 21:26 عصر
می تونی از برنامه mysql query browser استفاده کنی که تحت ویندوز است و بهتر از برنامه phpmyadmin است و رابطه ها خیلی بهتر تعریف می شه

http://downloads.mysql.com/archives/query/

MMSHFE
پنج شنبه 15 خرداد 1393, 17:05 عصر
جدولهای رابطه ای فقط جلوی حذف سطرهای متناظر جلوگیری می کنه؟ ویژگی دیگه ای نداره؟

میشه جلوی حذف رو گرفت، میشه جلوی درج مقدار غیرمجاز رو گرفت. میشه موقع حذف، رکوردهای مرتبط در جدول وابسته رو هم حذف کرد، میشه موقع حذف، فیلد مربوطه در کلید خارجی جدول وابسته رو NULL کرد. بهتره مستندات خود سایت MySQL رو درمورد کلیدهای خارجی بیشتر مطالعه کنید.

i-php-i
شنبه 17 خرداد 1393, 13:53 عصر
بهتره مستندات خود سایت MySQL رو درمورد کلیدهای خارجی بیشتر مطالعه کنید.
اتفاقا امروز می خواستم منوال mysql رو دانلود کنم ولی اجازه دانلود نمی داد! فکر کنم مارو تحریم کردن!

MMSHFE
شنبه 17 خرداد 1393, 14:02 عصر
باید با پراکسی وارد بشین. شرکت اوراکل ایران رو تحریم کرده.