Modelling, or designing, a database is deciding which tables and columns, together with other objects, are needed to support the application that consumes the data. As applications work with objects and attributes, a common mistake is to create a physical table structure as a copy of the object model. Even if the database supports the object model, the main responsibility of the database is to handle data. When different objects share the same types of data, the database designer needs to look further and model the table based on the types of data.
Database normalization is the process that seeks to eliminate the need for multiple repetitions of the same data. It implies a specific form of field and table organization that will minimize data redundancy and dependency. Therefore, the process of normalization often requires the division of large tables into smaller...