اذهب إلى المحتوى
  • 0

ماهو نظام الهيكلة النجمي Star Schema في تصميم قواعد البيانات ولماذا نستعمله؟

سعيد يوسف

السؤال

Recommended Posts

  • 1

مع تطور مفاهيم قواعد البيانات أوجد الخبراء أنظمة هيكلية تعطي أداء أفضل من أنظمة أخرى.

من أنواع هيكلة قواعد البيانات و العلاقات بين الجداول هو النظام النجمي، حيث يعتمد على وجود جدول وسيط يربط بين الجداول الفرعية الأخرى في قاعدة البيانات، هذا يسرع الوصول لبيانات نحتاجها في جدول آخر حيث يقلل عدد عمليات الربط الضرورية.

الجدول الرئيسي يدعى جدول الحقيقة Fact table (يحوي غالباً على إحصائيات) والجداول الفرعية الوصفية Dimension تحوي بيانات عادية مثلاً نصية..

البيانات الواقعية رقمية ( عدد مبيعات المنتج) ، بينما بيانات الأبعاد وصفية (مثل سعر المنتج ولونه ووزنه ...).

هيكلية نجمية:

star-schema.thumb.png.ff52cbe68a55365622a22fcec22c8507.png

لاحظ وجود جدول رئيسي يحوي على المفاتيح الأجنبية (الثانوية) لباقي الجداول، أي سنحتاج لعملية ربط واحدة للوصول لأي جدول آخر وقراءة بياناته.

أما في حال اتباع الهيكلية الخطية، سنحتاج لعدد عمليات دمج وبحث أكبر بكثير.

هيكلية خطية:

linear-schema.thumb.png.5fa6369f0fef1b31a73839e83ffacf08.png

مثال:

استطعنا ربط جميع الجداول الفرعية مع جدول الحقيقة بعملية واحدة، بدل سلسلة عمليات ربط

SELECT
	P.Brand,
	S.Country AS Countries,
	SUM(F.Units_Sold)

FROM Fact_Sales F
INNER JOIN Dim_Date D    ON (F.Date_Id = D.Id)
INNER JOIN Dim_Store S   ON (F.Store_Id = S.Id)
INNER JOIN Dim_Product P ON (F.Product_Id = P.Id)

WHERE D.Year = 1997 AND  P.Product_Category = 'tv'

GROUP BY
	P.Brand,
	S.Country

 

star-schema-ex.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...