نمودار رابطه موجودیت یک گرافیک تخصصی است که روابط بین موجودیت ها را در یک پایگاه داده نشان می دهد. نمودارهای ER از نمادها برای نشان دادن سه نوع اطلاعات استفاده می کنند: موجودیت ها (یا مفاهیم)، روابط، و ویژگی ها.
نمودارهای نهادی-رابطه چیست؟
در نمودارهای ER استاندارد صنعتی، مستطیل ها یا مربع ها موجودیت هایی را نشان می دهند که جداولی هستند که اطلاعات خاصی را در یک پایگاه داده نگهداری می کنند. الماس ها روابطی را نشان می دهند که تعامل بین موجودات است. بیضی ها نشان دهنده ویژگی ها یا داده هایی هستند که یک موجودیت را توصیف می کنند.
اگرچه نمودارهای رابطه موجودیت ممکن است پیچیده به نظر برسند، این نمودارها به کاربران آگاه کمک می کنند تا ساختارهای پایگاه داده را در سطح بالایی بدون جزئیات همراه درک کنند.طراحان پایگاه داده از نمودارهای ER برای مدل سازی روابط بین موجودیت های پایگاه داده در قالبی واضح استفاده می کنند. بسیاری از بستههای نرمافزاری روشهای خودکاری برای تولید نمودارهای ER از پایگاههای داده موجود دارند.
نمونه نمودار موجودیت-رابطه
مثالی از پایگاه داده ای را در نظر بگیرید که حاوی اطلاعاتی درباره ساکنان یک شهر است. نمودار ER که در تصویر زیر نشان داده شده است شامل دو موجود در مستطیل است: "Person" و "City". تنها یک رابطه "Lives In" در الماس این دو را به هم پیوند می دهد. هر فرد تنها در یک شهر زندگی می کند، اما هر شهر می تواند افراد زیادی را در خود جای دهد. در نمودار مثال، ویژگی های نشان داده شده به شکل بیضی، نام فرد و جمعیت شهر است.
اسم برای توصیف موجودات و ویژگی ها استفاده می شود در حالی که افعال برای توصیف روابط استفاده می شود.
نهادها اشیایی هستند که ردیابی می شوند
هر آیتمی که در پایگاه داده ردیابی می شود یک موجودیت است و هر موجودیت یک جدول در یک پایگاه داده رابطه ای است. معمولاً هر موجودیت در پایگاه داده با یک ردیف مطابقت دارد.
اگر یک پایگاه داده حاوی نام افراد باشد، ممکن است موجودیت آن "Person" نامیده شود. جدولی با همین نام در پایگاه داده وجود دارد و هر شخص به یک ردیف در جدول "Person" اختصاص داده می شود.
ویژگی ها موجودیت ها را توصیف می کنند
پایگاه های داده حاوی اطلاعاتی درباره هر موجودیت هستند. این اطلاعات به عنوان ویژگی ها نامیده می شود. ویژگی ها شامل اطلاعات منحصر به فرد برای هر موجودیت فهرست شده است. در مثال «شخص»، ویژگیها میتوانند شامل نام، نام خانوادگی، تاریخ تولد و شماره شناسایی باشند.
ویژگی ها اطلاعات دقیقی درباره یک موجودیت ارائه می دهند. در یک پایگاه داده رابطه ای، ویژگی ها در فیلدهایی نگهداری می شوند که اطلاعات داخل یک رکورد در آن نگهداری می شود. یک پایگاه داده به تعداد مشخصی از ویژگی ها محدود نمی شود.
روابط داده ها را با هم نگه می دارد
ارزش یک نمودار موجودیت-رابطه در توانایی آن برای نمایش اطلاعات مربوط به روابط بین موجودیت ها نهفته است.در مثال، اطلاعات مربوط به شهری که هر فرد در آن زندگی می کند قابل ردیابی است. اطلاعات مربوط به شهر در موجودیت «شهر» با رابطهای که اطلاعات «شخص» و «شهر» را به هم مرتبط میکند نیز میتواند ردیابی شود.
سه نوع رابطه بین موجودیت ها وجود دارد:
- یک به یک: گاهی اوقات یک موجودیت واحد با یک موجودیت دیگر مرتبط می شود. به عنوان مثال، هر کارمند در یک پایگاه داده تنها یک شماره تامین اجتماعی دارد و این شماره منحصر به فرد است.
- یک به چند: یک موجودیت واحد ممکن است با چندین موجودیت دیگر نیز مرتبط باشد. به عنوان مثال، یک دفتر شعبه شرکت و همه کارکنانی که در آن شعبه کار می کنند، رابطه یک به چند دارند.
- Many-to-Many: چندین موجودیت ممکن است با چندین موجودیت دیگر مرتبط باشند. به عنوان مثال، یک شرکت ممکن است سه محصول تولید کند و یک کارمند فروش داشته باشد که آن محصولات را بفروشد. برخی از کارکنان فروش ممکن است زمان خود را بین محصولات تقسیم کنند.
چگونه یک نمودار ER ایجاد کنیم
قبل از طراحی یک پایگاه داده رابطه ای، منطقی است که یک نمودار ER ایجاد کنید. ممکن است نرم افزاری داشته باشید که برای انجام این فرآیند مجهز باشد. در غیر این صورت، قلم (یا مداد) را روی کاغذ قرار دهید، یا یک برنامه نرم افزاری پیدا کنید که بتواند نیازهای نمودار را انجام دهد.
برای ایجاد نمودار ER با دست:
- برای هر موجود یا مفهوم مرتبط با مدل خود یک کادر مستطیل شکل ایجاد کنید.
- خطوط را برای اتصال موجودیتهای مرتبط برای مدلسازی روابط بکشید. روابط را با استفاده از افعال درون اشکال الماسی برچسب گذاری کنید.
- ویژگی های مربوطه را برای هر موجودیت، با مهم ترین ویژگی ها شروع کنید، و آنها را به شکل بیضی در نمودار وارد کنید. بعداً، میتوانید فهرستهای ویژگیها را دقیقتر کنید.
وقتی کار را تمام کردید، نحوه ارتباط مفاهیم مختلف با یکدیگر را نشان داده اید و یک پایه مفهومی برای طراحی یک پایگاه داده رابطه ای دارید.