Re: Mixing OO and DB

From: David BL <davidbl_at_iinet.net.au>
Date: Wed, 13 Feb 2008 18:31:32 -0800 (PST)
Message-ID: <3f443a68-9822-4099-9b89-e62e76e0d197_at_d70g2000hsb.googlegroups.com>


On Feb 13, 9:22 pm, "Brian Selzer" <br..._at_selzer-software.com> wrote:
> "David BL" <davi..._at_iinet.net.au> wrote in message
>
> news:8c33acce-694e-4edf-8758-7b296ea59557_at_s8g2000prg.googlegroups.com...
>
>
>
>
>
> > On Feb 12, 10:49 am, "Brian Selzer" <br..._at_selzer-software.com> wrote:
> >> "JOG" <j..._at_cs.nott.ac.uk> wrote in message
>
> >>news:27321846-87df-4f21-a7bd-382d8b7d6605_at_m34g2000hsf.googlegroups.com...
>
> >> > On Feb 12, 1:01 am, JOG <j..._at_cs.nott.ac.uk> wrote:
> >> >> On Feb 11, 4:10 pm, David BL <davi..._at_iinet.net.au> wrote:
>
> >> >> > On Feb 11, 11:08 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
>
> >> >> > > On Feb 11, 12:44 pm, David BL <davi..._at_iinet.net.au> wrote:
>
> >> >> > > > On Feb 11, 8:07 pm, JOG <j..._at_cs.nott.ac.uk> wrote:
>
> >> >> > > > > On Feb 11, 2:05 am, David BL <davi..._at_iinet.net.au> wrote:
>
> >> >> > > > > > On Feb 11, 3:29 am, JOG <j..._at_cs.nott.ac.uk> wrote:
>
> >> >> > > > > > > On Feb 10, 5:45 pm, "Dmitry A. Kazakov"
> >> >> > > > > > > <mail..._at_dmitry-kazakov.de>
> >> >> > > > > > > wrote:
> >> >> > > > > > > > [What is data, in your opinion?
>
> >> >> > > > > > > Data. Lots of datum - from latin, meaning statement of
> >> >> > > > > > > fact.
> >> >> > > > > > > Predicate
> >> >> > > > > > > and value in FOL. A value without description is of
> >> >> > > > > > > course
> >> >> > > > > > > just
> >> >> > > > > > > noise.
>
> >> >> > > > > > Latin datum is past participle of dare, "to give". What
> >> >> > > > > > make
> >> >> > > > > > you say
> >> >> > > > > > data is necessarily a set of propositions?
>
> >> >> > > > > The OED. "Facts, esp. numerical facts, collected together for
> >> >> > > > > reference or information." The etymology stems from 'dare',
> >> >> > > > > because
> >> >> > > > > facts are always communicated or "given". I understand of
> >> >> > > > > course
> >> >> > > > > that
> >> >> > > > > the term is thrown around wantonly and ambiguosly nowadays,
> >> >> > > > > but
> >> >> > > > > as
> >> >> > > > > data theorists, we shouldn't be party to that imo ;)
> >> >> > > > > > Are you suggesting a value
> >> >> > > > > > is meaningless without a proposition? Why can't a datum
> >> >> > > > > > just
> >> >> > > > > > be a
> >> >> > > > > > value?
>
> >> >> > > > > Because ta value has to be associated with something.
> >> >> > > > > Hofstadter
> >> >> > > > > gave
> >> >> > > > > a good example of this with the groove modulations on a vinyl
> >> >> > > > > record.
> >> >> > > > > To us they are (musical) data, to an alien not knowing their
> >> >> > > > > context,
> >> >> > > > > it is not. You need the context.
>
> >> >> > > > > > Wouldn't you say a recorded image is data?
>
> >> >> > > > > Of course, so long as I know it's an image. If its just ones
> >> >> > > > > and
> >> >> > > > > zero's stored in a computer, without anyway of telling they
> >> >> > > > > represent
> >> >> > > > > a picture, then it is simply noise.
>
> >> >> > > > Let's indeed assume we know how to interpret the 1's and 0's as
> >> >> > > > an
> >> >> > > > image. So what have we got? Nothing but a *value*.
>
> >> >> > > No, you now have a value with applied context. That creates a
> >> >> > > fact.
> >> >> > > You now therefore have data. It's simple to show - consider
> >> >> > > "1000001".
> >> >> > > Thats currently a value, but its not data. Its only data when I
> >> >> > > store
> >> >> > > it, and state one of the following:
>
> >> >> > > "100001" is a text string
> >> >> > > "100001" is an integer (i.e. 65)
> >> >> > > "100001" is an ascii character (i.e. A)
> >> >> > > etc..
>
> >> >> > These "facts" are all tautologies that are true whether you record
> >> >> > them or not.
>
> >> >> I'm not seeing whats so controversial or difficult about the fact that
> >> >> "10001" is just a meaningless binary value until you give it a
> >> >> context. It seems somewhat obvious to me.
>
> >> >> > I dispute your premise that the purpose of the data in
> >> >> > this case is to state a fact that is known a-priori to be true.
>
> >> >> A Datum is a given fact. That's what the word means formally. I have
> >> >> said nothing more, and I have no idea what you are on about talking
> >> >> about "the purpose of data".
>
> >> >> > If that is its purpose then it conveys precisely zero information.
>
> >> >> > > > We can display
> >> >> > > > it. We can comment on whether we like it - even if we haven't a
> >> >> > > > clue
> >> >> > > > where it came from. But I don't see any sense in which the
> >> >> > > > image
> >> >> > > > value gives us any statements of fact beyond the specification
> >> >> > > > of a
> >> >> > > > value. A value simply "is".
>
> >> >> > > > I would suggest that a lot of the data in the world is
> >> >> > > > characterised
> >> >> > > > more closely as "interesting values" than collections of
> >> >> > > > propositions.
>
> >> >> > > You cannot store these interesting values without implicitly
> >> >> > > stating
> >> >> > > some fact about them.
>
> >> >> > By definition, when a value is specified, its type is specified as
> >> >> > well (except possibly if type inheritance is supported).
>
> >> >> > C. Date states the following in "Introduction to Database Systems",
> >> >> > section 5.2, and subsection titled "Values and Variables are typed":
>
> >> >> > "Every value has ... some type...Note that,
> >> >> > by definition, a given value always has
> >> >> > exactly one type, which never changes.
> >> >> > [footnote: except possibly if type
> >> >> > inheritance is supported]"
>
> >> >> > When a particular value like the integer 73 is specified, there is
> >> >> > no
> >> >> > implicit fact being specified. The statement that the integer 73
> >> >> > exists in any absolute sense is entirely metaphysical and
> >> >> > meaningless
> >> >> > within computer science.
>
> >> >> So you just wriite "73" down and are telling me its a datum? I'm
> >> >> pretty sure that's what we call a "value", not data. I'm wondering if
> >> >> you are misconstruing my point - "73" is only data when you apply some
> >> >> context to it, like saying this its someones room number, or today's
> >> >> average temperature, or the amount of red in a certain pixel of an
> >> >> image (and yes, those are then facts).
>
> >> > Let me clarify the distinction I'm making David:
> >> > "RED" is a value.
> >> > "The first pixel in the image is RED" is a datum.
>
> >> > That can't be that contentious...can it?
>
> >> Isn't a datum an atomic value? I think I remember reading somewhere,
> >> "Each
> >> and every datum (atomic value)...."
>
> >> I think the distinction you want to make is whether or not some
> >> individual
> >> that is represented by the value 73 actually exists. For that there
> >> needs
> >> to be a context. If the value 73 from the domain of integers is named in
> >> a
> >> tuple in a relation in a database, then clearly that particular instance
> >> of
> >> the value 73 has a context and thus maps to an actual individual in the
> >> picture of the universe of discourse that is the database. Clearly the
> >> act
> >> of storing the value 73 gives it context. Without context, 73 is a
> >> possible
> >> value, not an actual value.
>
> > Instance of a value? Context of a value? Possible value? Actual
> > value? I cannot make sense of that.
>
> Perhaps I should clarify: A database is a proposition--a picture of the
> universe. There can be many possible pictures of the universe, but only one
> is supposed to be true. A value can appear in many possible pictures, so it
> follows that a value can appear in a possible picture that is supposed to be
> true or in a possible picture that is not supposed to be true, /or both/.

Yes, a value can appear in many different contexts. In this discussion I think we need to be very careful with distinguishing between a value, and the appearance (ie encoding) of a value in a particular context.

> If a value is a fact, how, then, can it be both true and not true?

What does it mean to say a value is a fact?

> An
> instance of a value, a value in context--the association of a value with a
> picture of the universe--on the other hand, /can/ be a fact because that
> association can be with a possible picture that is supposed to be true or
> with a possible picture that is not supposed to be true, /but not both/.

I think I understand what you are saying, but I would say it slightly differently. Rather than "instance of value" I would say "appearance of value", but only because I'm so used to seeing "instance" used in the context of "instance of a type", but maybe that's my OO background showing through. Instantiation also makes me think of the terminology used for binding variables to values such as when one says a proposition is an instantiation of a predicate.

I also don't see how an appearance of a value itself generally represents a fact (even though it's tied to a context). I can see it's true if you assume the value is a tuple within a relation, but was that your intention?

> A value that appears in any possible picture of the universe is a possible
> value. A value that appears in the possible picture of the universe that is
> supposed to be true is an actual value.

You've lost me.

> Thus a value is just a value without some context. Once a value is given
> context, such as being stored in a database, or written down, or whatever,
> then it can be considered information.

I think I know what you're saying but I don't like the way you say it. It doesn't make sense to say a value is given a context. A value like the integer 73 doesn't float around and suddenly drop into your database! The value just "is". A database may contain any number of appearances or encodings of the value 73, but the abstract number itself doesn't have a context. It is the appearance of the value that has a context (and can be considered information within that context)

> Each atomic value that is in the
> database is a datum simply because it is /in/ the database.

Agreed. An appearance (ie encoding) of a value has a context and is data. Received on Thu Feb 14 2008 - 03:31:32 CET

Original text of this message