 <p>A properly normalized database will look <em>nothing</em> like a proper object-oriented design. The needs of a database are very different from the needs of a software application.</p> <p>You should design your application according to the requirements for how it is to be used. What sorts of things is the application supposed to do? What objects will be required to support those needs? And what are the natural relationships between them?</p> <p>A single business object may be stored across a dozen database tables, or a single table may store data for a dozen objects. It really depends on the specifics of the system you are working with.</p>