Re: Foreign key in Oracle Sql

From: DA Morgan <damorgan_at_x.washington.edu>
Date: Thu, 20 Jan 2005 15:14:42 -0800
Message-ID: <41f03bbb_2_at_127.0.0.1>


Gene Wirchenko wrote:

>>And if Oracle did it would they sell one more database license? Would

>
> I know that that botch is why I will probably never buy Oracle.
> For me, it is very nearly a showstopper. If Oracle can not handle
> empty string properly, what else have they done wrong?

Don't mean to be too cynical here but realistically what are the chances that Oracle thinks of you as a potential customer? Are you a corporation with thousands of employees? Are you installing clustered database and applications servers? Buying SAP or PeopleSoft or a CRM package any time this year?

Your argument is totally specious. If Oracle was version 1.0 or 2.0 I would agree with you. But we are talking about version 10.1.0.3 of a product that has been in the industry likely longer than you have and one that has been adopted world-wide by every major corporate and government agencies of note. So do you really think the FBI, Bank of America, The Boeing Company, Cingular Wireless, Deutche Telecom, Visa, Mastercard, American Express, etc. etc. etc. are all using a product that has serious holes in it?

So you won't adjust to a particular way of handling NULLs but you run on an operating system that can be sabotaged by any 16 year old with an IQ above room temperature. This is supposed to make sense?

> In order to use Oracle, I would have to write empty string
> handling for every time I am manipulating a string that might be
> empty. I have better things to do, like writing applications.

So what is it you think those of us that work in Oracle do? Do you think we are overly burdened by the issue you bring up? Do you really think I have even once written a handler for empty strings in Oracle? Really? Not even once have I had to. Oracle provides the tools to do it and have for years. Look up the built-in functions NVL and NVL2. So much for your "big issue."

> It is possible to handle empty strings properly. For all that it
> is cursed, BASIC manages it rather easily.

But basic can't handle something as elementary as providing a valid query of data without locking resources. Your knowledge and background in databases is, how can I say this charitably .... challenged.

  > set emptystringhandling [null|empty]
> that is, a compatability setting.

Works in end-user code. Doesn't work in kernel code.

>>With joins Oracle can add a second syntax and resolve them to perform
>>the same function. But with the difference in the behavior NULL it is
>>not one that lends itself to if you see '' treat it one way sometimes
>>and another way at other times. Maybe in new code written by end-users

>
>
> I would like it treated as an empty string all the time.

And 100,000 existing DBAs and developers would hate it because they have had it a specific way for 20 years. You lose. But if it would make you feel better I can complain about how BASIC handles things differently from the way they are handled in C. So would you propose that Microsoft rewrite BASIC?

-- 
Daniel A. Morgan
University of Washington
damorgan_at_x.washington.edu
(replace 'x' with 'u' to respond)
Received on Fri Jan 21 2005 - 00:14:42 CET

Original text of this message