تعداد بازدید: 26534

مراحل طراحی یک پایگاه داده (ER)

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

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

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

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

در نمودار ER برای موجودیت از مستطیل ، صفات بیضی ، روابط از لوزی استفاده می کنیم. به طور مثال :

 

نمودار بالا قسمتی از یک نمودار فروشگاه می باشد. معادل موجودیت User ما یک مدل داریم که به Resource کاربر دسترسی دارد. یک جدول هم داریم users . هر کاربر یک محصول را ایجاد می کند. عملیات ایجاد یک محصول یک عملگر است که باید توسط جریان نرم افزار تعبیه گردد. همچنین موجودیت کاربر با محصول رابطه دارد یعنی هر محصول مربوط به یک کاربر می شود . پس جدول products با users از طریق یک کلید به هم متصل می باشند.

انواع موجودیت Enitity

موجودیت یک مفهومی که حاوی یک سری اطلاعات باشد ؛ عملوند یا چیزی شبیه به Resource یا شئ از یک مدل در معماری MVC می توان تشبیه کرد. ما دو نوع موجودیت داریم :

موجودیت مستقل : موجودیتی که مستقل از هر موجودیت دیگر باشد. مثلا User یک موجودیت مستقل از هر موجودیت دیگری است.

موجودیت ضعیف ( وابسته ) : موجودیتی که وابسته به موجودیتی دیگر است و این ارتباط با کلید خارجی ( FK ) تعریف می گردد.به طور مثال هر محصول مربوط به یک کاربر است. کلید خارجی user_id در محصول عامل برقراری این ارتباط است.

انواع صفت Attributes

صفت ها معادل ستون های هر ردیف از یک جدول موجودیت یا Dynamic Property های یک شئ از یک کلاس مدل می باشند. ارتباط تنگاتنگ یک ردیف از یک جدول با یک شئ را ORM می نامیم.

  • صفت کلیدی – Primary Ky
  • صفت ساده و مرکب
  • صفت تک مقداری یا چند مقداری – Singlevalued and Multivalued
  • صفت مبنا یا مشتق –
  • Simple and Derived

کلید اصلی (PK) و کلیدهای خارجی (FK) از میان صفات انتخاب می شوند. اشکال هندسی صفات در نمودار ER هر کدام به شکل زیر ترسیم می شوند :

صفت کلیدی ( کلید اصلی Primary Key ) : کلید اصلی یک یا ترکیبی از چند ستون است که یک مقدار منحصر به فرد به ازای هر ردیف در یک جدول بوجود می آورد. دسترسی به سطر ها از طریق کلید اصلی ساده تر است. در نمودار ER به ازای کلید های اصلی یک خط در زیر صفت می کشیم.

صفت ساده : صفتی که قابل تجزیه نباشد مثل شماره دانشجویی ؛ صفت کلیدی یک صفت ساده است.

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

نکته : در پایگاه داده ما فقط صفات ساده را ذخیره می کنیم و اگر صفت مرکب داشته باشیم آن را به چند صفت ساده تقسیم می کنیم و سپس صفات ساده را ذخیره می کنیم.

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

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

صفت مبنا : صفتی است که مقدارش به طور واضح و مستقیم وارد پایگاه داده می شود مثل نام و نام خانوادگی.

صفت مشتق : صفتی که مقدارش از روی مقادیر دیگر مشتق می شود . مثلا سن که از روی تاریخ تولد بدست می آید یا معدل که از روی سایر نمرات بدست می آید.

انواع رابطه Relation

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

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

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

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

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

  • رابطه یک به یک (one to one) : هر سطر از یک جدول یک موجودیت با یک سطر با جدول موجودیت دیگر. مثلا هر استاد یک گروه آموزشی ( معمولا در صفات مرکب یک مقداری)
  • رابطه یک به چند ( one to many ) : یک سطر از جدول یک موجودیت با چند سطر از جدول موجودیت دیگر . به طور مثال هر کاربر چند محصول می سازد و هر محصول به یک کاربر مربوط می شود.
  • رابطه چند به چند ( many to many ) : رابطه چند به چند مثل رابطه محصول و دسته بندی . هر دسته بندی به چند محصول و هر محصول به چند دسته بندی ارتباط دارد. برای پیاده سازی این رابطه از یک جدول میانی (intermediate table) استفاده می کنیم.
+----+------+-------+   +----+------------+-------------+   +----+------+--------+                      
| ID | name | price |   | ID | product_id | category_id |   | ID | name | degree |                      
+----+------+-------+   +----+------------+-------------+   +----+------+--------+                          
|    |      |       |   |    |            |             |   |    |      |        |                         
+----+------+-------+   +----+------------+-------------+   +----+------+--------+
******products*******   *********catogory_product********   ******categories******

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

محدودیت قدرت cardinality : مفهومی که نشان می دهد یک موجودیت با یک موجودیت دیگر حداقل و حداکثر چند ارتباط می تواند داشته باشد. مثلا هر کاربر حداکثر چند دسته بندی می تواند داشته باشد.

عرضیت modality : مشارکت موجودیت ها در ارتباط می تواند اختیاری یا اجباری باشد. یک ارتباط اختیاری با یک دایره کوچک در اطراف اتصال رابطه و موجودیت و ارتباط اجباری با علامت دوخط مشخص می شود.

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

اشتراک گذاری :

مدیر وب سایت گنوتک . برنامه نویسی رو با زبان C در هفده سالگی شروع کردم . در حال حاضر به برنامه نویسی php برپایه معماری MVC , HMVC و همچنین سیستم مدیریت محتوای WordPress و فریم ورک محبوب لاراول علاقه مند هستم و دوست دارم اطلاعاتم رو با شما به اشتراک بگذارم.

۰ دیدگاه برای مراحل طراحی یک پایگاه داده (ER)

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

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