مدل سازی داده ها ، فرآیند کشف ، تحلیل و تعیین دامنه داده های مورد نیاز و سپس نمایش
آنها در قالب یک مدل داده به صورت بصری است . مدل داده با بکارگیری مجموعه ای از نمادها و متن به دنبال ارایه یک نمایش موثر ، صریح و دقیق از چشم انداز اطلاعات یک سازمان است تا در ادامه ، ذینفعان مرتبط ( با توجه به ماموریت و جایگاه هر یک از ذینفعان ) بتوانند از آن به عنوان یک ابزار ارتباطی جهت شناخت مناسب داده استفاده نمایند.
کشف ، شامل تعیین اطلاعاتی است که کسب و کار برای انجام فرآیندها و یا برنامه های خود به آنها نیاز دارد . مثلا این که بدانیم و یاد بگیریم که مشتری و شماره حساب دو مفهوم مهم در فضای کسب و کار ما می باشند .
تحلیل ، شامل شفاف سازی الزامات است . به عنوان مثال ، دارای تعاریف شفافی برای مشتری و شماره حساب و همچنین ارتباط بین آنها باشیم .
تعیین دامنه ، شامل تعامل با کسب به منظور مشخص کردن مهمترین فعالیت های مورد نیاز در یک پروژه بخصوص است . مثلا آیا ما در مرحله اول پروژه نیاز به ذخیره و بررسی حساب داریم و یا در
مرحله اول ، صرفا نیاز به بررسی حساب وجود دارد .
نمایش ، بدین معنی است که برای ترسیم چشم انداز اطلاعات از یک زبان دقیق ، صریح و غیرمبهم استفاده شده باشد . نظیر آن چه که در مدل داده شکل 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