Re: Proposal: 6NF

From: David Cressey <dcressey_at_verizon.net>
Date: Wed, 18 Oct 2006 11:01:49 GMT
Message-ID: <xQnZg.1176$cQ5.421_at_trndny06>


"JOG" <jog_at_cs.nott.ac.uk> wrote in message news:1161168370.499516.204970_at_i3g2000cwc.googlegroups.com...
>
> David Cressey wrote:
> > "paul c" <toledobythesea_at_oohay.ac> wrote in message
> > news:g2iZg.155655$5R2.60964_at_pd7urf3no...
> > > David Cressey wrote:
> > > > "Tony D" <tonyisyourpal_at_netscape.net> wrote in message
> > > > news:1161090234.533844.46810_at_k70g2000cwa.googlegroups.com...
> > > >> paul c wrote:
> > > >>
> > > >>> Still, the bulk of the apps I've seen
> > > >>> don't need that extended type support ...
> > > >> I couldn't disagree with this observation more strongly. Without a
rich
> > > >> type system, we can't talk about the right things (attributes). If
we
> > > >> can't talk about the right things, we can't reasonably expect to
> > > >> construct proper statements (relations). As well to make assertions
> > > >> about horse racing by discussing camels :) And to have a rich type
> > > >> system, we'd better make sure the underpinnings are at least
consistent
> > > >> and preferably correct ;)
> > > >
> > > > It seems to me that it's possible to talk about the right things
with a
> > rich
> > > > domain system,
> > > > even if lacking a rich type system. It also seems to me that user
> > defined
> > > > domains are not the same thing as additional types.
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > PMFJI, when it comes to a dbms engine, I don't know the difference
> > > between a type and a domain.
> > >
> > In the context of a dbms engine, a type would be the built in datatypes
> > that the engine supports, like INTGER, DECIMAL, CHAR, and DATE, and
also
> > the builtin functions and operations, like "+" or "weekday(x)".
> >
> > A domain would be what you get when you say CREATE DOMAIN. It's a set,
but
> > it has no functions and operations other than the ones it inherits from
the
> > data type it is based on.
> >
> > Does this make sense?
>
> Hi David, I was previously under the impression that built in 'types'
> such as INT's or DATE's are domain s defined by a predicate, as opposed
> to being enumerated (e.g. tinyints := { x : x E Z, -128 < x < 128 } ),
> and I didn't distinguish them in my mind from user defined domains.
>
> Are you differentiating a dbms type to a domain, in that a dbms type
> also has built in operations which apply to its domain definiton, and
> is this is a standard view? Cheers, Jim.

I intended the implication. To my knowledge, this is not a standard view.

I agree with your comment that the builtin types are defined by a predicate. This question is independent of whether
the operations on the type are construed to be part of the type definition or not.

AFAICT, user defined domains, a la CREATE DOMAIN, are defined by a predicate as well. Aren't they?
Of course, for many user defined domains, there will be a reference table with a primary key column based on the domain, and which serves as a
validation table for foreign key references. I suppose you could say that the reference table enumerates the currently valid values of the domain.

Is this what you meant?

>
> >
> > > p
>
Received on Wed Oct 18 2006 - 13:01:49 CEST

Original text of this message