نهاد در مقابل ویژگی
تکنیک مدلسازی رابطه نهاد (ERM) به طور گسترده برای مدلسازی پایگاههای داده استفاده میشود. مدلسازی نهاد-رابطه فرآیند ارائه یک نمایش انتزاعی و مفهومی از دادهها است. یکی از اجزای اصلی ERM یک موجودیت است. موجودیت یک شی دنیای واقعی یا چیزی را نشان می دهد که می تواند به طور مستقل روی خود بایستد و به طور منحصر به فرد قابل شناسایی باشد. ویژگی ها ویژگی های این موجودیت ها هستند. نمودارهای ER محصول مدلسازی رابطه موجودیت هستند. نمودارهای ER با استفاده از موجودیت ها، ویژگی ها و سایر نمادها (مانند روابط) ترسیم می شوند.
موجودیت چیست؟
یک موجودیت نشان دهنده چیزی است که می تواند به طور مستقل وجود داشته باشد و می تواند به طور منحصر به فرد شناسایی شود. به طور خاص تر، یک موجودیت اغلب یک کلاس، گروه یا دسته ای از اشیاء مشابه را نشان می دهد. اغلب، یک موجودیت یک شیء دنیای واقعی مانند یک ماشین یا یک کارمند را نشان می دهد. موجودیت ها را می توان به عنوان اسم هایی در نظر گرفت که در حین شرح مسئله ای که باید حل شود، ظاهر می شوند. موجودیت ها به صورت جداول در پایگاه داده های رابطه ای نمایش داده می شوند. به طور کلی، هر موجودیت دقیقاً به یک جدول در پایگاه داده نگاشت می شود. ردیفهای جداگانه در جداول با نمونههای واقعی شی/چیزی که توسط موجودیت نشان داده شده است مطابقت دارد. به عنوان مثال، در پایگاه داده کارکنان، هر ردیف مربوط به سوابق تک تک کارکنان شرکت است.
ویژگی چیست؟
در مدلسازی رابطه موجودیت، ویژگیهای موجودیتها را ویژگی مینامند. به عبارت دیگر، صفات یک زیر گروه از اطلاعات شی را نشان می دهند که توسط موجودیت نمایش داده شده است. ویژگیها، نمونههای فردی را تعریف میکنند و با توصیف ویژگیهای هر نمونه، به تمایز بین هر نمونه کمک میکنند.توجه به این نکته مهم است که ویژگی ها را نمی توان با مقدار مجموعه تعیین کرد و باید اتمی باشد. در پایگاههای داده رابطهای، جایی که موجودیتها به صورت جداول در میآیند، هر ستون ویژگیهای این موجودیتها را نشان میدهد. به عنوان مثال، در جدول Employee، ستون هایی مانند بخش، رتبه و حقوق نمونه هایی از ویژگی های کارکنان هستند. به منظور تمایز بین نمونه های منفرد موجودیت، یک یا چند فیلد ویژگی با مقادیر منحصر به فرد (برای همه نمونه ها) می تواند به عنوان کلید انتخاب شود. به عنوان مثال، مشخصه شماره تامین اجتماعی (که برای همه کارکنان منحصر به فرد است) اغلب به عنوان کلید اصلی جدول کارمندان استفاده می شود. گاهی اوقات چندین ویژگی می توانند کلید اصلی را نیز تشکیل دهند.
تفاوت بین یک موجودیت و یک ویژگی چیست؟
در مدلسازی رابطه موجودیت، موجودیتها اشیاء/چیزهای دنیای واقعی را نشان میدهند که میتوانند بهعنوان منحصربهفرد و مستقل شناسایی شوند، در حالی که ویژگیها ویژگیهای آن موجودیتها را نشان میدهند. در پایگاههای داده رابطهای، موجودیتها به جدول تبدیل میشوند (هر ردیف نشان دهنده نمونههای جداگانه)، در حالی که ویژگیها به ستونهایی از آن جداول مربوطه تبدیل میشوند.هنگام طراحی پایگاههای داده، سردرگمی در انتخاب یک موجودیت در مقابل یک ویژگی برای نمایش یک شیء واقعی کلمه معمول است. به عنوان مثال، آیا آدرس کارمند به عنوان یک ویژگی نشان داده می شود یا موجودیت دیگری (از طریق یک رابطه به نهاد کارمند متصل است)؟ یک قاعده کلی این است که اگر یک کارمند بیش از یک آدرس داشته باشد، آدرس باید یک موجودیت باشد (زیرا ویژگی ها دارای ارزش تنظیمی نیستند). به طور مشابه، اگر ساختار آدرس برای گرفتن مهم است، آنگاه آدرس باید یک موجودیت باشد (زیرا ویژگیها اتمی هستند).