Re: database design question
- From: "David Cressey" <cressey73@xxxxxxxxxxx>
- Date: Fri, 13 Jul 2007 11:48:04 GMT
"steven acer" <dudesterr@xxxxxxxxx> wrote in message
news:1184310851.449040.306880@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
hi ,
while designing a database with huge tables that are meant to hold
hundreds of thousdands of rows,
is it a good idea to flatten the tables a bit in order to accomodate
better for queries that require many joins ?
i know that this contradicts with normal forms and puts database
integrity on stake but if it is implemented what
could be the possible benefits and down sides ?
thanks
Hundred of thousands of rows is not sufficiently large, in and of itself, to
motivate departure from normalisation for performance reasons. How
performance gets affected depends of which DBMS and which version you are
using, what your hardware platform is, and a host of other variables.
I have often departed from normalisation, and designed databases with data
joined together in ways that contradict one of the normal forms. This was
almost always in the context of a reporting database, or a database to
support OLAP style activities. The price you pay for making this choice is
that the processes that keep the data up to date are harder to write and run
slower.
My one strong recommendation is that, is you do go in such a direction, that
you follow some other design discipline, one that will help you make
considered judgements about how the denormalized data should be composed.
Avoid just joining data because "it seemed like a good idea at the time."
The design discipline I have followed for reporting and OLAP databases is
star schema. You can learn about it under "data mart" or "data
warehousing". Don't be intimidated by the term "data warehousing". Star
schema is a design discipline that can be scaled down to the size problem
you are working on. It's not hard to learn, but it's hard to accept if
you've already learned how to design normalized data.
I can't say that you really need to denormalize. But if you do, I heartily
recommend star schema design.
.
- References:
- database design question
- From: steven acer
- database design question
- Prev by Date: B+ tree: How to obtain key from value
- Next by Date: Re: database design question
- Previous by thread: database design question
- Next by thread: Re: database design question
- Index(es):
Relevant Pages
|