Chapter 2. Relational Database Modeling
In This Chapter
Identifying multiple entities
I read The Time Traveler's Wife, by Audrey Niffenegger, on my last trip. Without giving away the plot, it's an amazing sci-fi romance story. She moves through time conventionally, while he bounces uncontrollably through time and space, pulled to key events in his life over and over again. Even though the plot is more complex than the average novel, I love how Ms. Niffenegger weaves every detail together into an intricate flow. Every detail fits and builds the characters and the story.
In some ways, a database is like a good story. The plot of the story is in the data model, and the data represents the characters and the details. Normalization is the grammar and structure of the database.
When two writers tell the same story, each crafts the story differently. There's no single correct way to tell a story. Likewise, there's no single correct way to model a database—as long as the database contains all the information needed to extract the story and it follows the normalized grammar rules, the database will work. A corollary is that just as some books read better than others, so some database schemas flow well, while other database designs are difficult to query.
As with writing a novel, the foundation of data modeling is careful observation and an understanding of reality. Based on those insights, the data modeler constructs a logical ...