مدل‌‌ نهاد و رابطه (ERD)

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

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

توجه:  ERD یا Entity Relationship Diagram یا نمودار نهاد و رابطه جهت مدل‌سازی داده‌ای مورد استفاده قرار می‌‌گیرد.

مدل ER

برای شناسایی هر مدل یا ساختاری ابتدا باید به بررسی بخش‌­های مختلف آن مدل یا ساختار بپردازیم.

در مدل ER، سه مفهوم معنایی وجود دارد و معنای داده‌های هر محیط عملیاتی (محیطی که می‌­خواهیم در مورد آن اطلاع کسب کنیم) به کمک همین سه مفهوم نمایش داده می‌شود:

۱-­ موجودیت یا نهاد (Entity)

۲-­ صفت (Attribute)

۳-­ ارتباط یا رابطه (Relationship)

توجه: در مدل تحلیل منظور از رابطه، ارتباط بین موجودیت­‌هاست، اما در مدل طراحی منظور از رابطه، جداول مدل رابطه‌­ای می‌­باشد.

۱-­ نهاد (موجودیت)

موجودیت عبارتند از مفهوم کلی «شیء»، «چیز»، «پدیده» و به طور کلی هر آنچه که می‌خواهیم در موردش «اطلاع» داشته باشیم.

مثال: در محیط عملیاتی دانشگاه، انواع موجودیت­‌های دانشجو، درس، استاد، گروه آموزشی و غیره وجود دارد.

توجه: در کتب مختلف گاهاً به نهاد، مجموعه نهادی (Entity Set) نیز گفته می‌­شود.

توجه: خروجی مدل‌سازی یک سیستم به کمک مدل ER، نموداری است که آن را ERD می‌نامند.

توجه: برای نمایش یک موجودیت (مجموعه نهادی) در نمودار ER  از یک مستطیل نام‌­دار استفاده می‌­گردد.

مثال: موجودیت­‌های درس و دانشجو در محیط عملیاتی دانشگاه.

توجه: توصیه می‌­شود در تشخیص مجموعه‌­های نهادی و تحلیل سیستم به دنبال اسامی عام بگردیم. معمولاً اسامی عام یک موجودیت یا مجموعه نهادی را نشان می­‌دهند (مانند دانشجو) و اسامی خاص اعضای یک مجموعه نهادی را نشان می‌­دهند (مانند دانشجو احمدی)

توجه: از آنجا که نمادهای گرافیکی نمی‌توانند تمامی جزئیات مربوط به موجودیت­‌ها یا اشیاء داده­ای را بیان کنند، جهت تشریح شرح حال موجودیت­‌ها یا اشیاء داده‌­ای از مستنداتی به نام شرح حال موجودیت­‌ها یا اشیاء داده­ای یا فرهنگ داده‌ها (دیکشنری داده) استفاده می‌شود. فرهنگ داده‌ها، به بیان جزئیات مربوط به موجودیت­‌ها یا اشیاء داده‌ای مورد نظر می‌پردازد.

برای­ مثال بر روی نماد مستطیل شکل موجودیت‌ها اسم برده می‌شود، اما این­که دقیقاً این موجودیت‌­ها یا اشیاء داده­ای چه هستند مشخص نمی‌شود. برای این منظور از فرهنگ داده‌ها استفاده می‌شود که موجودیت­‌ها یا اشیاء داده­ای را به صورت دقیق تشریح می‌کند.

۲-­ صفت

صفت در واقع خصیصه یا ویژگی یک نوع موجودیت است و هر نوع موجودیت مجموعه­‌ای از صفات(موسوم به مجموعه صفات موجودیت) را دارد. هر صفت از نظر کاربران یک نام، یک نوع و یک معنای مشخص دارد. به عنوان مثال، موجودیت درس را در نظر بگیرید. صفات درس عبارتند از: شماره درس، عنوان درس، تعداد واحد درس، نوع درس (پایه، تخصصی، اختیاری و غیره)، ماهیت درس (نظری، عملی و غیره)، سطح درس (کاردانی، کارشناسی و غیره).

توجه: هر صفتی از یک مجموعه مقادیر معتبر و مجاز مقدار می­‌گیرد که به این مجموعه مقادیر، اصطلاحاً دامنه یا میدان (Domain) مقادیر آن صفت می­‌گویند.

انواع صفات در مدل ER

هر موجودیت دارای مجموعه‌­ای از صفات است که در نمودار ER با بیضی نشان داده می‌­شود.

صفت کلید

کلید عبارتند از یک یا چند صفت خاصه که در یک موجودیت منحصر به فرد باشد. به عبارت دقیق­‌تر هر ترکیبی از صفت یا صفات که اگر بر اساس آن جستجو انجام گردد فقط و فقط یک مقدار را بازگرداند. بر اساس کد­ملی جستجو انجام دهید، واضح است که فقط و فقط یک مقدار را باز می‌گرداند. به عنوان مثالی دیگر در موجودیت دانشجو، شماره دانشجویی کلید است، چون هر دانشجو شماره‌­ای یکتا دارد. ولی نام نمی‌تواند کلید باشد.

توجه: گاهی یک صفت به تنهایی نمی‌تواند کلید باشد بلکه مجموعه‌­ای از دو یا چند صفت، تشکیل کلید را می‌­دهند.

توجه: صفت کلید نمی‌­تواند مقدار NULL بگیرد.

توجه: در نمودار ER زیر صفت یا صفات کلیدی یک خط می‌­کشند.

صفت ساده و مرکب

صفت ساده صفتی است که مقدار آن از لحاظ معنایی ساده یا اتومیک یا تجزیه نشدنی باشد، به این معنا که اگر مقدار آن را به اجزایی تجزیه کنیم، مقادیر جزیی حاصله فاقد معنا باشد. برای­ مثال صفت درس و شماره دانشجویی یک صفت ساده است. صفت مرکب صفتی است که از چند صفت ساده تشکیل شده باشد به گونه‌­ای که تجزیه شدنی باشند و اجزاء حاصله خود صفات ساده باشند. مانند صفت آدرس که از اجزاء نام استان، نام شهر، نام خیابان، نام کوچه، شماره پلاک و کدپستی تشکیل شده است.

توجه: برای نشان دادن صفت مرکب در نمودار ER اجزای صفت مرکب خود به عنوان صفت برای صفت مذکور نشان داده می­‌شود.

توجه: در بانک اطلاعاتی مبتنی بر مدل رابطه­ای (جدولی) صفت مرکب نداریم.

صفت تک مقداری و چند مقداری

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

صفاتی وجود دارند که می­‌توانند چندین مقدار را بگیرند مانند صفت مدرک در موجودیت استاد که می­‌تواند مقادیر لیسانس، فوق لیسانس و یا دکتری را در خود بگیرد.

مثال:

توجه: به مثال­‌های زیر توجه کنید.

صفت ساده تک­ مقداری: مانند کد­ملی

صفت ساده چند­ مقداری: مانند مدرک تحصیلی

صفت مرکب تک­ مقداری: مانند تاریخ تولد

صفت مرکب چند ­مقداری: مانند آدرس

توجه: در بانک اطلاعاتی مبتنی بر مدل رابطه‌­ای (جدولی) صفت چند­مقداری نداریم.

صفت مشتق (پویا)

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

توجه: صفت مشتق را در نمودار ER با نقطه چین به موجودیت مورد نظر متصل می­‌کنند.

مثال:

۳-­ رابطه (ارتباط)

ارتباط، وابستگی بین دو مجموعه نهادی (موجودیت) را نشان می‌­دهد.

توجه: در هنگام استخراج رابطه­‌ها در مدل تحلیل، به دنبال افعال می‌­گردیم.

توجه:  برای نمایش یک رابطه در ER از یک لوزی استفاده می­‌کنیم.

در نمودار ER فوق، رابطه تهیه، مابین موجودیت تولید­کننده و قطعه برقرار است.

خواص رابطه

بطور کلی خواص رابطه به سه شکل زیر بررسی می‌­گردد:

الف) درجه ارتباط

ب) کاردینالیتی ارتباط یا کمیت ارتباط

ج) اجباری و اختیاری بودن ارتباط یا مودالیتی ارتباط یا کیفیت ارتباط

توجه: همه روابط سه خصیصه فوق را به طور همزمان دارند، اما مقادیر این خصیصه‌ها در روابط مختلف، متفاوت است.

الف) درجه ارتباط

به تعداد موجودیت­‌هایی که در یک رابطه مشارکت دارند، درجه ارتباط گفته می­‌شود. درجه در مدل ER عددی صحیح و کوچکتر از ۵ است. ارتباط­‌های درجه ۱، ۲ و ۳ معمول، ارتباط درجه ۴ کمیاب و غیر معمول است و ارتباط بالاتر از درجه ۴ قابل رسم کردن نیست.

ارتباط درجه ۱

مثال:

فقط یک موجودیت در هر یک از شکل‌­های فوق وجود دارد. دقت­ کنید که موجودیت یک نوع است و عضوهای آن، یک مجموعه را تشکیل می‌­دهند. بنابراین در ارتباط یکتایی، عضوهایی از یک مجموعه در ارتباط با عضوهایی دیگر از همان مجموعه قرار می­‌گیرند. برای ­مثال درسی پیش نیاز درس دیگر است، یا دانشجویی همکلاسی دانشجوی دیگری است، در حالیکه همه دروس به یک موجودیت و همه دانشجویان نیز به یک موجودیت تعلق دارند.

توجه: وقتی یک ارتباط بین یک نوع موجودیت و خودش برقرار باشد، آنرا ارتباط با خود (Self-Relationship) یا بازگشتی  (Recursive) می­‌گویند.

ارتباط درجه ۲

مثال:

در این ارتباط دو موجودیت استاد و دانشجو مشارکت دارند.

ارتباط درجه ۳

مثال:

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

ارتباط درجه ۴

مثال:

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

ب) کاردینالیتی ارتباط یا کمیت ارتباط

کاردینالیتی ارتباط بر سه نوع است: یک به یک، یک به چند، چند به چند.

۱-­ یک به یک (۱-۱)

یعنی هر نمونه موجودیت از A با حداکثر با یک نمونه موجودیت از B ارتباط دارد و هر نمونه موجودیت از B با حداکثر یک نمونه موجودیت از A ارتباط دارد.

مثال:

بدین معنی که هر استاد حداکثر یک درس ارائه می­‌کند و هر درس حداکثر یک استاد برای ارائه دارد.

توجه: یعنی ممکن است استادی اصلاً درس نداشته باشد و یا درسی توسط هیچ استادی در این ترم ارائه نگردد.

۲-­ یک به چند (۱:n)

یعنی هر نمونه موجودیت از A با صفر یا بیشتر نمونه موجودیت از B ارتباط دارد و هر نمونه موجودیت از B با حداکثر یک نمونه موجودیت از A ارتباط دارد.

مثال:

بدین معنی که هر استاد صفر یا بیشتر درس ارائه می­‌کند و هر درس حداکثر یک استاد برای ارائه دارد.

توجه: یعنی ممکن است استادی اصلاً درس نداشته باشد و یا درسی توسط هیچ استادی در این ترم ارائه نگردد.

۳-­ چند به چند (m:n)

یعنی هر نمونه موجودیت از A  با صفر یا بیشتر نمونه موجودیت از B ارتباط دارد و هر نمونه موجودیت از B با صفر یا بیشتر نمونه موجودیت از A ارتباط دارد.

مثال:

بدین معنی که هر استاد صفر یا بیشتر درس ارائه می­کند و هر درس صفر یا بیشتر استاد برای ارائه دارد.

توجه: یعنی ممکن است استادی اصلاً درس نداشته باشد و یا درسی توسط هیچ استادی در این ترم ارائه نگردد.

توجه: در ارتباط، شرکت موجودیت‌­ها در ارتباط به طور پیش­‌فرض اختیاری است. برای­ مثال ممکن است استادی درسی ارائه نکند و یا درسی این ترم ارائه نشود. در ادامه ارتباط اجباری را مورد بررسی قرار خواهیم داد.

حد

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

مثال:

در شکل بالا حد (۱۰و۰) نشان می‌­دهد که یک استاد ممکن است راهنمای هیچ دانشجویی نباشد و یا حداکثر ۱۰ دانشجو را راهنمایی کند. همچنین حد (۱و۰) نشان می­دهد که یک دانشجو ممکن است استاد راهنما نداشته باشد و یا حداکثر توسط یک استاد راهنمایی شود.

ج) اجباری و اختیاری بودن ارتباط یا مودالیتی ارتباط یا کیفیت ارتباط

این نوع رابطه به دو دسته کلی زیر تقسیم می­‌شود:

۱-­ اجباری یا کلی (Total)

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

توجه: نماد خط مضاعف افقی نشانه اجباری بودن موجودیت چسبیده به آن است، اما نماد | به معنی یک و الزام شرکت در رابطه نشانه اجباری بودن موجودیت طرف مقابل است.

مثال: در نظام آموزشی وزارت آموزش و پرورش حضور معلم و دانش آموز در محیط عملیاتی مدرسه اجباری است. زیرا مفاهیمی همچون مرخصی برای دانش‌‌‌آموز و یا پژوهش به‌‌‌جای تدریس برای معلم معنا ندارد.

قید (۱,m) نشان می‌‌‌دهد که یک معلم حداقل یک و حداکثر m دانش‌‌‌آموز دارد و قید (۱ , n) نشان می‌‌‌دهد که یک دانش‌‌‌آموز حداقل یک و حداکثر n معلم دارد.

۲-­ اختیاری یا جزئی (Partial)

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

توجه: نماد خط افقی نشانه اختیاری بودن موجودیت چسبیده به آن است، اما نماد دایره کوچک تو‌‌‌خالی به معنی صفر و عدم الزام شرکت در رابطه نشانه اختیاری بودن موجودیت طرف مقابل است.

مثال: در نظام آموزشی وزارت علوم، تحقیقات و فناوری حضور استاد و دانشجو اختیاری است. زیرا مفاهیمی همچون مرخصی برای دانشجو و پژوهش به‌‌‌جای تدریس برای استاد معنا دارد.

قید (۰,m) نشان می‌‌‌دهد که یک استاد حداقل هیچ و حداکثر m دانشجو دارد و قید  (۰,n)نشان می‌‌‌دهد که یک دانشجو حداقل هیچ و حداکثر n استاد دارد.

توجه: از آنجا که حضور استاد اختیاری است، پس می‌‌‌تواند هیچ دانشجویی نداشته باشد. همین معنا برای دانشجو نیز صادق است.

مثال: نمودار ER زیر چه روابطی را نشان می‌‌‌دهد؟

شکل زیر گویای نمودار ER است:

توجه: نماد | به معنی یک و الزام شرکت در رابطه نشانه اجباری بودن موجودیت طرف مقابل است.

توجه: نماد دایره کوچک تو‌‌‌خالی به معنی صفر و عدم الزام شرکت در رابطه نشانه اختیاری بودن موجودیت طرف مقابل است.

با توجه به ارتباط یک به چند پروژه با کارمند و اجباری بودن حضور نمونه موجودیت‌‌‌های پروژه، قید (۱,m) برای پروژه در نظر گرفته می‌‌‌شود، بدین معنی‌‌‌که، یک پروژه حداقل یک و حداکثر m کارمند دارد.

همچنین با توجه به ارتباط چند به یک کارمند با پروژه و اختیاری بودن حضور نمونه موجودیت‌‌‌های کارمند، قید (۱و۰) برای پروژه در نظر گرفته می‌‌‌شود، بدین معنی‌‌‌که، یک کارمند حداقل هیچ و حداکثر یک پروژه دارد.

شکل زیر گویای مطلب است:

صفت در ارتباط

ارتباط‌­ها نیز می‌­توانند صفت داشته باشند (اغلب در ارتباطات n:m)

برای ­مثال صفت تعداد قطعات (QTY) در نمودار بانک اطلاعات تولیدکنندگان قطعات می­‌تواند صفت در ارتباط، رابطه تهیه باشد.

شاید تصور شود که تعداد قطعات مربوط به موجودیت قطعه است. ولی این تصور غلط است زیرا یک تولید­کننده­ چند قطعه و یک قطعه نیز توسط چند تولید­کننده، تهیه می‌­گردد. بنابراین صفت تعداد قطعات (QTY) را باید به ارتباط تولیدکه دو موجودیت قطعه و تولید‌کننده را به هم مرتبط می‌­کند نسبت داد.

توجه: چنین ارتباطاتی با یک لوزی درون یک مستطیل نشان داده می‌­شود و کلید آنها کلیدهای همه موجودیت‌­های مربوطه را شامل می­‌شود.

نگاشت رابطه چند به چند بین دو موجودیت (مدل تحلیل) به مدل رابطه‌ای (مدل طراحی)

مستقل از اختیاری یا اجباری بودن موجودیت‌ها، هر موجودیت به یک جدول تبدیل می‌گردد و یک جدول پُل (Bridge) نیز به عنوان ارتباط دهنده دو جدول مورد استفاده قرار می‌گیرد. همچنین کلید کاندید جدول پُل از ترکیب کلید کاندید دو جدول دیگر ایجاد می‌گردد. روال کلی به ­صورت زیر است:

مدل تحلیل

مدل طراحی

مثال: ارتباط تولیدکنندگان و قطعات

مدل تحلیل

توجه: صفت QTY، به­ عنوان یک صفت در ارتباط، تعداد قطعات را مشخص می‌کند.

مدل طراحی

0 پاسخ ها

دیدگاه خود را ثبت کنید

آیا می خواهید به بحث بپیوندید؟
در صورت تمایل از راهنمایی رایگان ما استفاده کنید!!

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *