آموزش سیستم مدیریت پایگاه داده - مفاهیم اساسی
مدل ER دیدگاه مفهومی پایگاه داده را تعریف میکند. این مدل بر اساس موجودیتها و ارتباطات بین آنها کار میکند. در سطح دید، مدل ER به عنوان یک گزینه مناسب برای طراحی پایگاه دادهها مورد توجه قرار میگیرد.
موجودیت (Entity)
موجودیت میتواند یک شیء واقعی در جهان، بدون اهمیت، که به راحتی شناسایی میشود باشد. به عنوان مثال، در پایگاه داده یک مدرسه، دانشآموزان، معلمان، کلاسها و دروس ارائه شده میتوانند به عنوان موجودیتها در نظر گرفته شوند. همه این موجودیتها ویژگیها یا خصوصیتهایی دارند که به آنها هویت میدهد.
مجموعهی موجودیت یک مجموعهای از نوعهای مشابه موجودیتهاست. مجموعه موجودیت میتواند شامل موجودیتها با ویژگیهایی باشد که ارزشهای مشابهی را به اشتراک میگذارند. به عنوان مثال، مجموعه دانشآموزان میتواند شامل تمام دانشآموزان یک مدرسه باشد؛ به طور مشابه، مجموعه معلمان میتواند شامل تمام معلمان یک مدرسه از همه رشتهها باشد. مجموعههای موجودیت نیاز به عضوهای جدا ندارند.
ویژگیها (Attributes)
موجودیتها با استفاده از خصوصیتهای خود نمایش داده میشوند، که به آنها ویژگیها گفته میشود. همه ویژگیها دارای مقادیری هستند. به عنوان مثال، یک موجودیت دانشآموز ممکن است نام، کلاس و سن را به عنوان ویژگیها داشته باشد.
برای ویژگیها دامنهای یا محدودهای از مقادیر وجود دارد که میتوان به ویژگیها اختصاص داد. به عنوان مثال، نام یک دانشآموز نمیتواند مقدار عددی باشد. باید حروفی باشد. سن یک دانشآموز نمیتواند منفی باشد، و غیره.
انواع ویژگیها (Attributes)
-
ویژگی ساده (Simple attribute) - ویژگیهای ساده مقادیر اتمی هستند که قابل تقسیم نیستند. به عنوان مثال، شماره تلفن یک دانشآموز مقدار اتمی از ۱۰ رقم است.
-
ویژگی ترکیبی (Composite attribute) - ویژگیهای ترکیبی از بیش از یک ویژگی ساده تشکیل شدهاند. به عنوان مثال، نام کامل یک دانشآموز میتواند شامل نام و نام خانوادگی باشد.
-
ویژگی استخراجشده (Derived attribute) - ویژگیهای استخراجشده در پایگاه داده فیزیکی وجود ندارند، اما مقادیر آنها از ویژگیهای دیگر موجود در پایگاه داده استخراج میشوند. به عنوان مثال، میانگین حقوق در یک بخش نباید به طور مستقیم در پایگاه داده ذخیره شود، بلکه میتوان آن را مشتق کرد. به عنوان مثال دیگر، سن میتواند از تاریخ تولد استخراج شود.
-
ویژگی تکارزش (Single-value attribute) - ویژگیهای تکارزش شامل یک مقدار هستند. به عنوان مثال - شماره بیمه اجتماعی.
-
ویژگی چندارزش (Multi-value attribute) - ویژگیهای چندارزش ممکن است شامل بیش از یک مقدار باشند. به عنوان مثال، یک شخص میتواند بیش از یک شماره تلفن، آدرس ایمیل و غیره داشته باشد.
این انواع ویژگیها میتوانند به صورت زیر ترکیب شوند:
- ویژگیهای ساده تکارزش
- ویژگیهای ساده چندارزش
- ویژگیهای ترکیبی تکارزش
- ویژگیهای ترکیبی چندارزش
مجموعه موجودیت و کلیدها
کلید یک ویژگی یا مجموعهای از ویژگیهاست که به طور یکتا یک موجودیت را در بین مجموعه موجودیتها شناسایی میکند.
به عنوان مثال، شماره رول یک دانشآموز او را در بین دانشآموزان شناختهپذیر میکند.
-
کلید اصلی (Primary Key) - یک مجموعه از ویژگیها (یک یا بیشتر) که به طور مشترک یک موجودیت را در یک مجموعه موجودیت شناسایی میکنند.
-
کلید کاندید (Candidate Key) - کلید اصلی کمینه را کلید کاندید مینامند. یک مجموعه موجودیت ممکن است بیش از یک کلید کاندید داشته باشد.
-
کلید اصلی (Primary Key) - یک کلید کاندید که توسط طراح پایگاه داده برای شناسایی یکتا مجموعه موجودیت انتخاب میشود.
رابطه (Relationship)
ارتباط بین موجودیتها را رابطه مینامیم. به عنوان مثال، یک کارمند در یک بخش کار میکند، یک دانشآموز ثبتنام میکند در یک درس. در اینجا، کار میکند و ثبتنام، روابطی نامیده میشوند.
مجموعه روابط (Relationship Set)
یک مجموعه از روابط با نوع مشابه، مجموعه روابط نامیده میشود. مانند موجودیتها، یک رابطه هم میتواند دارای ویژگیها باشد. این ویژگیها را ویژگیهای توصیفی مینامند.
درجه رابطه (Degree of Relationship)
تعداد موجودیتهای شرکتکننده در یک رابطه، درجه رابطه را تعیین میکند.
- دودویی = درجه ۲
- سهگانه = درجه ۳
- n-رابطه = درجه
نگاشت (Mapping Cardinalities)
نگاشت تعداد موجودیتها در یک مجموعه موجودیت را تعریف میکند که میتوانند با تعداد موجودیتهای مجموعه دیگر از طریق مجموعه رابطه مرتبط باشند.
-
یک به یک - یک موجودیت از مجموعه موجودیت A میتواند با حداکثر یک موجودیت از مجموعه موجودیت B و بالعکس مرتبط شود.
-
یک به چند - یک موجودیت از مجموعه موجودیت A میتواند با بیش از یک موجودیت از مجموعه موجودیت B مرتبط شود، اما یک موجودیت از مجموعه موجودیت B میتواند با حداکثر یک موجودیت مرتبط باشد.
-
چند به یک - بیش از یک موجودیت از مجموعه موجودیت A میتواند با حداکثر یک موجودیت از مجموعه موجودیت B مرتبط شود، اما یک موجودیت از مجموعه موجودیت B میتواند با بیش از یک موجودیت از مجموعه موجودیت A مرتبط باشد.
-
چند به چند - یک موجودیت از A میتواند با بیش از یک موجودیت از B و بالعکس مرتبط شود.