مدل موجوديت-ارتباط
مدل ER ابزاری برای طراحی پايگاه داده است که موجوديت ها و ارتباطات بين آنها را در يک نمودار نشان می دهد.
موجودیت صفت خاصه ارتباط کاردینالیتی مشارکت اجباری و اختياری مراحل ساخت مدل ER
مدل موجودیت-ارتباط (Entity-Relationship) يا مدل ER توسط Peter Pin-Shan Chen از انستیتو تکنولوژی ماساچوست (MIT) در سال 1976 طراحی شد.
مدل ER مدل ادراکی داده است که دنیای واقعی را به صورت موجودیت ها و وابستگی های بین آنها می بیند.
در مدل ER ساختار پایگاه داده به صورت یک دیاگرام به تصویر کشیده می شود که ارتباط منطقی موجودیت ها را به صورت يک نمودار ترسيمی نمايش می دهد.
مدل ER به عنوان ابزاری برای طراحی پایگاه داده بسیار موفق است و کمک بسیار خوبی برای طراحی، پيآده سازی، بهینه سازی و اشکالزدائی برنامه های پایگاه داده است.
ساختارهائی که در مدل ER استفاده می شوند براحتی به جداول رابطه ای تبدیل می شوند.
مدل ER مستقل از سخت افزار و DBMS است.
اجزای نمودار ارتباط-موجودیت
يک دياگرام ER از اجزای زير تشکيل شده است:
• موجودیت • صفات خاصه • ارتباط • کارديناليتی
یک موجودیت (entity) فرد، شیء، مکان يا مفهومی در سیستم است که می خواهیم آنرا مدل کنیم و اطلاعاتی درباره آن داشته باشیم.
موجوديت ها اشيای متمايز از هم هستند که اطلاعاتی درباره آنها جمع و درپايگاه ذخيره می شود. به طور کلی هر چيزی که سازمان نياز دارد داده ای درباره اش ذخيره شود.
در نمودار ER موجودیت ها توسط مستطیل نمایش داده می شوند.
مثال: در دانشگاه موجودیت ها می تواند شامل دانشجو، درس، استاد، کلاس، دانشکده، گروه آموزشی و غیره باشد.
يک موجوديت مشابه يک جدول در مدل رابطه ای است.
موجوديت ها به صورت مستقل و وابسته (يا ضعيف و قوی) تقسيم بندی می شوند. يک موجوديت مستقل موجوديتی است که به ديگری متکی نيست. يک موجوديت وابسته موجوديتی است که به ديگری تکيه دارد و با حذف موجودیت دیگر حذف می شود.
یک موجودیت توسط صفات خاصه خود توصيف می شود. یک صفت خاصه (attribute) یک ویژگی ازموجودیت است. کلیه داده های مربوط به هر موجودیت در صفات خاصه اش نگهداشته می شود.
صفات خاصه در مدل های ER به صورت بیضی هائی متصل به موجودیت خود ظاهر می شوند.
مثال. صفات خاصه يک دانشجو می تواند شامل شماره دانشجوئی، نام، نام خانوادگی، آدرس، سال تولد، رشته تحصيلی و غيره باشد.
هر نوع موجودیت می تواند تعداد زیادی صفت خاصه داشته باشد و اگر همه آنها در نمودار ER نمایش داده شود نمودار گیج کننده می شود، بنابراين تنها صفاتی نمايش داده می شود که اطلاعی را به ER اضافه می کند.
يک نمونه خاص از يک صفت خاصه يک مقدار است. دامنه (domain) يک صفت خاصه مجموعه مقادير ممکن است که يک صفت خاصه می تواند داشته باشد.
مثال. دامنه صفت خاصه نام يک دانشجو يک رشته کاراکتری است.
صفت خاصه می توانند ساده يا مرکب باشد. صفات خاصه مرکب از چند صفت خاصه ديگر تشکيل شده است.
مثال: صفت خاصه مرکب مانند اجزای آدرس.
کلید
کليد ها مشخصه منحصر بفرد يک موجوديت است. یک کلید (key) يک يا ترکيب چند صفت خاصه از موجوديت است که یک نمونه منحصربفرد از موجودیت را مشخص می کند.
مثال. يک فرد ممکن است توسط شماره شناسنامه اش يا توسط نام+نام و خانوادگی+آدرس مشخص شود.
در نمودار ER زیر صفت خاصه کلید یک خط کشیده می شود.
موجودیت های هر محیط عملیاتی با هم ارتباطاتی دارند. ارتباط وابستگی بین چند موجودیت را نشان می دهد. یک ارتباط (relationship) یک وابستگی معنی دار بین دو يا چند نوع موجودیت مختلف است.
ارتباطات معادل افعال یا مفاهيمی نظیر خرید کردن، تعمیر کردن، عضو بودن، رئیس یک سازمان بودن هستند.
ارتباط در نمودار ER توسط خطوط مشخص می شود. نوع ارتباط ممکن است روی خط يا درون يک لوزی نوشته شود.
ممکن است موجودیت هائی داشته باشیم که توسط دو یا چند ارتباط متفاوت بهم مربوط شده اند.
مثال. استاد درس را تدريس می کند. درس توسط استاد تدریس می شود. تدريس ارتباط بين موجوديت استاد و درس را مشخص می کند.
درجه ارتباط
تعداد موجودیت هائی که در یک ارتباط شرکت می کنند درجه ارتباط (degree) نامیده می شود.
اگر دو نوع موجودیت به هم مربوط شوند ارتباط از درجه دو است و ارتباط دوتائی (binary) ناميده می شود
ارتباطات دوتائی معمولترين نوع در دنيای واقعی هستند.
اگر سه نوع موجودیت درگیر باشند ارتباط از درجه سه است و ارتباط سه تائی (ternary) نامیده می شود. ارتباطات سه تائی اکثرا به دو يا چند ارتباط دوتائی تجزيه می شود
مثال. يک فروشنده محصولی را به يک مشتری می فروشد. اين يک ارتباط از درجه 3 است.
اين ارتباط سه تائی را می توان به چند ارتباط دو تائی تجزيه کرد. موجودیت جدیدی را با نام فروش جایگزین ارتباط می فروشد می شود. حالا فروشنده می تواند به مشتری پیوند بخورد.
يک ارتباط بازگشتی وقتی اتفاق می افتد که يک موجوديت به خودش مربوط می شود.
مثال. کارمندان با کارمندان همکاری می کنند.
کارديناليتی (cardinality) در يک ارتباط تعداد ماکزيمم و مینيمم نمونه های يک موجوديت که در يک ارتباط مشارکت می کنند را مشخص می کند. به بيان ديگر چند و چون تناظر بین عناصر مجموعه نمونه های یک نوع موجودیت با عناصر مجموعه نمونه های نوع موجودیت دیگر در يک ارتباط را بیان می کند.
کاردینالیتی یک ارتباط حالت های زير را ممکن است داشته باشد:
• ارتباط یک به یک (1:1) • ارتباط یک به چند (1:m) • ارتباط چند به چند (m:n)
روی یک نمودار ER اگر انتهای خط ارتباط مستقیم باشد نشان دهنده "يک" است و اگر چند شاخه باشد نشان دهنده "چند" است.
ارتباط يک به يک
ارتباط يک به يک (1:1) وقتی است که دقيقا يک نمونه از موجوديت A مربوط به دقيقا يک نمونه از موجوديت B شود.
مثال. به هر کارمند در يک شرکت يک دفتر اختصاص داده می شود. در هر دفتر فقط يک کارمند وجود دارد.
ارتباطات يک به چند
يک ارتباط يک به چند (1:n) وقتی است که يک نمونه از موجوديت A به چندين نمونه از موجوديت B مربوط شود اما برای هر نمونه موجود در B تنها يک نمونه از A وجود داشته باشد.
مثال. در یک رشته تعدادی دانشجو مطالعه می کند. هر دانشجو تنها می تواند در یک رشته درس بخواند.
ارتباطات چند به چند
ارتباط چند به چند (m:n) وقتی است که يک نمونه موجوديت A به چند نمونه موجوديت B مربوط شود و يک نمونه موجوديت در B به چند نمونه موجوديت در A مرتبط شوند.
مثال: هر استاد چند درس را ارائه می دهد و هر درس می تواند توسط چند استاد ارائه شود.
تقريبا هميشه وجود يک ارتباط چند به چند منعکس کننده يک موجوديت نهفته است به همين دليل با مشخص شدن و اضافه کردن اين موجوديت پنهان به مدل ارتباط چند به چند از دياگرام حذف می شوند و موجوديت جديد به دو موجوديت قبلی با ارتباطات يک به چند مرتبط می شود.
نکته. کارديناليتی ارتباط توسط قوانين حاکم بر سازمان تعیین می شوند.
يک موجوديت در يک ارتباط می تواند به صورت اجباری (mandatory) يا اختياری (optional) شرکت کند.
اگر يک نمونه از يک موجوديت هميشه در يک رابطه مشارکت کند مشارکت اجباری است. اگر وجود يک نمونه موجوديت در ارتباط الزامی نباشد مشارکت اختياری است.
در نمودار ER، روی خط ارتباط، مشارکت اختياری توسط يک دايره در کنار موجوديتی که بطور اختياری در ارتباط شرکت کرده و مشارکت اجباری توسط يک خط عمودی در کنار موجوديتی که الزامی شرکت کرده نشان داده می شود.
مثال. هر پروژه بايد توسط يک شعبه مديريت شود. ممکن است شعبه ای باشد که پروژه ای را انجام نمی دهد.
قبل از شروع به رسم دياگرام، نيازمندی های سيستم بايد مشخص و مستند شده باشد. سپس مراحل زير برای رسم نمودار ER طی می شود:
1. تعيين موجوديت ها. کليه موجوديت های بالقوه و اشيائی که در سيستم مورد توجه هستند را ليست کنيد. • مطمئن شويد که انواع موجوديت متفاوت از هم هستند و موجوديت های تکراری را حذف کنيد. • خود سيستم را به عنوان يک نوع موجوديت در نظر نگيريد(مثلا کتابخانه در سيستم کتابخانه). 2. تعيين صفات خاصه. صفات خاصه هر نوع موجوديت را ليست کنيد. • مطمئن شويد که هرنوع موجوديت واقعا مورد نياز است. • انواع موجوديت ها مجموعه صفات خاصه مشابه نبايد داشته باشند. 3. برقراری کليد اوليه. صفت خاصه منحصر بفرد در هر نوع موجوديت را تعيين کنيد. 4. تعريف ارتباطات. هر نوع موجوديت و ارتباطات آن با بقيه را بررسی نماييد. 5. تعيين درجه ارتباط، کارديناليتی و اختياری بودن ارتباطات. قيدهای بين موجوديت های شرکت کننده در هر ارتباط را بازبينی کنيد. 6. ارتباطات اضافه را حذف کنيد. |