In DWH loops may exist between the table. If loops exist, then query generation will take more time, because more than one path is available. It creates ambiguity also. Loops can be avoided by creating aliases of the table or by context.. i.e. defining execution path.