تتيح المفاتيح الخارجية لمسؤولي قاعدة البيانات التعرف بسهولة على الاتصالات المختلفة الموجودة داخل نظام إدارة قاعدة بيانات SQL.

يقوم SQL بإجراء عمليات حسابية على البيانات داخل نظام إدارة قاعدة البيانات. تحتوي قواعد البيانات هذه على جداول مختلفة يقوم كل منها بتخزين البيانات في كيان معين. إذا كانت لديك قاعدة بيانات لتأجير السيارات ، فسيكون الكيان (أو الجدول) في قاعدة البيانات عملاء (والذي سيخزن جميع البيانات الشخصية لكل عميل).

تحتوي جداول قاعدة البيانات هذه على صفوف وأعمدة ، حيث يستضيف كل صف سجلاً وكل عمود يحتوي على بيانات خاصة بالسمات.

في نظام إدارة قاعدة البيانات ، يجب أن يكون كل سجل (أو صف) فريدًا.

المفاتيح الأساسية

على الرغم من أن الشرط هو أن كل سجل في الجدول يجب أن يكون مميزًا ، إلا أن هذا ليس هو الحال دائمًا. متابعة مع مثال قاعدة بيانات تأجير السيارات ، إذا كانت قاعدة البيانات تحتوي على عميلين لكل منهما اسم "جون براون" ، من المتوقع أن يعيد جون براون سيارة مرسيدس-بنز لم يفعلها تأجير.

سيؤدي إنشاء مفتاح أساسي إلى تخفيف هذه المخاطر. في نظام إدارة قاعدة بيانات SQL ، يعد المفتاح الأساسي معرفًا فريدًا يميز سجلًا عن آخر.

instagram viewer

لذلك ، يجب أن يكون لكل سجل في نظام إدارة قاعدة بيانات SQL مفتاح أساسي.

استخدام المفاتيح الأساسية في قاعدة البيانات

لتضمين المفاتيح الأساسية في نظام إدارة قاعدة البيانات باستخدام SQL ، يمكنك ببساطة إضافتها كسمة عادية عند إنشاء جدول جديد. لذلك سيحتوي جدول العملاء على أربع سمات (أو أعمدة):

  • CarOwnerID (الذي سيخزن المفتاح الأساسي)
  • الاسم الأول
  • الكنية
  • رقم الهاتف

متعلق ب: كيفية إنشاء جدول في SQL

الآن سيكون لكل سجل عميل يدخل قاعدة البيانات رقم تعريف فريد ، بالإضافة إلى الاسم الأول والاسم الأخير ورقم الهاتف. رقم الهاتف ليس فريدًا بما يكفي ليكون مفتاحًا أساسيًا ، لأنه على الرغم من أنه فريد لشخص واحد في كل مرة ، يمكن لأي شخص تغيير رقمه بسهولة ، مما يعني أنه سيكون الآن ملكًا لشخص آخر.

سجل بمثال أساسي

/ * إنشاء رقم قياسي جديد في جدول العملاء * /
أدخل قيم العملاء
('0004',
'يوحنا'،
'بنى'،
'111-999-5555');

سيضيف رمز SQL أعلاه سجلًا جديدًا إلى الملف الموجود مسبقًا عملاء الطاولة. يوضح الجدول أدناه جدول العملاء الجديد مع سجلي John Brown.

المفتاح الخارجي

الآن لديك مفاتيح أساسية تميز بشكل فريد بين مستأجر سيارة وآخر. المشكلة الوحيدة هي أنه ، في قاعدة البيانات ، لا توجد علاقة حقيقية بين كل من جون براون والسيارة التي يستأجرها.

لذلك ، لا تزال إمكانية ارتكاب الخطأ قائمة. هذا هو المكان الذي تلعب فيه المفاتيح الخارجية. لا يمكن تحقيق استخدام مفتاح أساسي لحل مشكلة غموض الملكية إلا إذا تضاعف المفتاح الأساسي كمفتاح خارجي.

ما هو المفتاح الخارجي؟

في نظام إدارة قاعدة بيانات SQL ، المفتاح الخارجي هو معرف فريد أو مجموعة من المعرفات الفريدة التي تربط جدولين أو أكثر في قاعدة بيانات.

من بين أنظمة إدارة قواعد بيانات SQL الأربعة الموجودة ، فإن نظام إدارة قواعد البيانات العلائقية هو الأكثر شيوعًا. عند تحديد أي جدول في قاعدة البيانات العلائقية يجب أن يحتوي على مفتاح خارجي ، يجب عليك أولاً تحديد الجدول الذي هو الموضوع وأي كائن في علاقتهما.

بالعودة إلى قاعدة بيانات تأجير السيارات ، لربط كل عميل بالسيارة الصحيحة ، ستحتاج إلى فهم أن العميل (الموضوع) يستأجر سيارة (الكائن). لذلك ، يجب أن يكون المفتاح الخارجي في طاولة السيارات.

تختلف شفرة SQL التي تنشئ جدولاً بمفتاح خارجي قليلاً عن القاعدة.

إنشاء جدول بمفتاح خارجي مثال

/ * إنشاء جدول سيارات جديد في قاعدة بيانات تأجير السيارات * /
إنشاء سيارات الطاولة
(
رقم الترخيص varchar (30) NOT NULL PRIMARY KEY،
CarType varchar (30) NOT NULL ،
معرف العميل varchar (30) المراجع الرئيسية الأجنبية العملاء (معرف العميل)
);

كما ترى في الكود أعلاه ، يجب تحديد المفتاح الخارجي صراحةً على هذا النحو ، جنبًا إلى جنب مع إشارة إلى المفتاح الأساسي الذي يتم توصيله بالجدول الجديد.

متعلق ب: ورقة الغش في أوامر SQL الأساسية للمبتدئين

لإضافة سجل إلى الجدول الجديد ، ستحتاج إلى التأكد من أن القيمة الموجودة في حقل المفتاح الخارجي تطابق القيمة الموجودة في حقل المفتاح الأساسي للجدول الأصلي.

إضافة سجل بمفتاح خارجي مثال

/ * ينشئ رقما قياسيا جديدا في جدول السيارات * /
أدخل قيم السيارات
('100012',
"مرسيدس بنز" ،
'0004');

يقوم الكود أعلاه بإنشاء رقم قياسي جديد في ملف سيارات الجدول ، مما ينتج عنه النتيجة التالية.

طاولة سيارات

من الجدول أعلاه ، يمكنك تحديد جون براون الصحيح الذي يؤجر سيارة مرسيدس-بنز بواسطة المفتاح الأجنبي في السجل.

مفاتيح خارجية متقدمة

هناك طريقتان أخريان لاستخدام مفتاح خارجي في قاعدة بيانات.

إذا نظرت إلى الوراء في تعريف المفتاح الخارجي أعلاه ، فستجد أنه يشير إلى أن المفتاح الخارجي يمكن أن يكون معرّفًا فريدًا أو مجموعة من المعرفات الفريدة.

بالعودة إلى مثال قاعدة بيانات تأجير السيارات ، سترى أن إنشاء رقم قياسي جديد (لنفس السيارة) في كل مرة يستأجر فيها العميل تلك السيارة ، يتعارض مع الغرض من سيارات الطاولة. إذا كانت السيارات معروضة للبيع وتم بيعها لعميل واحد مرة واحدة ، فإن قاعدة البيانات الحالية مثالية ؛ ولكن نظرًا لأن السيارات مستأجرة ، فهناك طريقة أفضل لتمثيل هذه البيانات.

مفاتيح مركبة

يحتوي المفتاح المركب على معرّفين فريدين أو أكثر. في قاعدة البيانات العلائقية ، ستكون هناك حالات لا يمثل فيها استخدام مفتاح خارجي واحد العلاقات الموجودة داخل قاعدة البيانات هذه بشكل كافٍ.

في مثال تأجير السيارات ، فإن الطريقة الأكثر عملية هي إنشاء جدول جديد يخزن تفاصيل الإيجار. لكي تكون المعلومات الواردة في جدول تأجير السيارات مفيدة ، يجب أن تتصل بكل من جداول السيارة والعملاء.

إنشاء جدول بمفاتيح خارجية مركبة

/ * يُنشئ جدول CarRental في قاعدة بيانات تأجير السيارات * /
إنشاء جدول تأجير السيارات
(
تاريخ الإيجار ليس فارغًا ،
رقم الترخيص varchar (30) ليست مراجع رئيسية أجنبية فارغة (رقم الترخيص) ،
معرف العميل varchar (30) المراجع الرئيسية الأجنبية غير الفارغة العملاء (معرف العميل) ،
المفتاح الأساسي (تاريخ الإيجار ، رقم الترخيص ، معرف العميل)
);

الكود أعلاه يصور نقطة مهمة ؛ على الرغم من أن الجدول في قاعدة بيانات SQL يمكن أن يحتوي على أكثر من مفتاح خارجي واحد ، إلا أنه يمكن أن يحتوي على مفتاح أساسي واحد فقط. هذا لأنه يجب أن تكون هناك طريقة فريدة واحدة فقط لتعريف السجل.

من الضروري دمج جميع السمات الثلاث في الجدول للحصول على مفتاح فريد. يمكن للعميل استئجار أكثر من سيارة في نفس اليوم (لذلك هوية الزبون و تاريخ الإيجار ليس مزيجًا جيدًا) يمكن لأكثر من عميل أيضًا استئجار نفس السيارة في نفس اليوم (لذلك رقم الرخصة و تاريخ الإيجار ليس مزيجًا جيدًا).

ومع ذلك ، فإن إنشاء مفتاح مركب يخبر أي عميل وسيارة وفي أي يوم يصنع مفتاحًا فريدًا ممتازًا. يمثل هذا المفتاح الفريد كلاً من المفتاح الخارجي المركب والمفتاح الأساسي المركب.

مفاتيح أولية خارجية

أوه نعم ، تخرج المفاتيح الأساسية الأجنبية. على الرغم من عدم وجود اسم رسمي له ، يمكن أن يكون المفتاح الخارجي أيضًا مفتاحًا أساسيًا في نفس الجدول. يحدث هذا عندما تقوم بإنشاء جدول جديد يحتوي على بيانات متخصصة حول كيان موجود (أو سجل في جدول آخر).

لنفترض أن فريد (الذي يعمل في شركة تأجير السيارات) موجود في قاعدة بيانات الشركة أسفل جدول الموظفين. بعد بضع سنوات ، يصبح مشرفًا ويتم إضافته إلى طاولة المشرف.

فريد لا يزال موظفًا وسيظل لديه نفس رقم الهوية. إذن معرف موظف فريد موجود الآن في جدول المشرف كمفتاح خارجي والذي سيصبح أيضًا أساسيًا المفتاح في هذا الجدول (لأنه ليس من المنطقي إنشاء رقم هوية جديد لفريد الآن بعد أن أصبح مشرفًا).

يمكنك الآن تحديد المفاتيح الخارجية في قواعد بيانات SQL

تربط المفاتيح الخارجية جداول مختلفة داخل قاعدة بيانات SQL. من هذه المقالة ، يمكنك معرفة ما هو المفتاح الخارجي ، وكيف يعمل ، ولماذا من المهم أن يكون في قاعدة بيانات. يمكنك أيضًا فهم الأشكال الأساسية ، وحتى الأكثر تعقيدًا ، للمفاتيح الخارجية.

إذا كنت تعتقد أن المفاتيح الخارجية مثيرة للاهتمام ، فسيكون لديك يوم ميداني عندما تبدأ في استخدام عمليات المشروع والاختيار للاستعلام عن قواعد بيانات SQL الخاصة بك.

بريد إلكتروني
تعرف على كيفية استخدام عمليات المشروع والاختيار في SQL

تعرف على قواعد بيانات SQL العلائقية من خلال فهم عمليات المشروع والاختيار بهذه الأمثلة.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • برمجة
  • SQL
  • قاعدة البيانات
عن المؤلف
قاديشا كين (14 مقالة منشورة)

قاديشا كين مطور برامج متكامل وكاتب تقني / تقني. لديها قدرة مميزة على تبسيط بعض المفاهيم التكنولوجية الأكثر تعقيدًا ؛ إنتاج مادة يمكن لأي مبتدئ في مجال التكنولوجيا فهمها بسهولة. إنها شغوفة بالكتابة وتطوير البرامج الشيقة والسفر حول العالم (من خلال الأفلام الوثائقية).

المزيد من Kadeisha Kean

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.