ترکیبی بودن Primarykey

پرسیده شده
فعالیت 1487 روز پیش
دیده شده 1023 بار
1

سلام

اگر Primarykey به صورت ترکیبی باشه در یک جدول  اون وقت Foreign Key چگونه انتخاب میشه؟؟؟؟

فایل پیوست

محمد حسین سخایی
محمد حسین سخایی

19 فروردین 99

9

مورد تایید استاد

حذف شده

سلام.

حالا من سناریویی که مد نظرتونه رو نمیدونم.

اگر هر فیلد به جدول متفاوت تعلق داره خب برای هر فیلد، کلید خارجی جدا تعیین میکنید. اگر همه فیلدها فقط به یک جدول اشاره میکنن، خب همه رو با هم بعنوان کلید خارجی در مقابل فیلدهای متناظرشون در جدول دیگه تعیین میکنید.

 

یه مثال بزنم، امتیاز دادن هر کاربر به پست ها  رو درنظر بگیریم.

یک جدول user داریم که فیلد user_id داره.

یک جدول post که فیلد post_id رو داره.

یک جدول vote داریم  که باید طوری طراحی بشه تا هر کاربر فقط یکبار بتونه به یک پست امتیاز بده.

پس جدول vote رو با دو فیلد vote_user_id و vote_user_id ایجاد میکنیم و هر دو فیلد رو pk(یا unique) میکنیم.

یک کلید خارجی برای vote_user_id به فیلد user_id از جدول user اضافه میکنیم.

و یک کلید خارجی برای vote_post_id به فیلد post_id از جدول post اضافه میکنیم.

 

برای مطالعه ی بیشتر میتونید به این لینک نگاه بندازید.

https://dev.mysql.com/doc/refman/8.0/en/create-table-foreign-keys.html

فایل پیوست

محسن موحد

توسط

محسن موحد

19 فروردین 99

2
حذف شده

اضافه بر توضیحات محسن در حالتی که ترکیبی از دو فیلد رو می خوای کلید اصلی کنی، یه سولوشن اینه که یه فیلدی مثل id اضاقه کنی و اونو کلید اصلی کنی و توی کدها این قضیه رو هندل کنی.

فایل پیوست

لقمان آوند

توسط

لقمان آوند

20 فروردین 99