Define what a Loop is
Detect and recognize loops in Universe
Using Aliases and Contexts to resolve the loops
Identify when in the design process you resolve loops
Be able to use shortcut joins and know when to use them as alternative for resolving loops.
Be able to resolve recursive table structure loops.
…
A loop exists when the joins between tables form a continuous path
Three automated routines can be used to resolve most loop situations in the universe structure window.
1. Must be first Cardinality Detection
2. Alias Detection routine
3. Context Detection routine.
Click the Detect cardinalities or you can set manually also.
What is an Alias?
• An Alias is an exact duplicate of the original table with a new name. The data in the table is exactly the same.
• The Alias is used only to resolve the loop in the structure of the universe. There is no impact on the schema of the database
– Easy to define
– Easy to maintain
– Easy to use
• A loop with a single lookup table should be resolved by an alias
• A lookup table can be identified by its cardinality
• A lookup table only has the ‘one’ end of joins attached to it
Designer routines detect loops and candidates for aliases.
Break the loop by creating an alias of the lookup table for each side of the loop.
Some DBs require a separate alias for both sides of the loop.
After that you can detect loop once again,
Alias detection routine
You can use automatic loop detection also,
Click the Detect loops button, it will be identifies loops are exist or not
You can get the message in Loop detect window and it suggest to candidate contexts or aliases
If it is structure multi star situation it not possible using alias.
Normalized dimensions are not amenable to loop resolution using Aliases
• If you try to resolve the loop using Aliases:
And also we get duplicate of objects
This will be effective sales universe Rentals universe
In this case we can use to resolve with contexts.
after result look like this way.
Detecting and create context.
Double click the context in the list mode window
- give it context name
- if want write any description to update description this will be user
Detect and recognize loops in Universe
Using Aliases and Contexts to resolve the loops
Identify when in the design process you resolve loops
Be able to use shortcut joins and know when to use them as alternative for resolving loops.
Be able to resolve recursive table structure loops.
…
A loop exists when the joins between tables form a continuous path
Three automated routines can be used to resolve most loop situations in the universe structure window.
1. Must be first Cardinality Detection
2. Alias Detection routine
3. Context Detection routine.
Click the Detect cardinalities or you can set manually also.
What is an Alias?
• An Alias is an exact duplicate of the original table with a new name. The data in the table is exactly the same.
• The Alias is used only to resolve the loop in the structure of the universe. There is no impact on the schema of the database
– Easy to define
– Easy to maintain
– Easy to use
• A loop with a single lookup table should be resolved by an alias
• A lookup table can be identified by its cardinality
• A lookup table only has the ‘one’ end of joins attached to it
Designer routines detect loops and candidates for aliases.
Break the loop by creating an alias of the lookup table for each side of the loop.
Some DBs require a separate alias for both sides of the loop.
After that you can detect loop once again,
Alias detection routine
You can use automatic loop detection also,
Click the Detect loops button, it will be identifies loops are exist or not
You can get the message in Loop detect window and it suggest to candidate contexts or aliases
If it is structure multi star situation it not possible using alias.
Normalized dimensions are not amenable to loop resolution using Aliases
• If you try to resolve the loop using Aliases:
And also we get duplicate of objects
This will be effective sales universe Rentals universe
In this case we can use to resolve with contexts.
after result look like this way.
Detecting and create context.
Double click the context in the list mode window
- give it context name
- if want write any description to update description this will be user