The physical layer should use simple joins based on primary-foreign key relationships. Complex joins (those using SQL expressions with OR, CASE, etc.) belong in the BMM layer where they can be reused and optimized. Physical joins should mirror actual database relationships.