![]() | |
#21
| |||
| |||
|
|
Getting back to the topic of my original post, what do you think of the idea of DVAs to avoid the need to label things? |
#22
| |||
| |||
|
|
David BL wrote: Getting back to the topic of my original post, what do you think of the idea of DVAs to avoid the need to label things? I think your opening posting is spot on. It clearly explains the motivation for abstract identities that also motivated the early-90s work Marshall refers to in his link, which initially went under the banner of "object-oriented database languages" (which, as you explained in another posting, is at odds with "true OO" in which objects are abstract machines, but it does agree with how OO is often used in practice, e.g. with treating UML class diagrams as data models), and was later continued under the banner of "semi-structured data". So what I would ask is: how is your idea of a DVA different from the "object-oriented" logics and algebras invented in the early 90s? |
#23
| |||
| |||
|
|
My first comment would be that the scenario you have described doesn't (strictly) necessitate abstract identifiers. Instead you'd have N relations, for the N different object types, with each of those relations also have an "in_box" attribute. You don't necessarily need a "boxes" relation to fully describe the information in full. This would mean however that you would need to query N relations to determine what was contained in any given box. |
#24
| |||
| |||
|
|
On Jun 4, 9:52 pm, David BL <davi... (AT) iinet (DOT) net.au> wrote: I have wondered for some time whether abstract identifiers are only needed within the confines of a flat relational model. Merry Christmas: http://groups.google.com/group/comp....g/a29e6e6cd225... |
#25
| |||
| |||
|
|
Consider two electrons. They both have the same mass, and they have the same charge. They might have opposite spins. But the minute we add a third electron, the spin of two of them is going to be identical. It seems that, on the surface at least, electrons do not have enough properties to carry identity. As you descend into lower level particles like quarks, things get even more this way. Particles seem more and more interchangeable. Subatomic particles might not have much to do with your objects in a box, but it seems to me that any theory of reality and identity that falls apart at the subatomic level should at least take that into account. |
#26
| |||
| |||
|
|
In message <Oo6Wl.770$u86... (AT) nwrddc01 (DOT) gnilink.net>, Walter Mitty wami... (AT) verizon (DOT) net> writes Consider two electrons. *They both have the same mass, and they have the same charge. *They might have opposite spins. *But the minute we adda third electron, the spin of two of them is going to be identical. *It seems that, on the surface at least, electrons do not have enough properties to carry identity. *As you descend into lower level particles like quarks, things get even more this way. *Particles seem more and more interchangeable. Subatomic particles might not have much to do with your objects in a box, but it seems to me that any theory of reality and identity that falls apart at the subatomic level should at least take that into account. I don't think the analogy to electrons is particularly useful here. It's not clear that electrons have an attribute called Identity. *Electrons in different locations can change places with each other (insofar as the concept of place has meaning here.) It's provably impossible to measure all of the properties of an electron even if we only consider it as a particle. When we add wavelike properties it only gets worse. |
#27
| ||||||
| ||||||
|
|
On Jun 6, 12:19 pm, "Joe Thurbon" <use... (AT) thurbon (DOT) com> wrote: On Fri, 05 Jun 2009 14:52:27 +1000, David BL <davi... (AT) iinet (DOT) net.au wrote: [...] Due to the projection, all the abstract identifiers have disappeared from every relation. In a way, it's like seeing a database within a database! The value of the "inner" database records all the facts in the /context/ of just one of the items, and therefore has no need for abstract identifiers to glue things together. I may have misunderstood, but haven't you just moved the 'problem'? I don't understand what you mean. |
|
That is, each abstract identifier that you want to get rid of ends up with 'its own database'. Yes, the intention is to eliminate the abstract identifiers from the logical model, by instead using a database /value/ as a descriptor for each item. This value is only a function of the recorded visible properties of the item. |
|
Two database values that came from entities that differed only by their abstract identifier will not be distinguishable. That is a good thing! It means that two items that are indistinguishable in terms of the /recorded/ visible properties have the same descriptor value. |
|
So to distinguish between them, the abstract identifiers and up being arbitary names of databases. The idea is not to distinguish them. That's an advantage of completely eliminating the abstract identifiers from the logical model by using DVAs. If there are duplicates then the "outer" database can record the number of duplicates. |
|
Of course more generally the descriptors could take part in all sorts of relations in the "outer" database. |
|
A binding between a name and a value can be regarded as a variable (something that "holds" or "encodes" a value). The elimination of abstract identifiers can be regarded as the elimination of variables from the logical model. |
#28
| |||
| |||
|
|
On Sat, 06 Jun 2009 20:24:17 +1000, David BL <davi... (AT) iinet (DOT) net.au> wrote: On Jun 6, 12:19 pm, "Joe Thurbon" <use... (AT) thurbon (DOT) com> wrote: On Fri, 05 Jun 2009 14:52:27 +1000, David BL <davi... (AT) iinet (DOT) net.au wrote: [...] Due to the projection, all the abstract identifiers have disappeared from every relation. In a way, it's like seeing a database within a database! The value of the "inner" database records all the facts in the /context/ of just one of the items, and therefore has no need for abstract identifiers to glue things together. I may have misunderstood, but haven't you just moved the 'problem'? I don't understand what you mean. I think I might have misunderstood your motivation. More below. That is, each abstract identifier that you want to get rid of ends up with 'its own database'. Yes, the intention is to eliminate the abstract identifiers from the logical model, by instead using a database /value/ as a descriptor for each item. This value is only a function of the recorded visible properties of the item. O.K. I had understoon that correctly. Two database values that came from entities that differed only by their abstract identifier will not be distinguishable. That is a good thing! It means that two items that are indistinguishable in terms of the /recorded/ visible properties have the same descriptor value. Good, I had understood that bit too. So to distinguish between them, the abstract identifiers and up being arbitary names of databases. The idea is not to distinguish them. That's an advantage of completely eliminating the abstract identifiers from the logical model by using DVAs. If there are duplicates then the "outer" database can record the number of duplicates. O.K. This is where you lost me. I had thought that in your example: (1) some client of a database wanted to distinguish between two things that don't have distinguishing features (2) the RM makes them use abstract identifiers to achieve it (3) your solution 'lifts' the abstract identifiers out of the relations, and 'into' variables. If the idea is not to distinguish them, then why were there abstract identifiers in the first place? |
|
Of course more generally the descriptors could take part in all sorts of relations in the "outer" database. If so, we seems to be back where we started, apart from now having N databases instead of one. (Where N is the number of abstract identifiers that got 'lifted'). |
|
I'm pretty sure I'm missing something. (I wonder how embarrassing it will be when you point it out). A binding between a name and a value can be regarded as a variable (something that "holds" or "encodes" a value). The elimination of abstract identifiers can be regarded as the elimination of variables from the logical model. So, if the "inner" databases now comprise the logical model, what do you call the "outer database"? |
#29
| |||||
| |||||
|
|
On Jun 9, 10:22 am, "Joe Th |
|
So assuming you mean database variables, you have indeed misunderstood something, because an "inner database" is treated as a value of an attribute of a tuple within the containing "outer database". The "inner database" doesn't imply the existence of an associated variable. |
|
That indeed is the whole point to how they are able to eliminate variables from the logical model. [...] So to make it clear, I'm suggesting that there is only /one/ database variable in the scenario of recording all the information about the items in a physical database. |
|
I'm pretty sure I'm missing something. (I wonder how embarrassing it will be when you point it out). |
|
I would say rather informally that logical models can compose by using DVAs. |
![]() |
| Thread Tools | |
| Display Modes | |
| |