نمودار ای آر

نمودار ER در پایگاه داده

 

نمودار ER (Entity-Relationship Diagram) یک نمودار مفهومی است که برای نمایش روابط بین اجزا یک پایگاه داده استفاده می‌شود. این نمودار از دو مفهوم اصلی موجودیت‌ها (Entities) و روابط (Relationships) تشکیل شده است.

نمودار روابط موجودیت ها یا Entity Relationship Diagram که به اختصار به آن مدل ER نیز می گویند یک نمودار که Resource های یک نرم افزار یا اشیا یک پایگاه داده را به همراه صفات آن ها و روابط میان آن ها توصیف می کند.

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

یک نمودار ER تمام یک نرم افزار نیست بلکه بخشی از جریان یک نرم افزار است ؛ برای طراحی هر نمودار باید مراحل زیر را طی کنید :

  • تعیین موجودیت ها ( محصول ، کاربر ، دسته بندی)
  • تعیین صفات میان موجودیت ها ( شناسه کاربری ، نام کاربری )
  • تعیین روابط میان موجودیت ها ( خرید کردن ، ساختن یک محصول)

 

حال به تعریف چند کلمه کلیدی مهم در پایگاه داده می پردازیم:

Entity

یک Entity می تواند یک شیء در دنیای واقعی باشد؛ این شیء می تواند زنده یا غیر زنده باشد به هر حال فرقی نمی کند همین که شیء مورد نظر به راحتی قابل شناسایی باشد کافی است. به عنوان مثال در یک پایگاه داده مدرسه، دانش آموزان، معلمان، کلاس ها و دوره های ارائه شده می توانند به عنوان Entity در نظر گرفته شوند. همه این Entity ها دارای برخی خصوصیات یا خصوصیاتی هستند که به آنها هویت می بخشد.

مجموعه Entity مجموعه ای از انواع مشابه Entity است. مجموعه موجود ممکن است دارای اشخاصی باشد که دارای ارزش های مشابه هستند. به عنوان مثال یک مجموعه دانش آموز ممکن است شامل همه دانش آموزان یک مدرسه باشد. به همین ترتیب، یک مجموعه معلمان ممکن است شامل همه معلمان یک مدرسه از همه دانشکده ها باشد. مجموعه های Entity لازم نیست از هم جدا شوند.

 

 

نوع موجودیت: گروهی از موجودیت های مشابه که ویژگی های مشابه دارند.

مجموعه موجودیت: زیر گروه خاص از یک نوع موجودیت که زیرمجموعه ای از ویژگی های مشترک دارند.

دسته بندی موجودیت ها: انواع موجودیت ها را می توان به سه دسته تقسیم بندی کرد:

  • موجودیت قوی
  • موجودیت ضعیف
  • موجودیت مشارکتی

 

تفاوت های بین موجودیت قوی و ضعیف:

 

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

Attributes

 

Entity ها با استفاده از Attributes های خود به نام صفات نمایش داده می شوند. همه Attribute ها دارای مقادیر هستند. به عنوان مثال یک Entity از دانش آموزان ممکن است از اسم، کلاس و سن به عنوان Attributes برخوردار باشد.

دامنه یا دامنه ای از مقادیر وجود دارد که می تواند به Attributes ها اختصاص یابد. به عنوان مثال، نام دانش آموز نمی تواند یک مقدار عددی باشد. باید حروف الفبا باشد. سن دانش آموز نمی تواند منفی باشد و غیره.

انواع Attributes ها در پایگاه داده

 

  • Attributes ساده – Attributes های ساده مقادیر اتمی هستند که نمی توان آنها را بیشتر از آن چه هستند تقسیم کرد. به عنوان مثال، سن دانش آموزان یک مقدار اتمی ۲ رقمی است.
  • Attributes ترکیبی – Attributes های ترکیبی از بیش از یک Attribute های ساده ساخته می شوند. به عنوان مثال ، نام کامل دانش آموز ممکن است دارای first_name و last_name باشد.
  • Attributes مشتق شده – Attributes های مشتق شده Attributes هایی هستند که در پایگاه داده فیزیکی وجود ندارند، اما مقادیر آن ها از دیگر Attributes های موجود در پایگاه داده حاصل می شود. به عنوان مثال ، medium_salary در یک بخش نباید مستقیماً در پایگاه داده ذخیره شود، در عوض می توان آن را مشتق کرد. برای مثال دیگر ، سن را می توان از data_of_birth بدست آورد.
  • Single-value attribute – Single-value attribute شامل مقدار واحد هستند. به عنوان مثال – Social_Securance_Number.
  • Multi-value attribute – Multi-value attribute ممکن است بیش از یک مقدار داشته باشد. به عنوان مثال یک شخص می تواند بیش از یک شماره تلفن، آدرس ایمیل و غیره داشته باشد.

این نوع ویژگی ها می توانند به شکلی مانند موارد زیر باشند:

  • simple single-valued attributes
  • simple multi-valued attributes
  • composite single-valued attributes
  • composite multi-valued attributes

 

 

هر موجودیت باید ویژگی یا ویژگی های منحصر به فردی داشته باشد که آن را از سایر موجودیت ها متمایز کند، بنابراین صفت کلیدی تعریف می شود. همانطور که گفتیم صفت کلیدی موجودیت یک صفت یا مجموعه صفاتی است که برای تعریف و شناسایی منحصر به فرد یک موجودیت استفاده می شود.

 

تفاوت های بین صفت کلیدی و صفت کلیدی جزئی:

 

صفت کلیدی جزئی صفت کلیدی
مجموعه صفاتی که موجودیت ضعیف را به طور منحصر به فرد شناسایی می کند. با ویژگی های منحصر به فرد موجودیت تعیین می شود.
تا حدی منحصر به فرد است و با موجودیت قوی دیگری ترکیب شده است. به ذات منحصر به فرد است.
با یک بیضی و بدون خط زیر متن نشان داده می شود. با یک بیضی و خط زیر صفت نشان داده می شود.

 

 

Entity-Set و Keys

 

Key یک Attribute یا مجموعه ای Attributes هایی است که یک Entity را در بین مجموعه Entity ها به طور منحصر به فرد مشخص می کند.
به عنوان مثال ، roll_number یک دانش آموز باعث می شود که وی در بین دانش آموزان قابل شناسایی باشد.

  • Super Key – مجموعه ای از Attributes ها (یک یا چند) که به طور جمعی Entity موجود در یک مجموعه Entity را مشخص می کند.
  • Candidate Key – یک Key فوق العاده کوچک را Candidate Key را می گویند. مجموعه Entity  ممکن است بیش از یک Candidate Key داشته باشد.
  • Primary Key – کلید اصلی در پایگاه داده یا Primary Key یکی از Candidate Key ها است که توسط طراح پایگاه داده برای شناسایی منحصر به فرد مجموعه Entity  انتخاب می شود.

Relationship

 

ارتباط بین Entity ها در پایگاه داده یک Relationship نامیده می شود. به عنوان مثال، یک کارمند در یک بخش کار (works_at) می کند، یک دانش آموز در یک دوره ثبت نام (Enrolls) می کند. در اینجا ، Works_at و Enrolls را می توان Relationship نامید.

مجموعه Relationship در پایگاه داده

مجموعه ای از روابط از نوع مشابه، مجموعه Relationship نامیده می شود. مانند Entity ها، یک Relationship نیز می تواند Attributes هایی داشته باشد. این Attributes ها Attributes های توصیفی نامیده می شوند.

درجه Relationship در پایگاه داده

تعداد افراد شرکت کننده در یک Relationship میزان Relationship را مشخص می کند.

  • Binary = degree 2
  • Ternary = degree 3
  • n-ary = degree

 

انواع رابطه Relation در پایگاه داده

 

ارتباط میان دو موجودیت یا Actions در نمودار ER نمایانگر این است که چگونه دو موجودیت اطلاعات میان خود را به اشتراک می گذارند. هر ارتباط هم می تواند صفات خود را داشته باشد.

درجه رابطه grade : درجه رابطه به تعداد موجودیت هایی که در یک رابطه شرکت دارند گفته می شود.مثلا رابطه میان محصول که توسط کاربر ساخته که دو موجودیت محصول و کاربر را دارد ، درجه ۲ می باشد.

نکته : اکثر رابطه ها در پایگاه داده درجه ۲ می باشند و رابطه های درجه بالا تر به درجه های دوتایی معادل تبدیل می شوند.

اتصال Connectivity : مفهومی است که نشان می دهد یک موجودیت از یک طرف رابطه با چند موجودیت از طرف دیگره در ارتباط است و از علائم ۱ , M , N استفاده است.

انواع اتصال در ER :

  • رابطه یک به یک (one to one) : هر سطر از یک جدول یک موجودیت با یک سطر با جدول موجودیت دیگر. مثلا هر استاد یک گروه آموزشی ( معمولا در صفات مرکب یک مقداری)
  • رابطه یک به چند ( one to many ) : یک سطر از جدول یک موجودیت با چند سطر از جدول موجودیت دیگر . به طور مثال هر کاربر چند محصول می سازد و هر محصول به یک کاربر مربوط می شود. خلاف این موضوع رابطه چند به یک می باشد مثلا در پایگاه داده بانک چند نفر حساب مشترک داشته باشند .
  • رابطه چند به چند ( many to many ) : رابطه چند به چند مثل رابطه محصول و دسته بندی . هر دسته بندی به چند محصول و هر محصول به چند دسته بندی ارتباط دارد. برای پیاده سازی این رابطه از یک جدول میانی (intermediate table) استفاده می کنیم.

مدل های داده مفهومی، منطقی و فیزیکی در مرجع نمودار ER

 

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

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

مدل داده مفهومی

مدل مفهومی نمودار رابطه‌ای، اشیاء تجاری که باید در یک سیستم وجود داشته باشند و روابط بین آنها را مدل‌سازی می‌کند. در یک مدل مفهومی با شناسایی اشیاء تجاری درگیر در رابطه، تصویری کلی از سیستم ارائه می‌شود. این مدل داده مشخص می‌کند چه موجودیت‌هایی (نه جداول) وجود دارند. به عنوان مثال، جداول “چند به چند” ممکن است در یک مدل داده‌ منطقی یا فیزیکی وجود داشته باشد اما آنها فقط به شکل یک رابطه فاقد کاردینالیتی در مدل داده مفهومی نمایش داده می‌شوند.

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

مدل داده منطقی

 

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

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

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

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

مزایای نمودار ER

 

  • یک نمایشی تصویری از ساختار کلی ارائه می دهد.
  • به طراحان پایگاه داده برای ایجاد یک طراحی یا معماری کارآمد کمک می کند.
  • جریان داده ها و عملکرد کل سیستم را نشان می دهد.
  • به عنوان یک نقشه برای پایگاه داده موجود عمل می کند.
  • به ارتباط موثر کمک می کند زیرا خوانندگان می توانند روابط بین فیلدهای مختلف را درک کنند.
  • انعطاف پذیری در روابط فراهم می کند.
  • یک پشتیبانی خوب برای سیستم مدیریت پایگاه داده (DBMS) است.

معایب نمودار ER

 

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

نرمال سازی نمودار ER

 

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

برخی از دلایل نرمال سازی ER عبارتند از:

  • به بهبود مدل مفهومی کمک می کند.
  • سرعت در اجرا را بالاتر می برد.
  • در استاندارد سازی واژگان سازمانی کمک می کند.
  • به رعایت قوانین تجاری تاکید دارد.
  • روی اطمینان از کیفیت مناسب داده ها تاکید دارد.
ما در آکادمی آنلاین قاسمی این امکان را فراهم نموده ایم تا با سبکی کاملا متفاوت و اصولی شما را از آغاز تا پایان دوره نمودار ER در Database همراهی کنیم و موفقیت شما را در این درس شاهد باشیم.
آموزش پایگاه داده, آموزش طراحی نمودار ER, اصول طراحی نمودار ER در پایگاه داده, درس پایگاه داده رشته نرم افزار, نمودار er پایگاه داده, نمودار ER در پایگاه داده, نمودار ای آر در پایگاه داده
نوشتهٔ پیشین
اصول Database
نوشتهٔ بعدی
Linux

پست های مرتبط

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

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

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

You cannot copy content of this page

error: Content is protected !!