Summary
In this chapter, we focused on the design aspects of creating and maintaining a database. We also learnt that a relational model does not understand inheritance, interfaces or polymorphism, some common attributes of object-oriented development. Hence, we need to map the object model to the relational data model appropriately so that we can save the domain objects in an efficient way. The logical data model helps us achieve this goal.
It is very important to understand and learn the differences between the logical and physical data models so that we have a clear understanding of the application. Equally important is the normalization of the database; both over- and under- normalized databases should be avoided. Also, design tools like MS Visio help us to create data models for our database including relationships and DDL scripts, which cut down on development time besides making the project more "understandable" with rich diagrams of the data model. So such tools are very important...