logo
logo
تبلیغ کلیکی تاپ سایت 98

آموزش foreign key و کلید خارجی در SQL و MYSQL

آموزش foreign key و کلید خارجی در SQL و MYSQL
هدایت عباسی آموزش sql

آموزش ویدئویی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 و سپس جدول دوم و فیلد مشترک را قرار می دهیم.

CREATE TABLE Orders (
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 می توانیم یک ویژگی را به جدول اضافه کنیم.

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

حذف FOREIGN KEY

برای حذف Foreign key از دستور Alter table استفاده می کنیم.

در مثال زیر کلید خارجی را از جدول orders و با دستور DROP FOREIGN KEY  حذف کردیم.

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

در بخش آموزش sql می توانید تمام آموزش های مرتبط با sql و mysql و phpmyadmin را مشاهده کنید .

کلیک کنید : آموزش sql و mysql و phpmyadmin

این سایت بفروش می رسد با سئو عالی و بازدید بالا. تماس بگیرید

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

دوره ارز دیجیتال تاپ سایت 98
دوره های آموزشی دوره های آموزشی

نظرات کاربران

از دیدگاه مرتبط با موضوع استفاده نمایید.

از تبلیغ سایت یا شبکه اجتماعی خودداری فرمایید.

برای پاسخ گویی بهتر در سایت ثبت نام نمایید و سپس سوال خود را مطرح فرمایید.