جزئیات  
عنوان مدل سازی داده (3)
نوع منبع مقاله
گروه سایر
تاریخ انتشار 1396/10/3
خلاصه مدل سازی داده یکی از اجزاء حیاتی مدیریت داده است . فرآیند مدل سازی مستلزم توجه سازمان به کشف و مستندسازی میزان و نحوه مناسب بودن داده ها می باشد . یک سازمان به کمک مدل سازی داده قادر خواهد بود که نسبت به دارایی های داده خود شناخت مناسب و جامعی را پیدا نماید. بدون وجود مدل های داده با کیفیت و همسو با نیازهای کسب و کار ، امکان ایجاد ارزش از داده وجود نخواهد داشت . پیامدهای یک مدل داده برای یک سازمان بسیار گسترده و طولانی مدت می باشد. به عنوان نمونه ، داستان داده با کیفیت بالا از مدل های داده با کیفیت بالا شروع می شود. یک مدل داده خوب می تواند باعث ایجاد یک برنامه خوب گردد و یک مدل داده بد ، می تواند باعث تولید یک برنامه ناقص الخلقه در سازمان گردد.

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

وجود  صفر در کاردینالیتی مدل داده نشان داده شده در شکل 1 ، ، نشان دهنده اختیاری بودن است که معمولا از واژه های   may و یا can برای تشریح  رابطه استفاده می گردد  و  بودن یک در کاردینالیتی ، نشان دهنده اجبار است که معمولا از واژه های must و یا have to استفاده می گردد . از مدل داده فوق ، موارد ذیل استنباط می گردد :
  • یک مشتری می تواند یک و یا چندین حساب داشته باشد .
  • هر حساب می بایست دارای یک و یا چندین مشتری باشد .
پس از مستند کردن  الزامات فوق  بر روی مدل داده ، می توان در ادامه با بازیگران کسب و کار و فناوری اطلاعات که درگیر توسعه سیستم ها و برنامه ها می باشند ، ارتباط برقرار کرد ( نظیر کاربران کسب و کار ، تحلیل گران کسب و کار ، مدل سازان داده ، معماران داده ، مدیران پایگاه های اطلاعاتی ، پیاده کنندگان ، تست کننده ها و مدیران ) . در واقع ، مدل های داده رسانه اصلی استفاده شده برای برقراری ارتباطات لازم در خصوص الزامات داده از کسب و کار تا فناوری اطلاعات و همچنین درون فناوری اطلاعات از تحلیل گران گرفته تا مدل سازان ، معماران ، طراحان بانک های اطلاعاتی و پیاده کنندگان  می باشند. صرف نظر از این که از چه فناوری بانک اطلاعاتی استفاده خواهد شد ( از سیستم مدیریت بانک های رابطه ای RDBMS نظیر اوراکل و یا MS SQL Server گرفته تا  یک بانک اطلاعاتی NoSQL نظیر MongoDB و یا هدوپ ) ،  به روشی جهت برقراری ارتباطات در خصوص الزامات داده نیاز می باشد و به همین دلیل است که ما همچنان به مدل های داده نیاز داریم .
در بخش اول ، با مفهوم مدل سازی داده و ضرورت های استفاده از آن و همچنین دستاوردهای ملموس و ناملموس آن برای یک سازمان اشاره گردید و در  بخش دوم  با اجزاء مدل سازی داده و همچنین مدل های داده مفهومی ، منطقی و فیزیکی آشنا شدیم . در این بخش با طرح های مدل سازی داده و همچنین  معیارهای ارزیابی کیفیت یک مدل داده آشنا خواهیم شد.
 
  طرح های مدل سازی داده 
برای ارایه داده می توان از طرح های مختلفی (schemes) استفاده کرد . بدین منظور عموما از شش طرح متداول رابطه ای ( Relational ) ، بعدی ( Dimensional ) ، شی گرا ( Object-Oriented ) ، مبتنی بر واقعیت ( Fact-Based ) ، مبتنی بر زمان ( Time-Based) و NoSQL استفاده می گردد . مدل هر یک از طرح های اشاره شده را می توان با در نظرگرفتن  سطح جزئیات به صورت مفهومی ( conceptual ) ، منطقی ( logical ) و فیزیکی ( physical ) ارایه داد . هر مدل شامل مجموعه ای از اجزاء نظیر موجودیت ها ( entities) ، روابط ( relationships) ، واقعیت ها ( facts ) ، کلیدها ( keys ) ، ویژگی ها یا صفات ( attributes ) می باشد. پس از ایجاد مدل ، بررسی نهایی و تایید ، می توان درگیر پیاده سازی و مسائل مربوط به نگهداری شد . مدل های داده شامل متادیتای ضروری برای مصرف کنندگان داده می باشند . اکثر متادیتای ایجاد شده در حین فرآیند مدل سازی ، برای کارکرد موثر و بهینه سایر حوزه های مدیریت داده بسیار ضروری می باشند . مثلا ، تعاریف برای حاکمیت داده و اصل و نسب داده برای انبار داده و تجزیه و تحلیل داده .

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

کارت امتیازدهی مدل داده
 برای ارزیابی مناسب بودن مدل داده ، ده گروه پرسش کلیدی مختلف را تعریف می کنیم که هر یک دارای وزن مختص به خود می باشند ( نمره کل : 100 ) . برای ارزیابی مدل داده ، بر روی هر گروه متمرکز شده و با طرح  برخی پرسش ها  و همچنین بررسی مدل داده و مستندات مربوطه می توان امتیاز مدل در گروه مورد نظر را مشخص کرد  ( ستون مربوط به امتیاز مدل ) . در ستون % ، امتیاز داده شده به  گروه بر امتیاز کل گروه تقسیم و درصد  آن محاسبه می گردد و در ستون توضیحات ، توضیحات ضروری ذکر می شود . تمپلیت کارت امتیازدهی مدل داده  در شکل 2 ، نشان داده شده است .

تمپلیت ارزیابی کیفیت مدل داده
شکل 2 : تمپلیت ارزیابی کیفیت مدل داده
توضیحات تکمیلی هر یک از گروه های ده گانه :
  •  گروه 1 : اطمینان از این که مدل قادر به تامین نیازهای داده می باشد و همه چیز در آن به خوبی دیده شده است .
  • گروه 2 : کامل بودن به دو معنی است : کامل بودن الزامات و کامل بودن متا دیتا . کامل بودن الزامات بدین معنی است که هر نیازی که مطرح  و یا درخواست گردد ، در مدل دیده شده است و مدل صرفا حاوی مواردی است که درخواست می گردد و نه چیز بیش تر دیگری . همچنین لازم است میزان انعطاف و هزینه های احتمالی اضافه کردن الزامات جدید به مدل را نیز بررسی کرد . کامل بودن متادیتا بدین معنی است که تمامی اطلاعات توصیفی در ارتباط با مدل به خوبی ارایه شده اند . به عنوان مثال ، اگر درگیر پیاده سازی مدل داده فیزیکی شده باشیم ، انتظار داریم که توانایی قالب بندی و null بر روی مدل دیده شده باشد .
  • گروه 3 : اطمینان از این که نوع مدل ( مفهومی ، منطقی یا فیزیکی و سپس رابطه ای ، بعدی یا NoSQL ) متناسب با تعاریف انجام شده برای مدل است . به عنوان نمونه ، مدل مفهومی شامل تعاریف دامنه و ضبط نیازهای کسب و کار ، مدل منطقی مستقل از فناوری است و ارایه دهنده یک راه حل کسب و کار است و مدل فیزیکی وابسته به فناوری است و برای کارآیی و امنیت بهینه سازی شده است . چشم انداز رابطه ای  قواعد کسب و کار ، چشم انداز  بعدی سوالات کسب و کار  و چشم انداز NoSQL نحوه ذخیره داده در یک بانک اطلاعاتی غیررابطه ای نظیر یک document و یا graph را ضبط می کنند .
  • گروه 4 : اعتبارسنجی شیوه طراحی بکارگرفته شده در ایجاد مدل انجام می شود . فرض کنید ، یکی از دوستانتان نقشه ساخت منزل خود را به اشتراک بگذارد و نظر کارشناسی شما را جویا شود  . اگر در وسط آشپزخانه پیش بینی نصب یک جکوزی شده باشد و یا اطاقی طراحی شده است که فاقد درب ورودی است ، شما به احتمال زیاد آن نقشه را تایید نخواهید کرد . مدل داده برای یک بانک اطلاعاتی نظیر نقشه ساخت یک منزل است . بنابراین لازم است بررسی شود که آیا همه چیز به خوبی و بر اساس یک ساختار درست دیده شده است؟ . مثلا مقدار یک کلید اولیه اگر به صورت اختیاری در نظر گرفته شده است که می تواند مقدار null را داشته باشد ، می بایست تصحیح و اجباری گردد .
  • گروه 5 : تایید این که استفاده مناسبی از انتزاع یا چکیدگی انجام شده است . زمانی که انعطاف پذیری مهم تر از قابلیت استفاده مجدد است ، انتزاع می تواند مفیدتر واقع شود . بنابراین طبیعی است که انتزاع بیش تر بر روی مدل های داده انبار داده اعمال شود (جهت مدل های تجزیه و تحلیل داده ) .
  • گروه  6  : اطمینان از بکارگیری استانداردهای نام گذاری سازگار و صحیح در مدل داده . تمرکز بر روی ساختارهای استاندارد نام گذاری ، واژه ها و سبک ها می باشد . ساختار بدین معنی است که از بلوک های اساسی مناسبی برای موجودیت ها ، رابطه ها و ویژگی ها استفاده شده است .
  • گروه 7 : اطمینان از این که مدل داده به سادگی قابل خواندن است . شاید اهمیت این سوال به اندازه سایر گروه ها نباشد ولی اگر امکان خواندن مدل ایجاد شده سخت باشد ، نمی توان به بسیاری از پرسش های  سایر گروه های ده گانه پاسخ داد . قرار دادن موجودیت های مادر بالاتر از موجودیت های فرزند ، نمایش موجودیت های مرتبط با یکدیگر ، به حداقل رساندن طول خط رابطه ، جملگی باعث افزایش قابلیت خوانایی مدل داده می گردد .
  • گروه 8 : اطمینان از این موضوع که تعاریف شفاف ، کامل و صحیح می باشند . شفافیت بدین معنی است که یک خواننده قادر به درک معنی و مفهوم یک اصطلاح  در کمترین زمان ممکن است ( یک مرتبه ) . کامل بودن بدین معنی است که مدل شامل تمامی اجزاء ضروری نظیر مشتقات، مترادف ها ، استثنائات و نمونه ها  می باشد . صحت بدین معنی است که تعاریف بطور کامل با ماموریت در نظر گرفته شده برای واژه و یا اصطلاح مطابقت دارد و  با بخش های دیگر کسب و کار سازگار است . 
  • گروه 9 : اطمینان از این که ساختارهای موجود در مدل داده بطور جامع و سازگار دیده شده اند . این کار باعث می شود تا از یک ادبیات مشابه و قواعد یکسان جهت گفتگو در سازمان استفاده گردد . ایده آل این است که مدل داده را با مدل داده سازمانی مقایسه کنیم .
  • گروه 10 : تایید این موضوع که مدل و داده واقعی درون ساختارهای یک دست و منسجم با یکدیگر ذخیره می گردند . به عنوان نمونه آیا ستونی با نام Customer_Name حاوی نام مشتری است ؟
در شکل 3 یک نمونه تکمیل شده تمپلیت کارت امتیازدهی مدل داده  نشان داده شده است . نمره ای که مدل پس از ارزیابی اخذ کرده است 91 می باشد . بر اساس نمرات داده شده به هر یک از گروه های ده گانه ، نقاط بهبود مشخص می گردند و می توان با تمرکز بر روی آنها سطح کیفی مدل داده را ارتقاء داد . 

نتایج  ارزیابی کیفیت مدل داده
شکل 3 : نتایج  ارزیابی کیفیت مدل داده

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


منابع :
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