top of page
Search

הסבר על שאלה 8

  • class928417
  • Oct 26, 2014
  • 1 min read

*** מייל מרן ****

היי,

תרגילים 8 + 8.2 +8.3 עוסקים בטעינת טבלת FactPurchase.

בתרגיל 8:

לצורך הבאת הנתונים, אין כאן תרגול של הבאת נתונים בצורה אינקרמנטלית, כלומר את הדלתא מאז הטעינה הקודמת, אלא מבקשים להביא את כל הנתונים שבטבלאות המקור.

כמו כן, מבוקש ביצוע JOIN בין טבלת ה HEADER לטבלת ה DETAIL כדי להביא את כל השדות הרצויים לטבלת ה FACT שב DWH.

ב 8.2 מטפלים בטעינה ל DWH מה STG. הפקודה המתאימה היא MERGE.

ב 8.3 מטפלים ב RI מול טבלת DimVendor - טבלת "ספקים". כרונולוגית, PACKAGE זה ירוץ, ברוב במקרים, לפני זה של 8.2.

לא מדובר כאן בתחליף ל 8.2, אלא בפעולה נוספת.

מה ה RI הזה אומר?

כמו שכתוב בשאלה, רוצים למנוע מצב בו ישנה רשומת FactPurchase שיש בה VendorID שהוא FK, וה Vendor הזה לא קיים בטבלת המימד שלו- DimVendor

לכן, מכניסים רשומת dummy לDimVendor עם ערכי Default, בדיוק כמו שהסברנו בכיתה.

בפתרונות שלכם קצת "סיבכו" את התשובה כאשר הגדירו משתני T-SQL בפקודת DECLARE עם ערכי ברירת המחדל (default) ואז השתמשו בהם. אולי זה קצת מסורבל במבט ראשון, אבל מבחינה של סדר, ארגון ותכנות זה יותר נכון - תחשבו למה.

קדימה, תשאלו שאלות כי זה נושא חשוב.

רן.


 
 
 

Comments


bottom of page