הצטרפו לקבוצות שלנו לקבלת עדכונים מרוכזים פעם בשבוע:

ווטסאפ:
http://wa.dwh.co.il
טלגרם:
http://telegram.dwh.co.il

footage_miniמה זה בעצם Loop?
אם נסתכל בסכמה הבאה (כל עיגול מסמל טבלה)

01020-01

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

לדוגמא:
אם משתתפים אובייקטים הבנויים על
A,F השאילתא תעבור  A-->E-->F
אם משתתפים אובייקטים הבנויים על
D,C השאילתא תעבור D-->E-->B-->C

המצב המתואר בסכמה הוא מצב פשוט ללא Loops. אך מה היה קורה אם הסכמה הייתה הסכמה הבאה:

01020-02

כעת, הBO נצב בפני בעיה: המסלול בין טבלאות לא מובן מאליו. לדוגמא, אם ניקח אובייקטים מטבלה A לטבלה F, האם יעבור במסלול Aà E->F או שמא A->E->B->C->F.

מצב כזה, שבו שאילתא יכולה לעבור יותר ממסלול אחד מטבלה אחת לשניה, נקרא Loop.

אין לאפשר LOOP בעולם, כלומר יש לפתור את כל הLOOPS בעולם לפני עליה לאוויר!

 footage

{vimeo}40072266{/vimeo}

פתרונות לLoops

לפתרון Loops בעולמות יש ברשותנו מספר כלים.  הDesigner צריך לדעת כיצד להשתמש בכלים אלו, אך יותר חשוב מתי.

הכלים האפשרים הם:

-        Shortcut join

-        Aliases

-        Contexts

 

יש לנסות לפתור את הloops בסדר הזה. הערה: במקרה של DWH אם יותר מFact אחד, אין מנוס מלהשתמש בContexts.