Re: does a table always need a PK?

From: Bob Badour <bbadour_at_golden.net>
Date: Tue, 26 Aug 2003 11:30:14 -0400
Message-ID: <aaM2b.954$7b2.85388416_at_mantis.golden.net>


"Christopher Browne" <cbbrowne_at_acm.org> wrote in message news:bifooh$8q46e$1_at_ID-125932.news.uni-berlin.de...
> Centuries ago, Nostradamus foresaw when tonyisyourpal_at_netscape.net (Tony
Douglas) would write:
> > "Bob Badour" <bbadour_at_golden.net> wrote in message
news:<OYy2b.694$FE.81687684_at_mantis.golden.net>...
> >> I have long argued that adequate support for user defined types and for
> >> adequate physical independence would give me all the tools I really
need to
> >> devise my own ad hoc solutions. My own ad hoc solutions would be
guaranteed
> >> consistent because I would have to construct them on a theory based
> >> structural framework consisting of relations and a formal, extensible
type
> >> system.
> >
> > I think this is absolutely right. I'm still in a way stunned that
> > most current SQL databases are lumbered with what amounts to the
> > type system of FORTRAN. Why have nulls if you can have something
> > even at the horrid level of the Pascal variant record for dealing
> > with "out of band" indicators ? You even get to stick with the
> > boolean logic we all know and love !
> >
> > That said, I'm still not 100% convinced about the type inheritance /
> > possreps suggestion of Tutorial D. It's thoroughly defined, and very
> > elegant (for what it's trying to achieve); I'm just not sure I'm
> > asking the question it's answering. I think achieving a type system
> > of at least the level of the Milner type system in Standard ML would
> > be a perfectly good start, and a massive advance on where we are
> > today.
>
> But that would likely cause anyone trying to use typically-used
> languages like COBOL, PL/1, BASIC, C, and C++ utter conniptions.
>
> The managers would cry 'But where can we get ML programmers? There's
> no market for that!'
>
> The programmers would cry 'Who is this Milner guy, and what did he do
> to my types?'
>
> The ML programmers would look on in horror: "You want us to rewrite
> the _PAYROLL_ system?!?!"
>
> (And the guys at INRIA would shortly thereafter take over the
> world...)
>
> I'm still a little suspicious of the way some of the type inheritance
> in Tutorial D works; some of it looks as though it's actually leading
> to a hierarchical structure, which would break some of the
> "relationality." Of course, it could be that I am misreading it; the
> "Tutorial" is not much of a tutorial...

Have you read Fabian Pascal's _Practical Issues..._ book? You are absolutely correct that any user-definable type system allows one to declare logical hierarchies with components of components of components etc. Fabian discusses the design issues of doing so.

There is a key distinction required to preserve relational principles: Possreps define operations allowing one to derive one datum from another and do not define a physical containment hierarchy. Received on Tue Aug 26 2003 - 17:30:14 CEST

Original text of this message