dbTalk Databases Forums  

Few confusing things about first normal form

comp.databases.theory comp.databases.theory


Discuss Few confusing things about first normal form in the comp.databases.theory forum.



Reply
 
Thread Tools Display Modes
  #151  
Old   
patrick61z@yahoo.com
 
Posts: n/a

Default Re: Few confusing things about first normal form - 11-01-2008 , 06:28 AM






On Oct 26, 6:47 pm, JOG <j... (AT) cs (DOT) nott.ac.uk> wrote:
Quote:
On Oct 24, 3:27 am, David BL <davi... (AT) iinet (DOT) net.au> wrote:



On Oct 23, 9:11 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote:

David BL wrote:

...

Is the value of an attribute that is an RVA a scalar?

I believe it is ie., in a "containing" tuple it's a (single) relation
value and (in the D&D approach) there is no way to operate on its
individual tuples. Their algebra only operates on the value of the
relation.

(They have an operator called UNGROUP that forms a different relation
that has no RVA's. Definition in thethirdmanifesto.com, see appendix A.
They don't the equality operator to treat the second relation as equal
to the first even though some of the possible values for the containing
/GROUPed relation might have exactly the same information as the
UNGROUPed one. However, I don't believe they forbid an operator apart
from equality that decides some kind of equivalence.)

Hope somebody will correct me if I've mangled what D&D say.

Isn't every type a scalar type? Why not drop the word "scalar" as
meaningless? In fact it would seem a good idea to avoid the
confusion with the rather specific meaning of "scalar" used in linear
algebra (where it is associated with the field over which matrices and
vectors are defined).

There is clash between the compsci use of the term, and the
mathematical use. AFAIK Codd meant the former, a scalar meaning a
variable that can only hold one value meeting the variable's type. One
logical address - one item. This contrasts with an array, for example,
which can contain more than one value, but does not require any form
of decomposition to iterate through those values (i.e. it is not an
object). One logical address - several items (lined up contiguosly)

While this once made sense in the low-level programming world, the
uptake of OO (and specifically templates and containers) has severely
confused these distinctions - an "Array" in pure OO languages /does/
require decomposition (through accessor methods), it is just that this
is often hidden via overloading of an indexing syntax to mimic non-
scalars (i.e. square brackets). A <vector> for example is one item, at
one logical address, that just happens to contain lots of others.

Hence, to a modern high level programmer, who probably wouldn't have
any notion of contiguous memory addressing, all variables are scalars
and for it to be otherwise would seem bizarre.
this is a big "depends". the need for contiguous memory addressing
varies from not needed (a business tracking customers is easily
relational), to pretty much mandatory (signal processing/ multimedia,
do you really need to put each video frame into an oracle table record
so that the customer can view your movies over odbc?). It is probably
more of a definition of what you want your computer to be doing as a
programmer.


Reply With Quote
  #152  
Old   
patrick61z@yahoo.com
 
Posts: n/a

Default Re: Few confusing things about first normal form - 11-01-2008 , 06:28 AM






On Oct 26, 6:47 pm, JOG <j... (AT) cs (DOT) nott.ac.uk> wrote:
Quote:
On Oct 24, 3:27 am, David BL <davi... (AT) iinet (DOT) net.au> wrote:



On Oct 23, 9:11 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote:

David BL wrote:

...

Is the value of an attribute that is an RVA a scalar?

I believe it is ie., in a "containing" tuple it's a (single) relation
value and (in the D&D approach) there is no way to operate on its
individual tuples. Their algebra only operates on the value of the
relation.

(They have an operator called UNGROUP that forms a different relation
that has no RVA's. Definition in thethirdmanifesto.com, see appendix A.
They don't the equality operator to treat the second relation as equal
to the first even though some of the possible values for the containing
/GROUPed relation might have exactly the same information as the
UNGROUPed one. However, I don't believe they forbid an operator apart
from equality that decides some kind of equivalence.)

Hope somebody will correct me if I've mangled what D&D say.

Isn't every type a scalar type? Why not drop the word "scalar" as
meaningless? In fact it would seem a good idea to avoid the
confusion with the rather specific meaning of "scalar" used in linear
algebra (where it is associated with the field over which matrices and
vectors are defined).

There is clash between the compsci use of the term, and the
mathematical use. AFAIK Codd meant the former, a scalar meaning a
variable that can only hold one value meeting the variable's type. One
logical address - one item. This contrasts with an array, for example,
which can contain more than one value, but does not require any form
of decomposition to iterate through those values (i.e. it is not an
object). One logical address - several items (lined up contiguosly)

While this once made sense in the low-level programming world, the
uptake of OO (and specifically templates and containers) has severely
confused these distinctions - an "Array" in pure OO languages /does/
require decomposition (through accessor methods), it is just that this
is often hidden via overloading of an indexing syntax to mimic non-
scalars (i.e. square brackets). A <vector> for example is one item, at
one logical address, that just happens to contain lots of others.

Hence, to a modern high level programmer, who probably wouldn't have
any notion of contiguous memory addressing, all variables are scalars
and for it to be otherwise would seem bizarre.
this is a big "depends". the need for contiguous memory addressing
varies from not needed (a business tracking customers is easily
relational), to pretty much mandatory (signal processing/ multimedia,
do you really need to put each video frame into an oracle table record
so that the customer can view your movies over odbc?). It is probably
more of a definition of what you want your computer to be doing as a
programmer.


Reply With Quote
  #153  
Old   
patrick61z@yahoo.com
 
Posts: n/a

Default Re: Few confusing things about first normal form - 11-01-2008 , 06:28 AM



On Oct 26, 6:47 pm, JOG <j... (AT) cs (DOT) nott.ac.uk> wrote:
Quote:
On Oct 24, 3:27 am, David BL <davi... (AT) iinet (DOT) net.au> wrote:



On Oct 23, 9:11 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote:

David BL wrote:

...

Is the value of an attribute that is an RVA a scalar?

I believe it is ie., in a "containing" tuple it's a (single) relation
value and (in the D&D approach) there is no way to operate on its
individual tuples. Their algebra only operates on the value of the
relation.

(They have an operator called UNGROUP that forms a different relation
that has no RVA's. Definition in thethirdmanifesto.com, see appendix A.
They don't the equality operator to treat the second relation as equal
to the first even though some of the possible values for the containing
/GROUPed relation might have exactly the same information as the
UNGROUPed one. However, I don't believe they forbid an operator apart
from equality that decides some kind of equivalence.)

Hope somebody will correct me if I've mangled what D&D say.

Isn't every type a scalar type? Why not drop the word "scalar" as
meaningless? In fact it would seem a good idea to avoid the
confusion with the rather specific meaning of "scalar" used in linear
algebra (where it is associated with the field over which matrices and
vectors are defined).

There is clash between the compsci use of the term, and the
mathematical use. AFAIK Codd meant the former, a scalar meaning a
variable that can only hold one value meeting the variable's type. One
logical address - one item. This contrasts with an array, for example,
which can contain more than one value, but does not require any form
of decomposition to iterate through those values (i.e. it is not an
object). One logical address - several items (lined up contiguosly)

While this once made sense in the low-level programming world, the
uptake of OO (and specifically templates and containers) has severely
confused these distinctions - an "Array" in pure OO languages /does/
require decomposition (through accessor methods), it is just that this
is often hidden via overloading of an indexing syntax to mimic non-
scalars (i.e. square brackets). A <vector> for example is one item, at
one logical address, that just happens to contain lots of others.

Hence, to a modern high level programmer, who probably wouldn't have
any notion of contiguous memory addressing, all variables are scalars
and for it to be otherwise would seem bizarre.
this is a big "depends". the need for contiguous memory addressing
varies from not needed (a business tracking customers is easily
relational), to pretty much mandatory (signal processing/ multimedia,
do you really need to put each video frame into an oracle table record
so that the customer can view your movies over odbc?). It is probably
more of a definition of what you want your computer to be doing as a
programmer.


Reply With Quote
  #154  
Old   
patrick61z@yahoo.com
 
Posts: n/a

Default Re: Few confusing things about first normal form - 11-01-2008 , 06:28 AM



On Oct 26, 6:47 pm, JOG <j... (AT) cs (DOT) nott.ac.uk> wrote:
Quote:
On Oct 24, 3:27 am, David BL <davi... (AT) iinet (DOT) net.au> wrote:



On Oct 23, 9:11 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote:

David BL wrote:

...

Is the value of an attribute that is an RVA a scalar?

I believe it is ie., in a "containing" tuple it's a (single) relation
value and (in the D&D approach) there is no way to operate on its
individual tuples. Their algebra only operates on the value of the
relation.

(They have an operator called UNGROUP that forms a different relation
that has no RVA's. Definition in thethirdmanifesto.com, see appendix A.
They don't the equality operator to treat the second relation as equal
to the first even though some of the possible values for the containing
/GROUPed relation might have exactly the same information as the
UNGROUPed one. However, I don't believe they forbid an operator apart
from equality that decides some kind of equivalence.)

Hope somebody will correct me if I've mangled what D&D say.

Isn't every type a scalar type? Why not drop the word "scalar" as
meaningless? In fact it would seem a good idea to avoid the
confusion with the rather specific meaning of "scalar" used in linear
algebra (where it is associated with the field over which matrices and
vectors are defined).

There is clash between the compsci use of the term, and the
mathematical use. AFAIK Codd meant the former, a scalar meaning a
variable that can only hold one value meeting the variable's type. One
logical address - one item. This contrasts with an array, for example,
which can contain more than one value, but does not require any form
of decomposition to iterate through those values (i.e. it is not an
object). One logical address - several items (lined up contiguosly)

While this once made sense in the low-level programming world, the
uptake of OO (and specifically templates and containers) has severely
confused these distinctions - an "Array" in pure OO languages /does/
require decomposition (through accessor methods), it is just that this
is often hidden via overloading of an indexing syntax to mimic non-
scalars (i.e. square brackets). A <vector> for example is one item, at
one logical address, that just happens to contain lots of others.

Hence, to a modern high level programmer, who probably wouldn't have
any notion of contiguous memory addressing, all variables are scalars
and for it to be otherwise would seem bizarre.
this is a big "depends". the need for contiguous memory addressing
varies from not needed (a business tracking customers is easily
relational), to pretty much mandatory (signal processing/ multimedia,
do you really need to put each video frame into an oracle table record
so that the customer can view your movies over odbc?). It is probably
more of a definition of what you want your computer to be doing as a
programmer.


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.