| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> Re: Newbie question about db normalization theory: redundant keys OK?
"David Portas" <REMOVE_BEFORE_REPLYING_dportas_at_acm.org> wrote in message
news:nIidnZ42CIler_jaRVnygwA_at_giganews.com...
> "Brian Selzer" <brian_at_selzer-software.com> wrote in message
> news:U2W8j.80311$Um6.5491_at_newssvr12.news.prodigy.net...
>> >> "David Portas" <REMOVE_BEFORE_REPLYING_dportas_at_acm.org> wrote in message >> news:HZednQ8PPZsCBP7anZ2dnUVZ8qClnZ2d_at_giganews.com... >>> The only way to tell whether the current state of the database equals >>> some previous state is to query again and compare that to a result >>> previously retrieved. That comparison is usually based on a key value. >>> It makes no difference what type of value is used for the key. The >>> comparison is exactly the same whether it is an "artificial" key or >>> otherwise. (I'm not too concerned about defining what an "artificial" >>> key is because I don't think it matters). >>> >> >> I disagree. Unless the identifier is a rigid designator or a rigid >> definite description, then any comparison based upon that identifier is >> suspect. It may be the case that the key values are identical, but the >> individuals in each state that are identified by that key value are >> different individuals. For example, "the first person in line" can be >> different people at different times. >> >
>
>
>
>
>
>
>
>
>
Isn't it true that with FOL, there must be separate interpretations for tuple A and tuple B, since they belong to different database values, whereas with modal or temporal logic, the same interpretation can apply to both? Since it is under an interpretation that values are assigned meaning, the separate interpretations for tuple A and tuple B permit identical values to mean totally different things or different values to mean the same thing. Without a common interpretation, it cannot be determined whether or not the individuals referenced by the key values in tuple A and tuple B are the same individual or different individuals. This is why I think it is suspect to compare tuple A with tuple B unless the key is a rigid designator or a rigid definite description. Note that the presence of a rigid designator or rigid definite description implies a common interpretation under which comparisons are no longer suspect.
>>> BTW I seriously doubt whether it would be possible or desirable to >>> implement anything like a ROWVERSION in a true RDBMS. The consequences >>> of SQL Server's implementation are serious because it attempts to >>> identify row data based on something other than keys. I have never been >>> a fan of the ROWVERSION feature. >>> >> >> In what way does it attempt to identify row data based on something other >> than keys? >
>
That assumes that relational assignment is primitive. I would argue that insert, update and delete are the primitive operations, and that assignment is a shorthand for a combination of the primitives delete and insert. Information is lost when an update is translated into an assignment, but not so the reverse: an assignment can always be translated into a delete and an insert.
> --
> David Portas
>
>
Received on Sun Dec 16 2007 - 21:55:40 CST
![]() |
![]() |