Patterns of Data Modeling - Michael Blaha (Taylor and Francis, 2010)