![]() | |
#11
| |||
| |||
|
|
On May 3, 5:04 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote: ... and never bring up, say, just what the Information Principle really means. ..."the entire information content of the database is represented in one and only one way. Namely as explicit values in column positions (attributes) and rows in relations (tuples)."? It is obsolete. Seriously, I think it is aimed at cowboys who try to invent new data management systems without studying what relational model is about. It is about attributes and tuples because both relational calculus, and algebra explicitly refer to relations structured this way. The situation is similar to arithmetic where pupils learn how to add/ multiply numbers represented in a very specific notation. So the arithmetic principle would say ..."the entire content of arithmetic is represented in one and only one way. Namely as explicit sequences of digits in numbers". Presumably arithmetic principle would prevent some from reinventing roman numerals:-) |
#12
| |||
| |||
|
|
Bob Badour wrote: Reinier Post wrote: ... I was trying to sidestep the issue of attribute (re)naming here, because it is beside the main point of the example, which is that according to your definition, the same relation (Herbivores) has two different IS-A relations, one with Animals and one with Vegetables. I know multiple inheritance in programming languages tends to be used in just this kind of way (with "mixin classes" for instance) but I think with such a notion the name "IS-A" is just wrong. It's fine to have your proposed notion but give it a different name: call it a role or something. A Herbivore just isn't a Vegetable. I know this is again an argument about naming, but this time it's about the name "is a" itself. I thought Clinton settled this whole issue already. Cigar anyone? I think Clinton knew his silly language parsing didn't matter to the majority of his (semi-literate) public. What puzzles me is why smart people here spend time on such subjective fooferah and never bring up, say, just what the Information Principle really means. |
#13
| |||
| |||
|
|
On May 5, 4:13 am, Tegiri Nenashi <tegirinena... (AT) gmail (DOT) com> wrote: On May 3, 5:04 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote: ... and never bring up, say, just what the Information Principle really means. ..."the entire information content of the database is represented in one and only one way. Namely as explicit values in column positions (attributes) and rows in relations (tuples)."? It is obsolete. Seriously, I think it is aimed at cowboys who try to invent new data management systems without studying what relational model is about. It is about attributes and tuples because both relational calculus, and algebra explicitly refer to relations structured this way. The situation is similar to arithmetic where pupils learn how to add/ multiply numbers represented in a very specific notation. So the arithmetic principle would say ..."the entire content of arithmetic is represented in one and only one way. Namely as explicit sequences of digits in numbers". Presumably arithmetic principle would prevent some from reinventing roman numerals:-) I agree. My own take on the Information Principle is that "one and only one way" is misleading because one generally has a choice of whether to use rich or simple domain types. One could represent the entire database value in a single relation containing a single tuple with a single attribute and be adhering to the Information Principle. In that sense it seems rather vacuous. |
#14
| |||
| |||
|
|
David BL wrote: On May 5, 4:13 am, Tegiri Nenashi <tegirinena... (AT) gmail (DOT) com> wrote: On May 3, 5:04 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote: ... and never bring up, say, just what the Information Principle really means. ..."the entire information content of the database is represented in one and only one way. Namely as explicit values in column positions (attributes) and rows in relations (tuples)."? It is obsolete. Seriously, I think it is aimed at cowboys who try to invent new data management systems without studying what relational model is about. It is about attributes and tuples because both relational calculus, and algebra explicitly refer to relations structured this way. The situation is similar to arithmetic where pupils learn how to add/ multiply numbers represented in a very specific notation. So the arithmetic principle would say ..."the entire content of arithmetic is represented in one and only one way. Namely as explicit sequences of digits in numbers". Presumably arithmetic principle would prevent some from reinventing roman numerals:-) I agree. My own take on the Information Principle is that "one and only one way" is misleading because one generally has a choice of whether to use rich or simple domain types. One could represent the entire database value in a single relation containing a single tuple with a single attribute and be adhering to the Information Principle. In that sense it seems rather vacuous. I disagree that it's vacuous. Even in this situation, the principle prohibits physical pointers in the logical structure. |
#15
| |||
| |||
|
|
On May 5, 2:49 pm, Bob Badour <bbad... (AT) pei (DOT) sympatico.ca> wrote: David BL wrote: On May 5, 4:13 am, Tegiri Nenashi <tegirinena... (AT) gmail (DOT) com> wrote: On May 3, 5:04 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote: ... and never bring up, say, just what the Information Principle really means. ..."the entire information content of the database is represented in one and only one way. Namely as explicit values in column positions (attributes) and rows in relations (tuples)."? It is obsolete. Seriously, I think it is aimed at cowboys who try to invent new data management systems without studying what relational model is about. It is about attributes and tuples because both relational calculus, and algebra explicitly refer to relations structured this way. The situation is similar to arithmetic where pupils learn how to add/ multiply numbers represented in a very specific notation. So the arithmetic principle would say ..."the entire content of arithmetic is represented in one and only one way. Namely as explicit sequences of digits in numbers". Presumably arithmetic principle would prevent some from reinventing roman numerals:-) I agree. My own take on the Information Principle is that "one and only one way" is misleading because one generally has a choice of whether to use rich or simple domain types. One could represent the entire database value in a single relation containing a single tuple with a single attribute and be adhering to the Information Principle. In that sense it seems rather vacuous. I disagree that it's vacuous. Even in this situation, the principle prohibits physical pointers in the logical structure. Excellent point. Actually I wonder if it could even be said to be too restrictive. What if I want the entire database value to have a nominative type? This allows me to give the database a formal semantic (i.e. interpretation) that's explicit. E.g. my entire database might represent a complex 3D shape. Just as nominative types are necessary for supporting the definition of structural types, I think structural types are useful for implementing user-defined nominal types. Nominative and structural types are both fundamental and it seems arbitrary to force one not the other to be "at the top" of the database. So I suggest the Information Principle should be: "the database records a value" |
#16
| |||
| |||
|
|
David BL wrote: On May 5, 2:49 pm, Bob Badour <bbad... (AT) pei (DOT) sympatico.ca> wrote: David BL wrote: On May 5, 4:13 am, Tegiri Nenashi <tegirinena... (AT) gmail (DOT) com> wrote: On May 3, 5:04 pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote: ... and never bring up, say, just what the Information Principle really means. ..."the entire information content of the database is represented in one and only one way. Namely as explicit values in column positions (attributes) and rows in relations (tuples)."? It is obsolete. Seriously, I think it is aimed at cowboys who try to invent new data management systems without studying what relational model is about. It is about attributes and tuples because both relational calculus, and algebra explicitly refer to relations structured this way. The situation is similar to arithmetic where pupils learn how to add/ multiply numbers represented in a very specific notation. So the arithmetic principle would say ..."the entire content of arithmetic is represented in one and only one way. Namely as explicit sequences of digits in numbers". Presumably arithmetic principle would prevent some from reinventing roman numerals:-) I agree. My own take on the Information Principle is that "one and only one way" is misleading because one generally has a choice of whether to use rich or simple domain types. One could represent the entire database value in a single relation containing a single tuple with a single attribute and be adhering to the Information Principle. In that sense it seems rather vacuous. I disagree that it's vacuous. Even in this situation, the principle prohibits physical pointers in the logical structure. Excellent point. Actually I wonder if it could even be said to be too restrictive. What if I want the entire database value to have a nominative type? This allows me to give the database a formal semantic (i.e. interpretation) that's explicit. E.g. my entire database might represent a complex 3D shape. Just as nominative types are necessary for supporting the definition of structural types, I think structural types are useful for implementing user-defined nominal types. Nominative and structural types are both fundamental and it seems arbitrary to force one not the other to be "at the top" of the database. So I suggest the Information Principle should be: "the database records a value" That would be vacuous because every database records a value regardless of logical data model. |
#17
| |||
| |||
|
|
On May 3, 5:04*pm, paul c <toledobythe... (AT) oohay (DOT) ac> wrote: ... and never bring up, say, just what the Information Principle really means. ..."the entire information content of the database is represented in one and only one way. Namely as explicit values in column positions (attributes) and rows in relations (tuples)."? It is obsolete. |
|
Presumably arithmetic principle would prevent some from reinventing roman numerals:-) |
#18
| |||
| |||
|
|
... Not in the same sense that relation algebra prevents graph databases because relation algebra does not understand graphs. |
#19
| |||
| |||
|
|
Given the two relations R and S, the R is a subtype of S or simply "R is an S" (was this the source of Reinier blunder?-) iff the two conditions hold: 1. R ^ S = R (where the ^ is natural join operation). This can be expressed succinctly as R < S with generalized subset constraint "<". The immediate consequence is that the attributes of S are the subset of attributes R (formally: R ^ [] < S ^ [] where the "[]" is the relation with empty set of attributes and empty set of tuples, aka DUM). Then, one may add second requirement that 2. Attributes of S form a key in relation R. My question is if the condition #2 is really necessary. Consider the two relations: Animals = [Name] bear sheep wolf ; Carnivores1 = [Name FavoritePrey] bear deer wolf sheep ; They satisfy both conditions so that informally we say "Carnivores1" IS-A "Animals". Contrast this with Animals = [Name] bear sheep wolf ; Carnivores2 = [Name Prey] bear deer wolf sheep wolf deer ; I suggest that we still have "Carnivores2" IS-A "Animals". Do you agree? |
#20
| |||
| |||
|
|
On May 5, 12:41*pm, Erwin <e.sm... (AT) myonline (DOT) be> wrote: ... Not in the same sense that relation algebra prevents graph databases because relation algebra does not understand graphs. This is very imprecise statement. I'll embark upon your typo and suggest that relation algebra (http://en.wikipedia.org/wiki/ Relation_algebra) does exactly that. It manipulates binary relations that are essentially adjacency matrices representing direct acyclic graphs. |
![]() |
| Thread Tools | |
| Display Modes | |
| |