• I have continued to research this question, and I have come to the conclusion that the term "snowflake dimension" does not really describe what my intent is for the "addresses" and "phones" dimensions. In fact it seems that open-ended one-to-many relationships between one dimension and another are not really part of the picture in a standard data warehouse design.

    Unless I run across a solution that fits my needs, I am going to incorporate the "main" address and phone number data into the dimNames table and then simply ignore any secondary address and phone types. This will mean that the data warehouse will not be suitable for some types of reporting (such as sending out AR invoices, a function that needs to take into account the secondary AR address type along with the main address type). But it will simplify the design and bring it into conformity with a traditional data warehouse star schema.

    Perhaps for reports needed in business processes (such as monthly statements, invoices, etc.), I should simply use the OLTP database anyway. I was under the impression that a data warehouse could be the sole source of data for all reporting needs, but that may be asking too much. My current opinion is that the data warehouse is the best source of data for analytical reporting, but not necessarily for reports of other kinds.

    I am still interested in additional comment if you have some insight into this scenario.