Re: 3 value logic. Why is SQL so special?

From: Paul <paul_at_see.my.sig.com>
Date: Tue, 12 Sep 2006 19:32:56 +0100
Message-ID: <arudg216mnqquils6h64aulvirr8j02hk8_at_4ax.com>


"JOG" <jog_at_cs.nott.ac.uk> wrote:

> > > That's nice. I simply don't allow null in any database I design.
> > Why not?
> you're kidding right?

No.

> > Scheduled_Departure_Time = 'DD:MM:YYYY 10:15'
> > Actual_Departure_Time = <null> untill we know different, then we put
> > in a value.

> So an aircraft might not take off and yet it has a departure time
> attribute? That makes absolutely no sense at all.

I see that you are from Nottigham university - I would have thought that a reasonable grasp of the English language was necessary to either take or give courses there.

What part of "Scheduled" did you not understand?

I can *_schedule_* a flight for Dublin airport for 6 months time - the damn airport might have been dirty bombed by Osama and his pals in the meantime, meaning that the aircraft will never take off from there.

I don't know how familiar you are with aviation, but *_actual_* departure time is important - pilots fill out VR's (Voyage Reports) which are legally binding documents which have to have the actual departure time (apart from pay issues for staff).

Now, if the field "Actual_Departure_Time" is not null, then it has to be something - yes?

That "something" is normally some arbitrary value - i.e. 01/01/1970 or whatever - the point is any application programmer has to take that system defined arbitrary value into account when writing code against the system.

*_WHEN_* the value used is <null>, then the programmer doesn't need any special knowledge of the system - i.e. "By the way, the date for planes which haven't taken off yet is xxx/yyy/zzzz" - just a simple, "Oh, that's null until the VR is filed".

What could be simpler or more logical?

Paul...

-- 

plinehan __at__ yahoo __dot__ __com__

XP Pro, SP 2, 

Oracle, 9.2.0.1.0 (Enterprise Ed.)
Interbase 6.0.1.0;

When asking database related questions, please give other posters 
some clues, like operating system, version of db being used and DDL.
The exact text and/or number of error messages is useful (!= "it didn't work!").
Thanks.
 
Furthermore, as a courtesy to those who spend 
time analysing and attempting to help, please 
do not top post.
Received on Tue Sep 12 2006 - 20:32:56 CEST

Original text of this message