الگوی طراحی جداول ابعاد slowly changing dimension

الگوی طراحی جداول ابعاد slowly changing dimension

بیشتر اوقات مقادیر موجود در جداول ابعاد (Dimensions) ثابت هستند و تغییری در آنها رخ نمی‌دهد. به عنوان مثال تغییر در نام ماه های سال تقریبا غیر ممکن است. اما برخی از اطلاعات قابل تغییر هستند، مانند نام یا نام خانوادگی و آدرس افراد. جهت شرح چنین شرایطی از اصطلاح SCD یا slowly changing dimension استفاده میشود. SCD الگوی طراحی جداول ابعاد است.

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

SCD یک مفهوم جدید نیست بلکه نوع دیگری از طراحی می‌باشد که برای کمک به حل چنین مشکلاتی مفید واقع می‌شود.

 

سه نوع طراحی برای SCD وجود دارد.

نوع اول: در این نوع از طراحی SCD نیازی به رهگیری تغییرات نمی‌باشد. استفاده از حالت نرمال بروز‌رسانی جداول ابعاد بدون اضافه کردن سطر یا ستون خاصی به جدول جهت رهگیری وضعیت تغییرات در داده ها. گزارش با نام جدید نمایش داده می‌شود و نام قدیمی نادرست در نظر گرفته خواهد شد. همچنین در نوع اول تاریخچه تغییرات ثبت و رهگیری نمی‌شود.

نوع دوم: SCD نوع دوم کاملا متفاوت و برعکس نوع اول است. در این نوع تمامی تغییرات بدون اعمال تغییر روی داده‌ها ثبت و رهگیری می‌شود. برای انجام این کار سطر و ستون هایی به جدول مورد نظر اضافه می‌کنیم.

تاریخ شروع و تاریخ پایان به همراه یک کلید اصلی جدید جهت ثبت تاریخچه تغییرات به جدول اضافه می‌کنیم.

به تصویر زیر دقت کنید، به منظور ثبت تغییرات، جدول سمت چپ به جدول سمت راست تغییر می‌کند و توسط فرآیند ETL داده‌ها به شکل نمایش داده شده در جدول پایین درج و بروزرسانی می‌شوند.

الگوی طراحی جداول ابعاد,slowly changing dimension,SCD,طراحی جدول اعداد

 

الگوی طراحی جداول ابعاد,slowly changing dimension,SCD,طراحی جدول اعداد

 

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

 

 

 

 

دیدگاه خود را بنویسید: