| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Interpretation of Relations
I'm very new to this databases game, and am not even sure I'm using the
terminology in the right way. I'd like some feedback as to whether I'm
even in the right ballpark. Most of my understanding of the terminology
comes from reading this group, and the definitions on Wikipedia.
I've been wrestling with the correct interpretation of a relation. I'm currently working under the assumption that a relation comprises both a Type (or header) and a Body (or values).
I'm going to start small.
Consider modelling a situation in which there are people, and they have eye colour. I'm going to define some very small domains, so that I can enumerate the facts that I believe a given relation represents. I'm sorry if the notation is non-standard, but here it is.
Domain D_People = {Joe}
Domain D_Hair = {Red, Blond}
Relation R_People = <<D_People>: {{Joe}}> Relation R_Hair Colour = <<D_People X D_Hair>: {{Joe, Blond}}>
(The bit in the <> is the relation header, the subsequent sets are the relation body).
So, I should interpret this to mean that "Joes hair is blond". But that is not all, because the closed world assumption means that I have another fact (just one, because the domains are so small). This second fact is "NOT Joes hair is red".
And, in particular, it would be wrong to state that
R_Hair Colour: <<D_People X D_Hair>: {}>
indicates that I don't know the colour of Joe's hair. It really means
NOT Joes hair is Red
NOT Joes hair is Blond
Is this right? If so, it leads me to a question about modelling missing information. (And a lot of other questions, too). If not, is there a simple thing that I've missed?
Thanks,
Joe
Received on Thu Jan 18 2007 - 19:56:59 CST
![]() |
![]() |