آموزش foreign key و کلید خارجی در SQL و MYSQL
آموزش ویدئوییforeign key و کلید خارجی
دانلود رایگان فیلم و آموزش ویدئوییforeign key و کلید خارجی در SQL و MYSQL با ذکر چند مثال عملی
چنانچه مشکلی در اجرای فیلم دارید از مرورگر فایرفاکس استفاده نمایید یا روی لینک زیر کلیک نمایید.
مشاهده یا دانلود فیلم بالادر این بخش از آموزش SQL و MYSQL از تاپ سایت 98 قصد داریم به آموزش foreign key و کلید خارجی در SQL و MYSQL با ذکر چند مثال بپردازیم. این دستور یکی از دستورات مهم و پرکاربرد می باشد.
توجه :
مثال های زیر در phpmyadmin تست شده است.
حتما به حروف بزرگ و کوچک دقت نمایید. بعضی زبان های برنامه نویسی به حروف بزرگ و کوچک حساس می باشند.
کاربرد کلید خارجی
در این بخش قصد داریم با کاربرد کلید خارجی آشنا شویم. بگذارید با مثال این مسئله را توضیح دهیم.
ما دو جدول posts و category را داریم. دو جدول را در نظر بگیرید.
جدول اول post است که دارای فیلدهای id یا شماره است ، title یا عنوان موضوع ، category_id یا کد دسته است.
مقادیری را نیز برای آنها قرار داده ایم.
Category_id |
title |
id |
3 |
Html h1 |
1 |
2 |
Css display |
2 |
4 |
Windows task manager |
3 |
جدول دوم ، جدول دسته ها یا category است .
در این جدول ، دسته بندی ها را قرار داده ایم. مقادیری نیز قرار داده ایم.
Catname |
Category_id |
Jquery |
1 |
Css |
2 |
Html |
3 |
windows |
4 |
اگر بخواهیم اطلاعات جدول posts را نمایش دهیم ، کد دسته را مشخص میکند که برای کاربر سایت بی معنی می باشد ، ما باید نام دسته را نمایش دهیم.
راه حل چیست؟ راه حل این است که دو جدول را بهم مرتیط کرده و نام دسته را نمایش دهیم چیزی که در همه سایت ها اتفاق می افتد.
حال به بحث کلید خارجی یا foreign key می رسیم. با کلید خارجی این کار را انجام میدهیم وقتی دو جدول از طریق یک فیلد مشترک بهم پیوند می خوردند.
آموزش foreign key
حال ادامه بحث را پی می گیریم با دستور foreign key می توانیم کلید خارجی ایجاد کنیم.
کلید خارجی یک کلید است که برای پیوند دو جدول با هم استفاده می شود.
FOREIGN KEY یک فیلد (یا مجموعه ای از فیلد ها) در یک جدول است که در جدول دیگری به کلید اصلی (PRIMARY KEY) اشاره دارد.
مثلا category_id در جدول category ، کلید اصلی (PRIMARY KEY) است و در جدول posts به عنوان کلید خارجی محسوب می شود و دو جدول را بهم ربط می دهد.
مزیت FOREIGN KEY
مزیت FOREIGN KEY این است که داده های معتبر فقط وارد جدول می شود و از قرار دادن داده های نامعتبر در ستون کلید خارجی جلوگیری می کند ، زیرا باید یکی از مقادیر موجود در جدول مورد نظر باشد.
مثلا ما چند موضوع برای مقالات سایت داریم و نویسنده نمی تواند خارج از این دسته ها ، مقالاتی را وارد نماید.
نحوه ایجاد کلید خارجی در mysql
در این بخش قصد داریم نحوه ایجاد کلید خارجی در mysql را بیاموزیم.
در هنگام ساخت جدول توسط کوئری می توانیم کلید خارجی ایجاد کنیم. برای این کار مطابق مثال زیر از دستور FOREIGN KEY استفاده می کنیم.
برای این کار ابتدا FOREIGN KEY سپس نام فیلد مشترک (personID) سپس کلمه REFERENCES و سپس جدول دوم و فیلد مشترک را قرار می دهیم.
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);
نحوه ایجاد کلید خارجی با Alter table
در بخش زیر با نحوه ایجاد کلید خارجی با Alter table آشنا می شویم.
مثلا قصد داریم دو جدول orders و persons را بهم مرتبط کنیم برای این کار با Alter table و مشابه مثال زیر این کار را انجام میدهیم.
با ADD می توانیم یک ویژگی را به جدول اضافه کنیم.
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
حذف FOREIGN KEY
برای حذف Foreign key از دستور Alter table استفاده می کنیم.
در مثال زیر کلید خارجی را از جدول orders و با دستور DROP FOREIGN KEY حذف کردیم.
DROP FOREIGN KEY FK_PersonOrder;
در بخش آموزش sql می توانید تمام آموزش های مرتبط با sql و mysql و phpmyadmin را مشاهده کنید .
کلیک کنید : آموزش sql و mysql و phpmyadmin
نظرات کاربران
از دیدگاه مرتبط با موضوع استفاده نمایید.
از تبلیغ سایت یا شبکه اجتماعی خودداری فرمایید.
برای پاسخ گویی بهتر در سایت ثبت نام نمایید و سپس سوال خود را مطرح فرمایید.
اگر به دنبال کار پاره وقت هستید با ما تماس بگیرید.
اگر سوال یا نظری دارید در بخش کامنت ها بنویسید.اگر موضوع خاصی مد نظر شماست که در سایت موجود نیست در بخش کامنت ها بنویسید