The real key to writing a maintainable, performant business application is much the same as building a house: get the foundation right!
When talking about a house, if your foundation is constructed incorrectly, you may not notice it at first. You may notice that your door begins to stick in its frame, cracks appear in your walls over windows, or maybe tiles on your floor pop out—the first hints of trouble. The symptoms may seem small at first, but if not corrected may result in significant damage to the structure of your home.
While this isn’t a book about home building, it’s no coincidence that both software engineering and home building employ developers and architects with similar responsibilities to the design and development of their products. Wearing our software architect hat, we will start by discussing the foundation of our application: the database.
You may wonder why we begin a book on SharePoint, SQL 2012, and LightSwitch with what might seem like an academic discussion of database normalization. Think back to our example of a house; everything we build from here on out will depend on the foundation of our application, which is the database. Once you master these basic concepts of database design, you have the tools to analyze any set of data and build a robust structure or schema that will ensure data integrity and keep your application maintainable for years to come.
When talking about database design, ...