Dute la http://sqlcat.com/whitepapers/archive/2008/09/03/best-practices-for-semantic-data-modeling-for-performance-and-scalability.aspx si citeste documentul de acolo, care explica destul de detaliat cum se abordeaza si rezolva o astfel de problema.
http://rusanu.com