A tale of duplicates

From: Laconic2 <laconic2_at_comcast.net>
Date: Sat, 9 Oct 2004 07:24:29 -0400
Message-ID: <O_qdndNMpYsdV_rcRVn-hA_at_comcast.com>



This thread is derived from the other thread about "true relational". Here's what Kenneth said in that thread:

"Kenneth Downs" <firstinit.lastname_at_lastnameplusfam.net> wrote in message news:hqd6kc.4go.ln_at_mercury.downsfam.net...
> It said often here that no commercially available DBMS is truly
relational,
> but I haven't seen a succinct list of reasons. What are they?
>
> One that I have gleaned from lurking is that the DBMS's allow duplicates,
as
> in:
>
> CREATE TABLE AnyTable (col1 char(1), col2 char(1), col3 char(1));
> INSERT INTO AnyTable (col1,col2,col3) VALUES ('A','B','C');
> INSERT INTO AnyTable (col1,col2,col3) VALUES ('A','B','C');
>
> The table create specifies no constraints, and so the next two insert
> statements are both allowed. The objection to this seems to be that the
> RDM requires an implied unique constraint on all columns of all tables.
> Because such a constraint is not present, they are not truly relational.
>
> Is that right?

I was once interviewing with a customer, and when the asked me to descibe my skills, I happened to mention data normalization. "What's normalization?" they asked. I tried to give a straight answer, but I could tell from their facial expressions that the interview was going the wrong way. So I asked them to show me some of their data definitions.

It seems one of their billing tables allowed duplicate entries for orders. If you had two orders from different customers, or on different dates, or of different products, no problem. But you could have two identical entries in this table, witth the same date, product, and customer. They had no "order number" to tell the two entries apart.

So I asked them, "If you get a complaint about a duplicate billing from a customer, how do you know whether your data entry clerk simply entered the same order twice, or whether the customer called in two separate orders on the same day?"

"Funny you should ask that," came the answer. "We've never been able to figure that out in our system." "So we just issue a credit whenever the customers complain about duplicate billings."

I didn't get the contract. The broker said the client had called me "too theoretical". The broker thought that meant "too expensive." They didn't want a computer consultant. They wanted a temp coder. Received on Sat Oct 09 2004 - 13:24:29 CEST

Original text of this message