SQL Server: Generalization Sounds like De-Normalization – It’s Not…

Hello Geeks,

many of you might have a misconception that Generalization is like De-normalization but it’s not. Well I have some keynotes about this:

  • When generalizing it’s critical that the entities satisfied with all the rules of normalization, i.e. it must go through each and every normal form (1NF, 2NF, 3NF, BCNF, 4NF and 5NF).
  • Generalization can be defined as combining similar entities into single entities.
  • It also creates a more flexible and elegant database design that is easier to query and extend. So there are three conditions for the generalization:
    • Look for entities with the similar kind of attributes, or entities that share some attributes.
    • Look for types of entities that might have an additional similar entity added in the future.
    • Look for the entities that might be summarized together in reports.
  • The techniques that are essential when designing a generalized entity is that:
    • Use a lookup entity to organize the types of entities.
    • Employing the Supertype or Subtype patterns to the different entity types.
  • Generalized databases tend to be data-driven, have fewer tables, and are easier to extend.
  • Don’t merge unlike entities just to save programming because the result will be more complex programming.
  • So knowing when to generalize and when to segment can be an art form and requires quite a bit database experience.
  • It can be thought of as a buffer against over-complexity and consciously working at understanding generalization is the key to becoming an excellent data modeler.

As you know that it’s very vast topic but these are some thoughts of mine which I have learned from several sources. I am trying to explore more on this…




Piyush Bajaj

Like us on FaceBook Follow us on Twitter | Join the fastest growing SQL Server group on FaceBook

Follow me on Twitter  |  Follow me on FaceBook


About Piyush Bajaj

I am very passionate about SQL Server. I also did certification on MCSA – SQL Server 2012, Querying and Administering; MCTS – SQL Server 2008, Database Development; and MCTS – SQL Server 2005, Implementation & Maintenance, which helped me to get more knowledge and interest on this field.Please feel free to drop me any question online or offline, I will try to give you the best possible answer from my side.Right now I am working as a SQL Server developer in TCS. I have an experience of just 2.6 years, well I can only say that “If you have an interest and passion, experience might become a very small thing”.

View all posts by Piyush Bajaj →

Leave a Reply

Your email address will not be published.