MIDOONY Logo

مدل های داده و مدل سازی داده (بخش اول - تعاریف Data Models and Data Modeling)

1399/11/22
مدل های داده و مدل سازی داده (بخش اول - تعاریف Data Models and Data Modeling)

#مدل_داده (#Data_Model) عبارتست از یک مدل انتزاعی که عناصر داده را سازماندهی کرده و نحوه ارتباط آنها با هم و با ویژگی های دنیای واقعی را بصورت استاندارد بیان می کند. به عنوان مثال ، مدل داده اتومبیل نشان دهنده اجزاء آن مانند موتور ، اتاق ، ... و رنگ ، اندازه ، قدرت ، ... و نحوه ارتباط آنها می باشد.

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

مدل داده براساس داده ها ، روابط ، معانی و محدودیت های آنها استوار بوده و به شرح جزئیات اطلاعات ذخیره شده در #پایگاه_داده می پردازد. مدل داده به صراحت ساختار داده را تعیین نموده و معمولا توسط #متخصص_داده یا #دانشمند_داده (Data_scientist#) مشخص می شود. مدل های داده اغلب با مدل های عملکردی تکمیل می گردند ، مخصوصاً در زمینه مدل های سازمانی.

 

لزوم استفاده از مدل داده

  • اطمینان از اینکه نمام موجودیت های داده ای مورد نیاز پایگاه داده بطور دقیق در نظر گرفته شده است
  • کمک به طراحی پایگاه داده در سطوح مفهومی ، منطقی و فیزیکی
  • کمک به تعریف روابط جداول ، کلیدهای اصلی و خارجی و روال ها
  • ارائه تصویر شفافی از داده ها برای توسعه دهندگان در ایجاد فیزیکی پایگاه داده
  • شناسایی داده های دیده نشده یا تکراری

 

نقش مدل داده

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

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

  • قوانین کسب و کار که نحوه انجام کارها در یک مکان خاص را مشخص می کنند ، اغلب در ساختارهای مدل داده ثابت می باشند بنابراین تغییری کوچک در قوانین کسب و کار منجر به تغییرات زیادی در سیستم های رایانه ای و رابط های کاربری (interface) می شود.
  • نوع موجودیت ها که اغلب ، یا اصلا شناسایی نمی شود و یا به درستی شناسایی نمی شود که منجر به تکرار داده ها ، تکرار ساختار داده ها و تکرار کارکردها شده و در نتیجه باعث افزایش هزینه توسعه و نگهداری می شود.
  • مدل های داده برای سیستم های مختلف به دلخواه متفاوت هستند و در نتیجه رابط های کاربری پیچیده ای بین سیستم ها برای اشتراک داده ها مورد نیاز است.
  • داده ها را نمی توان به صورت الکترونیکی با مشتریان و تأمین کنندگان به اشتراک گذاشت ، زیرا ساختار و مفهوم داده ها استاندارد نشده است. به عنوان مثال ، داده ها و نقشه های طراحی هنوز هم گاهی روی کاغذ رد و بدل می شوند

دلیل این مشکلات فقدان استانداردی است تا اطمینان دهد مدل های داده هم نیاز کسب و کار را برآورده نمایند و هم سازگار باشند.

 

انواع مدل داده

مدل داده برای نمایش داده ها ، نحوه ذخیره سازی و روابط بین آنها استفاده می شود. مطابق با استاندارد ANSI یک معماری سه سطحی برای مدل داده می توان در نظر گرفت که به صورت زیر تعریف می گردد :

#مدل_مفهومی_داده (#Conceptual_data_model)

به شرح معنایی حوزه و محدوره مدل شامل موجودیت ها و روابط بین آنها می پردازد و برای نمایش داده ها مفاهیم را طوری ارائه می کند که به درک افراد از داده ها نزدیک باشد.

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

سه عنصر مورد استفاده در مدل مفهومی عبارتند از :

  • موجودیت – چیزی در دنیای واقعی
  • ویژگی – خصوصیات هر موجودیت
  • رابطه – وابستگی های بین موجودیت ها

#مدل_منطقی_داده (#Logical_data_model)

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

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

  • مدل سلسله مراتبی نشان دهنده ساختار درختی برای داده ها می باشد که هر شاخه درخت تعدادی رکورد مرتبط را نمایش می دهد.

#مدل_فیزیکی_داده (Physical data model)

ابزار و نحوه ذخیره سازی فیزیکی داده ها شامل تقسیم بندی ها (partitions)، پردازنده ها (CPUs)، فضای ذخیره جداول (tablespaces) و موارد مشابه را شرح می دهد.

از نظر استاندارد ANSI اهمیت این معماری در این است که به سطوح اجازه می دهد نسبتاً مستقل از یکدیگر باشند. فناوری ذخیره سازی می تواند بدون تأثیر بر مدل منطقی یا مفهومی تغییر کند. ساختار جدول می تواند بدون تأثیر (الزاماً) بر مدل مفهومی تغییر کند. البته تغییرات باید از سازگاری لازم برخوردار باشد. بسیاری از پروژه های توسعه نرم افزار در ابتدا بر طراحی مدل داده مفهومی تأکید دارند که می تواند در یک مدل داده منطقی قرار گرفته سپس به مدل داده فیزیکی تبدیل شود.

#مدل_سازی_داده (#Data_modeling)

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

مدل سازی داده ها اولین مرحله فرایند طراحی پایگاه داده است که با یک طراحی سطح بالا بنام طراحی مفهومی آغاز می گردد و هدف از آن توصیف موارد زیر است:

  • موجودیت های داده ای موجود در پایگاه داده (به عنوان مثال محصلان ، مدرسان ، دوره ها)
  • روابط بین موجودیت های داده ای (به عنوان مثال محصلان با مدرسان و مدرسان با دوره ها)
  • محدودیت های موجودیت های داده ای (مثلاً شماره تحصیلی باید دقیقاً هشت رقم داشته باشد)

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

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

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

 

زبان مدل سازی

#Unified_Modeling_Language یا #UML یک زبان مدل سازی استاندارد همه منظوره در زمینه مهندسی نرم افزار است که بصورت گرافیکی جهت تجسم ، تعیین ، ساخت و مستند سازی مصنوعات یک سیستم نرم افزاری استفاده می شود و یک روش استاندارد برای نوشتن پیش نویس طرح اصلی سیستم ارائه می دهد و شامل موارد زیر است :

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

UML ترکیبی از مدل های کارکردی ، مدل های داده و مدل های پایگاه داده را ارائه می دهد.

 

روند طراحی پایگاه داده

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

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

ذیلا مدل های مورد استفاده در طراحی پایگاه داده به ترتیب شرح داده می شود :

مدل خارجی

شامل نماهای مختلف واقعی مورد نیاز کاربر

مدل مفهومی

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

مدل داخلی

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

مدل فیزیکی

شامل نمایش جزئیات کامل پایگاه داده ، پیکربندی فایل ها ، روش های دسترسی ، فشرده سازی ، ذخیره سازی و رمزنکاری که مختص یک DBMS خاص می باشد.

استقلال منطقی و فیزیکی داده

استقلال داده (Data independence) به مصون بودن تعریف و سازماندهی داده در تغییر وضعیت ها اشاره می نماید که شامل دو نوع منطقی و فیزیکی می گردد :

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

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

استقلال فیزیکی داده

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

 

 مدل داده رابطه ای

مدل داده رابطه ای در سال 1970 معرفی گردید و در حال حاضر پراستفاده ترین مدل داده می باشد. مدل رابطه ای زمینه موارد زیر را فراهم نموده است:

  • تحقیق در خصوص داده ها ، روابط و محدودیت ها
  • روشهای بیشمار طراحی پایگاه داده
  • زبان های استاندارد دسترسی به پایگاه داده به نام SQL
  • سیستم های پدیریت پایگاه داده تجاری مدرن

 

مفاهیم اساسی مدل داده رابطه ای

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

در شکل زیر مثال کارت شناسایی با رابطه بین فیلدها و داده های آنها دیده می شود.

 رکوردها و فیلد ها اساس همه پایگاه های داده هستند. هر جدول تصویری واضح از چگونگی رکوردها و فیلدها را ارائه می دهد.

می توان هر ترکیب و ترتیب دلخواهی از فیلدها و رکوردها را استخراج نمود.

  • درجه شامل تعداد ویژگی یا فیلدهای تشکیل دهنده یک جدول می باشد مثلا در شکل قبل درجه جدول 4 است.

 

ویژگی های یک جدول

  • هر جدول دارای نام یکتا می باشد
  • جدول دارای هیچ سطر تکراری نیست و هر سطر جدول یکتا می باشد
  • جدول دارای ستون هایی با ویژگی های یکسان نمی باشد
  • دامنه مقادیر ستون ها بر اساس نوع داده آن ستون می باشد
  • هر ویزگی دارای نام یکتا می باشد
  • توالی سطرها مهم نیست
  • توالی ستون ها مهم نیست 
0 715
دیدگاه کاربران
0 دیدگاه
شما هم دیدگاه خود را ارسال کنید