Showing posts with label design. Show all posts
Showing posts with label design. Show all posts

Friday, February 18, 2011

De-Normalization Guidelines

As I was reading thru an article on denormalization I came across these steps that are guidelines to decide on what would be an candidate to denormalize. Wanted all of you guys also to know...


Three general guidelines to denormalization

First, perform a detailed view analysis in order to identify situations where an excessive number of table joins appears to be required to produce a specific end-user view. While no hard rule exists for defining "excessive," any view requiring more than three joins should be considered as a candidate for denormalization.  Beyond this, system performance testing by simulating the production environment is necessary to prove the need for denormalization.

Second, the designer should attempt to reduce the number of foreign keys in order to reduce index maintenance during insertions and deletions.  Reducing foreign keys is closely related to reducing the number of relational tables.

Third, the ease of data maintenance provided by normalized table structures must also be provided by the denormalized schema.  Thus, a satisfactory approach would not require excessive programming code (triggers) to maintain data integrity and consistency.

Source link : http://www.siue.edu/~dbock/cmis564/denormal.htm

Friday, December 04, 2009

Technology should touch lives

This has been the base of my thought process for quiet sometime or since when I started to progress along this technology path. But my time seems to be running like trying to learn and follow some technology just for the sake of it. I still don't feel that I have created or even tried to create something that touches lives.

Thinking deep it feels as if how can that happen with software development, but I still feel that it can happen. When a mobile phone can reach even a kid at no time, why can't a technology, an invention with software reach people. We see a lot of softwares that are a part of life, but how many of then claim that, it has touched their lives.

All the terms, "technology", "architecture", "software development", "enterprise", "portal", "SaaS", etc.. all should be just shelved off! I had always liked the term KISS that we use in the design world. "Keep It Simple and Stupid"!. But designers and architects seems to have their own style or way of "KISS", like how our heroes have in movies and thus KISS is not effective.

We should have our end-users, in the front of our mind, to whom this piece of software that we design / architect or develop would be a part of their day to day life. The moment we drive all our decisions towards that goal, we can slowly start to realize how our decisions affect the lives of people. We should never be pre-occupied that we are giving them something much better than what they have now, but we should always be inclined to give them the BEST we can out of all our abilities. The moment we start working towards that goal, the reality comes very near and by the time we think of retiring from this career, we can see ourselves into lives of many.

Cheers