تعریف دیتابیس و ریلیشن ها

[rtl]

سلام. من جدول زیر رو طراحی کردم با موتور ایینو دیبی. و ریلشن ها رو هم زدم آیا درسته؟

اومدم گفتم پستهای مربوط به یوزر و طبقه بندی های مربوط به پست ها. دارم یه سیستم بلاگ ساده مینویسم یاد بگیرم.

یک یوزر میتواند چندین پست داشته باشد.

یک پست میتواند شامل چندین طبقه بندی باشد

[/rtl]

[font="Tahoma"][rtl]

به نظر من ارتباط بین طبقه بندی با پست باید چند به چند باشه ،چون یک طبقه بندی هم میتونه شامل چندین پست باشه

[/rtl][/font]

[rtl]سلام. بلی درست میگید این هم ممکنه. رعایت نکردم.[/rtl]

[rtl]یه موضوعی.

توی هر سه شکل شما یه فیلد post_id توی جدول category داری، این نباید برعکس باشه؟

یعنی یه فیلد category_id توی جدول post داشته باشی؟

[/rtl]

[rtl]درست میگید گزاشتم ولی اسمش رو اشتباهی نوشتم. [/rtl]

[rtl][font="Tahoma"]رابطه post و category همونطور که اشاره هم شد اشتباس و باید برعکس باشه.

یه در جدول post باید یه category_id داشته باشید که رابطه category به post یک به چنده (که شما برعکس زدید)

یعنی به ازای هر کتگوری، چند پست خواهید داشت.

اما در یک سناریوی متفاوت اگر میخواستید هر پست همزمان درون چندین کتگوری قرار بگیره اونوقت باید از یک جدول واسط استفاده میکردید که مثلاً این فیلدها رو داشت:

id

post_id

category_id

رابطه جدول پست با جدول واسط، یک به چند و رابطه جدول کتگوری با جدول واسط هم یک به چند میشد.

یعنی در این صورت کتگوری یک چیزی شبیه به مفهوم Tag میشد.

[/font][/rtl]