مدل ستاره
مدل ستاره یکی از رایجترین مدلهای طراحی برای پیادهسازی Data mart در یک انبار داده میباشد . در مدلسازی Star Schema دو مفهوم Dimension Table و Fact Table استفاده میشود.
Dimension Table
صفتهای مرتبط با یک شی یک Dimension Table را تشکیل می دهند.برای مثال در یک سازمان، مشتری دارای مشخصات فردی مانند اسم,فامیل,آدرس و تلفن میباشد .بدین ترتیب یک جدول به نام مشتری که حاوی مشخصات مشتریان است مورد نیاز میباشد .نمونههای دیگری از یک Dimension Table میتواند جدول مربوط به اطلاعات محصولات یک کار خانه یا اطلاعات مربوط به شهرهای یک کشور باشد.
توجه داشته باشید که در این نوع جدول هیچ نوع صفت قابل اندازه گیری مانند "مبلغ خریداری شده توسط مشتری "وجود ندارد.
Fact Table
تمامی صفتهای قابل اندازهگیری در Fact table قرار میگیرد.به عنوان مثال جدول فروش حاوی مبلغ فروش، تعداد فروش، میزان سود و ... میباشد.
یک Fact Table میتواند به چندین Dimension Table متصل شده و یک ستاره ایجاد کند. برای ایجاد اتصال, کلید اولیه(Primary key) یک Dimension به عنوان کلید خارجی (Foreign Key) برای Fact Table در نظر گرفته میشود. برای تعیین میزان فروش به یک مشتری خاص نیاز به ایجاد پیوند بین Fact Table و Dimension Table وجود دارد.
تفاوت اصلی بین کلید خارجی و کلید اصلی در این است که کلید خارجی یک ستون یا مجموعه ای از ستون ها است که به یک کلید اصلی یا کلید نامزد جدول دیگر اشاره می کنند در حالی که کلید اصلی یک ستون یا مجموعه ستون هایی است که می توان از آنها استفاده کرد منحصر به فرد یک ردیف در یک جدول را مشخص کنید.[۱]
چرا برای طراحی لایه دسترسی ,Presentation, مدل ستاره ای انتخاب می شود؟
استفاده از مدل ستاره ای به کاربران کمک خواهد کرد که درخواستهای خود,Query,را به صورت ساده تری اماده و اجرا کنند. همچنین پیادهسازی پایگاه داده چند بعدی, Multidimensional database,آسانتر خواهد بود.
نکته:یک داده گاه میتواند مجموعه ای از جند ستاره باشد.اتصال یک Fact Table به چند Dimension Table یک ستاره خواهد ساخت.
مثال
یک شرکت بیمه دارای پایگاه دادههای مختلفی میباشد .هر یک از این پایگاه دادهها حاوی اطلاعات خاصی میباشند.به عنوان مثال از پایگاه داده اورکل برای دخیره اطلاعات مربوط به مشتریان و از پایگاه داده Sybase برای دخیره اطلاعات مربوط به فروش استفاده میشود.هر یک از این پایگاه دادهها اطلاعات 1 سال اخیر را خواهد داشت.
این شرکت بیمه دارای یک انبار داده خواهد بود تا اطلاعات مربوط به مشتریان و فروش در 6 سال گذشته را به صورت یکجا در اختیار مدیران قرار دهد.این انبار داده میتواند چندین Datamart داشته باشد.برای مثال داده گاه فروش میتواند حاوی چندین ستاره باشد.یک از ستارهها به شکل زیر خواهد بود.