Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Usenet -> comp.databases.theory -> Re: O'Reilly interview with Date

Re: O'Reilly interview with Date

From: David Cressey <>
Date: Thu, 11 Aug 2005 22:55:46 GMT
Message-ID: <SHQKe.4378$>

"Kenneth Downs" <knode.wants.this_at_see.sigblock> wrote in message
> David Cressey wrote:
> >
> > In this connection, I want to express a contrarian view about "natural
> > joins".
> > I think making joins "natural" based on common column names is a
> > It's overloading the column name.
> > Natural joins sohlud be based on common domain names. Better yet, they
> > should be based on declared REFERENCES constraints (perhaps unenforced).
> In my own system I never manually code a join, I just specify the two
> and it builds it out of the foreign key definitions.
> The foreign key definition has a little more going for it than a REFERENCE
> constraint, because it actually defines the columns in the child table
> instead of just referencing existing columns.


It reminds me a little of Data Architect (DA), where you build a conceptual data model (CDM)
interactively, with a graphic interface. The CDM identifies entities, relationships among entities, attributes of entities, domains of attributes, and maybe a little more. The CDM does NOT include foreign keys.

Once you are satisfied with a CDM, you can ask DA to build a physical data model |(PDM). A PDM is DBMS specific.
You have to choose a product, like Oracle or Ingres. The PDM contains tables and columns, among other things. The foreign keys are included. Once you have a suitable PDM, you can use DA to generate a create script, but that's another discussion.

Here's why I like what you wrote better than DA. DA allows me to delegate the busy work of tracing references at database creation time, but it didn't, as of 5 years ago, let me delegate the same busy work at query generation time. (DA may have progressed considerably since I last used it).

Your system appears to link a rich model for database definition with the same rich model for query generation. That's what I think is excellent. Of course, I haven't played with your system. But at least I like the description! Received on Thu Aug 11 2005 - 17:55:46 CDT

Original text of this message