Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: which data model is better?
Hans Forbrich wrote:
> dx wrote:
>
>>Hi Daniel, >> >>Thanks for your comment. But, actually for our application, in 99.99% >>there is no need for third address, I'm pretty sure there is more >>chance to add other attributes like spoken_language, birth_date, etc >>than to add a third address. So even you choose a separate address and >>phone table, the seperate table model still has almost the same chance >>to change with one table model. >> >>In my opinion, performance and ease of use is always my goal to design >>data model. Suppose a simple business question like getting all >>information of customers who live in city 'TORONTO' and business phone >>like '416%', it's always much harder to get answer from seperate table >>model than >> >>select * from customer where home_city = 'TORONTO' and business_phone >>like '416%';
>>And how many extra logic I/O will be performed for seperate table >>model? you really want to trade performance and ease of use for this >>imagined flexibility?
>>Yes, I would follow CODD's rule, but I don't want to rigidly stick to >>it.
I think one can safely say, as a generalization, that flat file models are faster than relational models. The "compelling" reason I refer to when I say there should be a compelling reason to denormalize ...is performance. But that performance hit should be measured ... not anticipated. If it exists ... then denormalize. Consider how many indexes it would take to handle phone number area codes if they are in separate columns ... not just as many ... but more.
But as you point out ... a smaller row, one that fits into a block, will have a benefit too. Or a situation where fetching a single block returns all of the information I need rather than several blocks ... is far more efficient of resources.
One thing I hear often is complaints from report writers who get tables designed by horizontal thinkers and who then expect some poor person, at a different desk in a different department, to figure out how to put it all back together again. If developers included report writers in their design meetings they might find out just how little appreciation there is for many denormalizations.
-- Daniel Morgan http://www.outreach.washington.edu/ext/certificates/oad/oad_crs.asp http://www.outreach.washington.edu/ext/certificates/aoa/aoa_crs.asp damorgan_at_x.washington.edu (replace 'x' with a 'u' to reply)Received on Sat Jan 17 2004 - 21:13:30 CST
![]() |
![]() |