Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: data modeling question.. too many joins?
eugene kim wrote:
> since i heard join is expensive process, i 'm wondering if it's better to
> have school name in teams table(duplication of data)
> for faster data retrieval..
Consider the following first:
What about the overheads in updating an identical column in two different tables? Every single update or insert in the one table will require a check on the 2nd table to keep the duplicate column in sync. Is that also not expensive ito processing time?
What about storage? The problem with these student exercises is that they very seldom take storage into consideration. And that is often an issue when it comes to real databases in a production environment when dealing with 100's of millions of rows. Where are you going to find the space for that duplication of column data?
What does the basic rules of normalisation say? (hope you are learning Codd)
You always must be careful in how you deal with performance issues. What you are thinking about is a very specific design modification to address a single performance problem. Performance should be addressed first by looking at all the other available tools and methods - regular indexes, bitmap indexes, local and global partition indexes, query hints for the optimiser, partitions, clusters, etc. etc. And only when all else fails, then you start to break 3rd normal form for performance tuning reasons (talking OLTP and not OLAP of course).
-- BillyReceived on Mon Sep 09 2002 - 01:52:33 CDT