EntityDataModel چیست؟

EntityDataModel یا EDM یک مدل توسعه یافته از مدل رابطه ای Entity است که با استفاده از تکنیک های مختلف مدل سازی یک مدل مفهومی از داده ها را مشخص می کند. یا به عبارت ساده تر ساختار داده را در دیتابیس مشخص می کند. به شکل زیر توجه کنید :
EDM

همانطور که در شکل بالا مشاهده می کنید EDM دارای سه رکن اصلی است :

  1. entity type : ساختار کلی داده را در EDM نشان می دهد و شامل موارد زیر است :
    • دارای یک نام منحصر به فرد است (اجباری) مانند Course ، Enrollment و Student.
    • دارای یک یا چند کلید منحصر به فرد است (اجباری) مانند CourseID ، EnrollmentID و ID.
    • داده ها در شکل Property ها هستند (اختیاری) مانند LastName و… در جداول بالا.
    • می تواند شامل Navigation properties باشد (اختیاری) ، با استفاده از این ویژگی می توان ارتباطات بین جداول مختلف را مشخص کرد . برای مثال در جداول بالا هر دانش آموزش که ثبت نام می کند دارای یکسری اطلاعات نظیر نام درس ، شماره دانش آموزی و مقطع تحصیلی است و این ارتباط را با استفاده از Navigation Properties در جدول Student مشخص می شود.
  2. association type: این قسمت ارتباطات (relationships) را در EDM مشخص می کند.در جداول بالا نوع ارتباط بین جداول بالا با این ویژگی مشخص می شود ، برای مثال هر دانش آموزش می تواند یک بار ثبت نام را انجام دهد یا هر جدول ثبت نام می تواند تعدادی دانش آموزش داشته باشد که این ارتباط یک به چند را بین دو جدول Student و Enrollment مشخص می کند.
  3. property: فیلد هایی که در هر Entity type تعریف می شود را می گویند که می تواند نوع داده های ساده باشد مثل string,integer,bool و همچنین ساختار های داده مثل Complex DataType نظیر آرایه ها .