suppose you have devloped a library mamnagement system
with the folowing tables which are normlaized.with the folowing relations,
member can borrow many books and books can be borrowed by many members additionaly a book belongs to a particular subject (hope this is plain english)

table name(col1,col2.........)
members(mem-id,name,..........)
borrow (mem-id,book-code,date-borrowed,city,zip-code)
books(book-code,desc,sub-code.....)
subjects(sub-code,desc,)

if you want to know which members has borrowed which books on which subjects you have to do a 4 table join.which should look something like this
select distinct a.name,d.desc
from membes a,borrow b,books c,subjects d
where
a.mem-id=b.mem-id and
b.book-code=c.book-code and
c.sub-code=d.sub-code

ah now thats quite a gew joins isnt it ?
now how about breaking some rules of normalization or denormalizing as u call it.

lets change the dat model so that subject table is eliminated .
so we are left with the following tables
members(....)
borrow(....)
books(book-code,desc,subject)
in order to answer our previous question of you want to know which members has borrowed which books on which subjects
we would have to write

select distinct a.name,c.subject
from members a,borrow b,books v
where
a.mem-id=b.mem-id and
b.book-code=c.book-code;
you can get an answer in just 3 table join.
isin that great :-)

be warned denormalization has got its cost in case of real applications like the one i work upon i would probably ahve to code additional database triggers if i dont normalize to maintain refrential integrity.

hope this helps


hrishikesh