Lists Home |
Date Index |
All working systems are particular cases. General cases
apply to general systems, but I find none of these.
That's just the hissy way of saying, 'can' did not
equal 'does' in my response. I am aware of the
work of Codd et al, but also that mathematical
proof is seldom required in a demonstration for
a BAFO, but speed always is.
Apart from performance issues which one can
claim are not impacted, but which do depend
on particular cases and particular implementations,
what one expects of the engineers is that in
cases of denormalization, there are no relationships
being violated and no business rules or policies
being violated. That is, for example in databases
we build, it is important to have the name of the
criminal or the business in the names table, but
not necessarily their doctor or lawyer. Yes,
that can result in an undetectable relationship
but policy being what it is, until they become
one of the two cited, they are not in the names
tables. The same is true of agency employees.
From: Rick Marshall [mailto:email@example.com]
with all due respect len, this argument was dealt with comprehensively
about 30 years ago. databases that aren't fully normalised will always
be more efficient in particular cases, but not in the general case.
moreover there's no mathematical proof of correctness when things aren't
nomalised, whereas there is when they are.
however there are considerable performance issues surrounding the
optimisers in many of the popular rdbms's and their sql implemenations.
nevertheless, the case in point here is how to support two simultaneous
tree views. xml supports one easily, as in eg orders and the lines on
the orders. but what if you want a second that is products and the
orders they are on. one is quick and efficient, the other is very slow.
but we discussed this in detail a long time ago.