Re: Foreign key in Oracle Sql

From: Hugo Kornelis <hugo_at_pe_NO_rFact.in_SPAM_fo>
Date: Thu, 20 Jan 2005 00:16:31 +0100
Message-ID: <0mptu0dl99j08de218eao5cov0812sq8ee_at_4ax.com>


On Wed, 19 Jan 2005 14:22:45 -0800, DA Morgan wrote:

(snip)
>And if Oracle did it would they sell one more database license? Would
>there be any revenue generated in exchange for the massive expense?

Hi DA,

Yes, I think they would sell more licenses. At the moment there will be companies looking into converting their database to Oracle and deciding against it because of the amount of work involved in rewriting the code to cater for the non-standard treatment of empty strings as NULLs.

How many extra licenses this change would sell and whether that return is worth the investment is another question - one that the marketing people at Oracle will have to try to answer.

> Then
>look at it from the standpoint of all of the major application vendors
>such as SAP, PeopleSoft, Siebel, Baan, etc. whose code sits on top of
>Oracle? How much of their code would need to be rewriten and retested?

Much. It would cost them in the short run. But in the long run, they would the advantage that poorting their systems to another RDBMS becomes easier (or should I say: less hard).

(snip)
>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.

Of course, it is always possible to make treatment of '' dependent on a setting. Set this setting to "compatibility mode" and '' is treated the same as NULL, set it to "ANSI mode" and '' is treated as ''. Add a statement to change the settings between queries. Customers can then start by choosing the "compatibility mode", later switching to "ANSI mode" and back when they start upgrading queries until finally, they are completely running in "ANSI mode".
Announce that "compatibility mode" will be supported for the near future, but might be discontinued in a future version. Use a large time frame (at least 10 years) before actually discontinuing the compatibility mode. This should give customers ample time to rewrite their code.

But I agree: the cost for Oracle will be high and the return unsure. I do understand the business reasons for not moving to standard treatment of empty strings.

Best, Hugo

-- 

(Remove _NO_ and _SPAM_ to get my e-mail address)
Received on Thu Jan 20 2005 - 00:16:31 CET

Original text of this message