When building an application, your job is not to do what the customer says. Your job is to solve the problem that the customer is imperfectly describing. Accordingly, you must pay attention to the hidden true requirements and interpret and abstract what the customer tells you. In addition, you must recognize arbitrary business decisions that could easily change.

This is why data modeling is important. Data modeling can help you set the scope of an application and communicate your understanding to the customer. You can probe their problem description. You can consider different representations, and how they affect development effort, as well as effectiveness. A sound data model naturally leads to a solid database design and good performance. ...

Get UML Database Modeling Workbook now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.