Re: What databases have taught me
Date: 3 Jul 2006 07:55:39 -0700
Message-ID: <1151938539.502012.294220_at_j8g2000cwa.googlegroups.com>
Bob Badour wrote:
> Marshall wrote:
>
> > Keith H Duggar wrote:
> >
> >>all functions operating on a given data type are part of the
> >>/definition/ of that data type, doesn't seem useful, at
> >>least in a programming context. Why are we not free to
> >>choose which operations /define/ a data type and which are
> >>merely /auxiliary/ or /derived/. How is it useful to think
> >>that anytime we define functions we are redefining the types
> >>of it's arguments?
> >
> > I too have this question. What is the utility? What is gained,
> > or what would be lost if we didn't do this?
>
> If the data type is a set of values and the set of all operations
> defined on those values, then the operation is part of the data type
> regardless whether it appears in a program's text. One does not have to
> enumerate all of the values of the type. Why would one have to enumerate
> all of the operations? Why would the subset of enumerated operations
> alter the data type?
>
> Almost all relation types will never have all of their values
> instantiated. In fact, most will only have a tiny fraction of their
> values ever instantiated.
>Why should it be any different for the
> operations of data types?
Because the whole point of defining a data type is *selective* domain derivability that both concerns permissible operators and values. The main advantage of data type concept is increasing that tiny fraction of values and permissible operators to a proportion sufficient enough to allow better computational manipulation of specific relvars. At implementational level (derived from logical), a consequence would smarter caching and parallelism. Received on Mon Jul 03 2006 - 16:55:39 CEST
