DB design document
Jean-David Beyer
jdbeyer@exit109.com
Sun, 17 Dec 2000 20:22:59 -0500
Phillip Shelton wrote:
>
> > -----Original Message-----
> > This can certainly be a problem, but if the person who has the role of
> > database designer normalizes (preferably to at least 3BNF*)
> > the database
> > when designing it, the times you would want to change its basic design
> > should be extremely few, since each table (relation) of the database
> > should be set up to correspond to one entity or concept in the real
> > world and since the real world should not be changing all
> > that much, the
> > need to change existing items in the database should not
> > change all that
> > much either. (It might be necessary to add new tables to correspond to
> > new stuff in the real world that GnuCash is to handle, but that would
> > not require "refactoring".)
>
> This only works if the DB designer know that they know all that is requied
> and how it is relates to everything else.
Actually, while important, it is less important with a normalized rdbms
than it is if someone sets up a bunch of flat files and tries to manage
it with complex custom code or some sort of hierarchical or network
model dbms. There, the initial hierarchy or network links almost always
turn out to be wrong as the project evolves, and the changes are more
difficult than with the relational model.
>
> I think that David M is still trying to make sure that he understands what
> it is that gnycash needs to store.
A good thing, too! Just what he should be doing (to begin with).
The easiest time to construct the foundation for a house is before the
rest of it is built. (I have seen a counterexample, where someone tried
to put a foundation under a house that had none, and the beams along the
bottom had already rotted, so they could not simply jack up the house,
as there were no longer any jacking points.)
--
.~. Jean-David Beyer Registered Linux User 85642.
/V\ Registered Machine 73926.
/( )\ Shrewsbury, New Jersey
^^-^^ 8:15pm up 13 days, 5:03, 2 users, load average: 3.32, 3.24, 2.85