Normalization, history, and event logging
What are the best choices when designing the schema for a relational database? What is the rationale in deciding in favor of one and against some other alternative? Given the amount of vendor-specific recommendations, it is all too easy to overlook basic relational database fundamentals. In this second of two parts, author Philipp K. Janert presents an introduction to database normalization and to the five Normal Forms. He also discusses other possible uses for a database in a project, for example as a repository for configurational or logging data.
In the first half of this article, I began to discuss some general best practices that I have found to be particularly helpful. Again, none of it is specific to any one vendor's product and everything should, therefore, be applicable, regardless of which database implementation is being used. In this concluding article, I'll attempt to give an approachable introduction to the topic of database normalization and to the five Normal Forms. I'll also discuss other possible uses for a database in a project, such as a repository for configurational or logging data, for example.