مدل داده ها

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

مدل سازی داده به عنوان یک پل ارتباطی بین دنیای واقعی و سیستم های پایگاه داده
شکل ۱ : مدل سازی داده به عنوان یک پل ارتباطی بین دنیای واقعی و سیستم های پایگاه داده

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

اجزاء مدل سازی داده 
نوع های مختلف مدل های داده ، داده را از طریق قراردادهای متفاوتی نمایش می دهند . اکثر مدل های داده شامل بلوک های اساسی اولیه موجودیت ها (entities) ، روابط ( relationships ) ، ویژگی ها (attributes) و دامنه ها ( domains ) می باشند . در ادامه بطور مختصر به هر یک از موارد فوق اشاره می گردد .
موجودیت : خارج از دنیای مدل سازی داده ، موجودیت به چیزی اطلاق می گردد که از چیزهای دیگر مجزا شده است . در دنیای مدل سازی داده ، یک موجودیت چیزی است که یک سازمان در خصوص آن اطلاعاتی را جمع آوری می کند . به موجودیت در برخی موارد به عنوان اسامی یک سازمان رجوع می شود . یک موجودیت می تواند پاسخی باشد به یک پرسش اساسی : چه کسی ، چی ، کجا ، چه زمانی ، چرا ، چگونه و یا ترکیبی از پرسش های فوق .  در شکل ۲ ، گروه های متداول موجودیت ها نشان داده شده است .

 گروه های متداول موجودیت ها  
شکل ۲ :  گروه های متداول موجودیت ها

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

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

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

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

 موجودیت دانشجو به همراه ویژگی های آن
شکل ۴ :  موجودیت دانشجو به همراه ویژگی های آن

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

سطوح جزئیات مدل داده
جزئیات مدل سازی داده در سطوح مختلف تشریح می گردد . مدل داده مفهومی ( CDM ) ، مدل داده منطقی ( LDM) و مدل داده فیزیکی ( PDM) سه نوع متداول برای تشریح سطح جزئیات مدل سازی داده می باشند . در بالاترین سطح ، مدل داده مفهومی قرار دارد که یک دید سطح بالا ( از ارتفاع بسیار بالا ) از راه حل کسب و کار را نشان می دهد . مدل داده مفهومی ، زمینه و دامنه مدل داده منطقی را فراهم می نماید . در واقع در مدل داده منطقی ، راه حل کسب و کار با جزئیات بیش تری تشریح می گردد . مدل داده منطقی ، نقطه شروع اثرگذاری فناوری بر روی مدل داده را فراهم می کند که در نهایت به شکل گیری مدل داده فیزیکی ختم می گردد . مدل داده فیزیکی ، بیانگر ساختارهای واقعی بانک اطلاعاتی استفاده شده می باشد . در شکل ۵ ، سطوح سه گانه مفهومی ، منطقی و فیزیکی نشان داده شده است .

سلسله مراتب مدل های داده مفهومی ، منطقی و فیزیکی
شکل ۵ : سلسله مراتب مدل های داده مفهومی ، منطقی و فیزیکی
  •  مدل داده مفهومی :  بالاترین سطح رابطه بین موجودیت های حیاتی و مهم کسب و کار شناسایی می گردد و شامل مواردی نظیر موجودیت های مهم به همراه روابط بین آنها می باشد . در مدل داده مفهومی ویژگی ها و کلید اولیه مشخص نمی گردند .
  • مدل داده منطقی : در این مدل سعی می گردد حتی المقدور داده با جزئیات بیش تر و بدون توجه به شیوه پیاده سازی فیزیکی در بانک اطلاعاتی تشریح گردد . مشخص کردن موجودیت ها و روابط بین آنها ، لیست تمامی ویژگی ها برای هر یک از موجودیت های مشخص شده ، کلید اولیه برای هریک از موجودیت های مشخص شده و همچنین مشخص کردن کلیدهای خارجی از جمله ویژگی های مهم مدل داده منطقی می باشد .
  • مدل داده فیزیکی : در این مدل نحوه ایجاد مدل در بانک اطلاعاتی رابطه ای و یا غیررابطه ای  تشریح می گردد . ساختار تمامی جداول  شامل اسامی ستون ها ، نوع داده هر ستون ، محدودیت های ستون ها ، کلید اولیه ، کلید خارجی و ارتباط بین جداول مشخص می گردد . مدل داده فیزیکی برای سیستم های مدیریت بانک اطلاعاتی رابطه ای ( RDBMS ) متفاوت خواهد بود . به عنوان نمونه نوع داده برای یک ستون ممکن است در MySQL و SQL Server متفاوت باشد .

در شکل ۶ تفاوت بین سه مدل فوق نشان داده شده است .

تفاوت مدل های داده مفهومی ، منطقی و فیزیکی
شکل ۶ : تفاوت مدل های داده مفهومی ، منطقی و فیزیکی

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

منابع :

Steve Hoberman , Data Modeling Made Simple: A Practical Guide for Business and IT Professionals ,Technics Publications , 2009
Steve Hoberman , Data Modeling for MOngoDB ,Technics Publications , 2014
Paulraj Ponniah, Data Modeling Fundementals A Practical Guide for IT Professionals, Wiley ,  2007
Dama International , DAMA-DMBOK: Data Management Body of Knowledge (2nd Edition),Technics Publications; Second edition, Technics Publications , July 5 2017