مشاهده نسخه کامل
: primary key , foreign key در mysql
mohammadahadi
22-04-2016, 10:37
سلام....
من دارم روی یه برنامه جاوا که نیاز به دیتابیس داره کار میکنم..برای دیتا بیس هم دارم mysql رو یاد میگیرم.
دو تا نکتس که درک کاملی ازشون ندارم و اینکه چطوی باید ازشون استفاده کنم.
foreign key و primary key/
من دو تا table دارم که با هم رابطه n به n دارن.اولا این key ها چی هستن و چطوری ازشون تو رابطه این دو تا table استفاده کنم؟
key یا کلید ضامن این هستند که شما در جدول سطر تکراری ندارید مثلا جدول شما شامل اطلاعات افراد هستش خوب امکان تشابه اسمی خیلی زیاده ولی اگه شما کد ملی رو به عنوان کلید اصلی معرفی کنید دیگه بطور خودکار اجازه درج شماره ملی تکراری رو ندارید این از کلید اصلی یا primary key
اما کلید خارجی یا foreign key چیه ؟ اگه کلید اصلیه یه جدول تو یه جدول دیگه باشه بهش میگن کلید خارجی کلید خارجی به طور معمول میتونه تکراری باشه خب پس کاربردش چیه؟
کاربردش اطمینان از اینه که حتمادر جدول دیگه اون کلید موجود باشه بزارید یه مثال بزنم
فرض کنیم یه جدول داریم که شامل اطلاعات افراد یه جدول شامل اطلاعات کتاب و یه جدول شامل اطلاعات کتاب های به امانت گرفته شده
شماره عضویت
نام
نام خانوادگی
1001
علی
احمدی
کد کتاب
نام کتاب
نویسنده
100
آموزش پایگاه داده
عین الله جعفر نژاد قمی!
101
آموزش برنامه نویسی
akpa125!!
102
یه کتاب خوب!
گمنام!!!
کلید اصلی
شماره عضویت
کد کتاب
تاریخ به امانت بردن
1
1001
101
1395/3/16
ستون اول هر جدول کلید اصلی هستش و در جدول آخر شماره عضویت و کد کتاب کلید فرعی یا خارجی حساب میشن
پس وظایف کلید خارجی
ارتباط بین جداول
اطمنان از صحت ورودی یعنی اگه ما کد عضویت رو اشتباه وارد بکنیم رکورد جدید ثبت نمیشه و خطا میده
خلاصه کردن جدول دیگه نیازی ب وارد کردن تمام اطلاعات کتاب یا عضو نیست
سلام....
من دارم روی یه برنامه جاوا که نیاز به دیتابیس داره کار میکنم..برای دیتا بیس هم دارم mysql رو یاد میگیرم.
دو تا نکتس که درک کاملی ازشون ندارم و اینکه چطوی باید ازشون استفاده کنم.
foreign key و primary key/
من دو تا table دارم که با هم رابطه n به n دارن.اولا این key ها چی هستن و چطوری ازشون تو رابطه این دو تا table استفاده کنم؟
قسمت دوم سوالت که چطوری استفاده کنم بر میگرده به مباحث تلفیق که بهتره تو اینترنت درموردش جستجو کنی
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.