مفتاح مركب أو مفتاح جديد فريد
-
18-09-2019 - |
سؤال
أريد أن أعرف التي ستكون الأفضل. أواجه جدول يقول إن وجود Col1 (هو مفتاح أجنبي FK1)، COL2 (هو أيضا Keyfk2). هل يمكنني استخدام PK AS (COL1، COL2) أو PK تم إنشاؤه حديثا. سيكون للاستعلامات FK1 في المعايير و FK2 في الانضمام. يرجى اقتراح لي أفضل واحد.
PS أنا أستخدم mysql
المحلول
إذا كان هذا هو جدول رابط كثير إلى كثير، استخدم فقط (col1, col2)
ك PK
.
مفاتيح أجنبية في MySQL
لمح InnoDB
وهو مؤشر نظمت، وهذا يعني أن الطاولة نفسها ستكون PRIMARY KEY
وسيتم طلب سجلاتها.
إذا كنت أيضا ذاهبون للبحث عن col2
واستخدام col1
في الانضمام، ستحتاج إلى إنشاء مؤشر ثانوي إضافي (col2)
. وبعد سيشمل هذا الفهرس ضمنا PRIMARY KEY
القيم كمؤشرات تسجيل، وبالتالي، ستكون في الواقع وفهرس (col2, col1, col2)
.
نصائح أخرى
كما قال آخرون - إذا كان هذا هو جدول ربط، فاستخدم Col1، Col2 كما PK. إذا كان من ناحية أخرى، يمكن ربط هذا الجدول أيضا، ثم قم بإنشاء مفتاح جديد خاص به. يمكنك أيضا وضع قيود فريدة على زوج Col1، Col2 زوج.