I have a source table called PersonAssocAddress which link "People" with "Addresses". However the "People" can be Individuals, Organizations or Employees and "Addresses" can be Physical Addresses or Telephone Numbers.
So would you recommend modelling the HashKeys and HashDiffs for each combination (Individual_Physical_Address_HashKey, Individual_Telephone_HashKey, Employee_Physical_Address_HashKey, etc, Indivdual_Telephone_Details_HashDiff, etc.)
Or would you recommend modelling it more generically:
(GPerson_GAddress_HashKey, GPerson_Telephone_Details_HashDiff, etc.). I know the details between physical addresses and Telephone numbers differ so they would remain different hashdiff values but if there was another SAT for each link that housed columns common to both "Address" types, would you then model it as GPerson_GAddress_Source_Audit_HashDiff?
What is the best practice in this case?