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

برای مثال در یه ویدیو کلوپ رابطه بین فروشنده (Admin ) با فیلم چیه ؟
فروشنده فیلم ها را خریداری میکند
مشکل شما احتمالا این هست که به اشتباه فروشنده Admin رو جز موجودیت‌ها به شمار آوردید. در یک ویدیو کلوپ یک فروشنده وجود داره. لازم نیست که این یک تک فروشنده به صورت یک موجودیت مدل بشه. همون طور که لازم نیست خود ویدیو کلوپ به صورت یک موجودیت جدا مدل بشه.

اما اگر شما می‌خواهید ویدیوکلوپی رو مدل کنید که توی اون بیشتر از یک فروشنده وجود داره، باز هم رابطه‌ی مستقیمی بین فیلم و فروشنده وجود نداره. اینجا مشکل شما این هست که تمام موجودیت‌ها رو به صورت کامل استخراج نکردید.
شما احتمالا فراموش کردید که به جز موجودیت‌هایی که به صورت فیزیکی وجود دارند ممکنه که یک تعداد موجودیت در مدل ER شما وجود داشته باشه که وجود فیزیکی ندارند و فقط یک مفهوم هستند.

توی مثال شما، به نظر می‌رسه که فراموش کردید که یک موجودیت به اسم «فروش» یا «فاکتور فروش» یا ... وجود داره که بین موجودیت‌های فروشنده و فیلم قرار میگیره. این موجودیت هم مثل هر موجودیت دیگه یک سری خصوصیت داره، از جمله تاریخ فروش، نوع فروش (نقدی، قسطی) و ...

در صورتی که این موجودیت جدید رو هم در نظر بگیریم، رابطه‌ی بین موجودیت‌ها به شکل زیر هست:

فروشنده یک یا چند فروش انجام می‌دهد -- هر فروش توسط یک فروشنده انجام می‌شود.
هر فروش شامل یک یا چند فیلم است -- هر فیلم در یک فروش به فروش می‌رسد.

البته باز هم توی این مدل یک موجودیت جا افتاده. در واقع باید بین موجودیت‌های «فیلم» و «نسخه‌ی موجود فیلم» تفاوت قایل شد. برای مثال موجودیت فیلم ممکنه برای مدل کردن فیلم «پدرخوانده» استفاده بشه. ولی «نسخه‌ی موجود فیلم» برای مدل کردن ۱۰ عدد سی‌دی یا دی‌وی‌دی که از این فیلم موجوده به کار میره. توجه کنید که همه‌ی این سی‌دی‌ها یا دی‌وی‌دی‌ها فیلم پدر خوانده هستند ولی ممکنه که یکی از سی‌دی‌ها آبی‌رنگ باشه و یکی نقره‌ای. یکی از سی‌دی‌ها توسط شرکت x رایت شده باشه و یکی دیگه توسط شرکت y. یکی از سی‌دی‌ها وضعیت ظاهری خوبی داشته باشه و یکی دیگه خش افتاده باشه. و توی مدل شما هم احتمالا لازم هست که تمام این اطلاعات ذخیره بشوند.