"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تنفيذ المفاتيح الخارجية المركبة في MySQL؟

كيفية تنفيذ المفاتيح الخارجية المركبة في MySQL؟

تم النشر بتاريخ 2024-12-26
تصفح:385

How to Implement Composite Foreign Keys in MySQL?

تنفيذ المفاتيح الخارجية المركبة في SQL

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

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

إليك الخطوات حول كيفية إنشاء تعيين المفتاح الخارجي:

-- Alter the 'group' table to add the composite foreign key columns
ALTER TABLE `group`
ADD COLUMN `beggingTime` time NOT NULL,
ADD COLUMN `day` varchar(8) NOT NULL,
ADD COLUMN `tutorId` int(3) NOT NULL;

-- Add the foreign key constraint
ALTER TABLE `group`
ADD FOREIGN KEY (`beggingTime`, `day`, `tutorId`)
REFERENCES `tutorial`(`beggingTime`, `day`, `tutorId`);

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

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3