مقالة نشرح فيها عن المفتاح الاساسي والمفتاح الاجنبي Sql primary key vs foreign key🔑واهمية كل منهما بقواعد بيانات السيكوال سيرفر

المفتاح الاساسي والمفتاح الاجنبي في قواعد البيانات primary key vs foreign key🔑

المفتاح الاساسي والمفتاح الاجنبي في قواعد البيانات primary key vs foreign key🔑

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

مقالة نشرح فيها عن ماهو المفتاح الاساسي والمفتاح الاجنبي Sql server primary key vs foreign key

 وماهي اهميتهم وفائدتهم بقاعدة البيانات السيكوال سيرفر 

 :primary key  المفتاح الاساسي

  هو المفتاح الفريد او الرئيسي الذي يميز الجدول والذي يتمثل بالحقل الذي لايمكن ان تتكرر قيمته ابدا ولايمكن ان يكون فارغ حيث ان للجدول لايمكن ان يكون له غير مفتاح رئيسي واحد , فائدته بعمليات الحذف والبحث والتعديل للقيود بالجدول ويمكن لن نربط جدول بجدول اخر وعمل علاقة بينهما .

المفتاح الاجنبي Foreign Key

  هو المفتاح يكون رئيسي بالجدول الاول وفرعي بالجدول الثاني والذي يمثل العلاقة بين الجدولين فمثلا لدينا جدول البلدان وهو الCountry  وجدول المدن  ال City التي داخل هذا الCountry  لذا نضع المفتاح الرئيسي للجدول الاول وهو جدول البلدان وهو حقل country_id وكذلك نضع city_id المفتاح الرئيسي لجدول المدن , كما موضح بالصورة التالية :

 

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

 

لكي نعمل علاقة بين الجدولين لكي نستطيع ان نعرض البلدان ومدنها او المدن التابعة لتلك البلدان لابد ان نضع علاقه فيما بين الجدولين بان نضع حقل بجدول المدن وهو  المفتاح الرئيسي  country_id وكما موضح بالصورة التالية :
المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

الان سنوضح كيفية عمل اساسيات العلاقات بجداول قاعدة بيانات السيكوال سيرفر :

    * ننشا جدول جديد بان نقف عل قاعدة البيانات وعمل كلك يمين بمؤشر الماوس  Add Table .

      * نبداء باضافة اول حقل وهو حقل Country_id وهوالمفتاح الرئيسي لجدول البلدان الCountry .

         وكما موضح بالصورة التالية :

 

 


المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑
وبعده F4 وتحديد identity Column نحدد فيه اسم الحقل وهو الcountry_id  وكما موضح بالصورة التالية :

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

ثم نكمل بقية الجدول ونقوم بحفظه باسم Country وكما بالصورة التالية :

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

الان نقوم بانشاء جدول بقاعدة البيانات بعمل جدول المدن  City وكما موضح بالصورة التالية :

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

الان ماذا عن العلاقات بين الجداول في قواعد البيانات

ان الجدولين اللذين تم انشاؤهما غير مرتبطين باي علاقة فيما بينهم اي ان كل جدول منفصل عن الجدول الاخر اي انني لااستطيع ان اجلب مدن دوله معينة وذلك   . لانهم  غير مربوطين مع بعض  

لكي نقوم بربطهم بعلاقة علينا انشاء حقل  بجدول الCity i هو نفس اسم Country_id الموجود كمفتاح رئيسي بجدول الدول هنا سيكون مفتاح اجنبي بجدول المدن وكما موضح بالصورة التالية :
المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

الان نقوم بحفظ الجدول بهذا نكون قد عملنا العلاقه بين الجدولين التي ستتكون اوتوماتيكلي لاننا عملنا المفتاح الاجنبي بنفس الاسم  والمواصفات للمفتاح الرئيسي الخاص بجدول الدول . والان اي استفسار للمدن التابعة لدوله معينه سيكون جاهز وطبعا بعد ملئ البيانات للدول والمدن .وكما موضح بالصورة التالية :

Sql edit top rows

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

ادخل الدول مثلا دولة مصر والسعودية كما موضح بالصورة التالية :

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

الان ندخل بيانات جدول المدن نضيف اسم المدينة ورقم الدولة لها هنا رقم الدوله هو المفتاح الاجنبي والمؤشر عليه بالسهم الاحمر من اجل الربط بين الجدولين  وكما موضح بالصورة التالية :

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

وبعد عمل ال Sql view بين الجدولين او جملة الاستعلام سيكون المخرج كما بالصورة التالية :

عرض البيانات من الجداول في قاعدة البيانات

المفتاح الاساسي والمفتاح الاجنبي primary key vs foreign key🔑

 

 

نشكرك علي المشاركة