Re: O'Reilly interview with Date




"Kenneth Downs" <knode.wants.this@xxxxxxxxxxxx> wrote in message
news:lkjps2-76f.ln1@xxxxxxxxxxxxxxxxxxxxx
> 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
mistake.
> > 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
tables
> 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.

Excellent!

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!




.



Relevant Pages

  • Re: OReilly interview with Date
    ... >>> they should be based on declared REFERENCES constraints (perhaps ... >> and it builds it out of the foreign key definitions. ... The CDM identifies entities, ... > same rich model for query generation. ...
    (comp.databases.theory)
  • Re: Foreign Key Problem errno 150
    ... CONSTRAINT `FK_tblstammblatt_aufsteck` FOREIGN KEY REFERENCES ... So interpretiere ich die Anleitung. ...
    (de.comp.datenbanken.mysql)
  • Re: How to create ForeignKeyConstraint?
    ... If the boss wants to change the price of most of the ... a foreign key constraint won't give exectly what you want. ... I may have a table A, that references ...
    (microsoft.public.dotnet.languages.vb)
  • Re: pro- foreign key propaganda?
    ... Just ignorant. ... It's a foreign key even if you never state that fact in the DDL. ... If it references any non existent primary key, ... either by declaring a foreign key constraint or by careful programming. ...
    (comp.databases.theory)
  • Re: Strategy for combining lists
    ... A foreign key to references one table. ... REFERENCES Trainers, ... i.e. one table for employee-as-trainer sessions and one for external ...
    (microsoft.public.access.tablesdbdesign)

Loading