Newsgroups: comp.databases.theory
From: "Brian Selzer" <br...@selzer-software.com>
Date: Sun, 20 Aug 2006 15:21:26 GMT
Local: Sun, Aug 20 2006 11:21 am
Subject: Re: A real world example
news:1156047823.641966.136920@m79g2000cwm.googlegroups.com...
> Brian Selzer wrote: Then the definition of the model should reflect that, but I'm not sure that >> "JOG" <j...@cs.nott.ac.uk> wrote in message >> news:1156039383.926159.159950@m73g2000cwd.googlegroups.com... >> > Brian Selzer wrote: >> >> It's possible for something to have its appearance altered without >> >> altering its >> >> essence >> > Pish! There is no such thing as an 'essence'. See 'King Milindi's >> >> and it's also possible for something to be identified by a property >> > Nope. Not if you want to compare it over time (which is what you are >> So, what you're saying is, "Never use natural keys." Right? > No. >> >> For example, consider a line of people at the bank. Both >> >> {(Bob, 1), (Brian, 2), (You, 3)}. >> >> The proposed instance would look something like >> >> {(Brian, 1), (You, 2)} >> >> Even though Position is a candidate key in each situation and >> > 'Indirect identity'? There is no such distinction to be made. >> I didn't say indirect identity, I said indirectly identifies. The >> >> an entry in the queue, the value 2 from the current instance >> > Why not extend this? Perhaps brian changed his name to bob while he was >> > rv1: { (Brian, 2) } >> > ...and you want to automagically correlate these things? Rather than >> If a key can change, it will. It doesn't matter how stable it is. > Yes, yes, I follow your logic, but it is still flawed: one attribute surrogates are the only answer. All that is required is the ability to correlate tuples during an update. A possibility: require that the user reassert the original candidate key values during the update. The predicate of a database along with the current database instance determines the set of all possible instances that can become current. There should be a way to obtain the set of possible instances from a set of possible transitions, each of which would contain what is different on a tuple by tuple basis between the current instance and a proposed instance. A transition could be defined as a set of triples (r, t, t') where r is the name of a relation, t is a tuple from the current instance, and t' is a tuple from the proposed instance. t would be empty for an inserted tuple, t' would be empty for a deleted tuple, and neither would be empty for a corresponding tuple. I positive that I read somewhere that it is possible to transform all state constraints into transition constraints (I'll have to find out where I read this). So, given a current instance and a set of transition constraints, you should be able to construct a set of possible transitions. What I'm not absolutely sure of is whether or not there are more possible transitions than possible instances. For some reason it seems likely, unless infinity is involved. Two different possible transitions could result in the same possible instance. I was just thinking: if more than one possible transition can result in the A light bulb just came on! Whether or not different candidate key values > With a surrogate you are representing that attribute anyhow. You're I concede that it is wrong to hide it. Whether or not it's hidden diverts > just completely wrong to hide it from the thing that needs to use it as > identification. (all your examples rely on an entity having some sort > of memory of what previous state it was in, which is an incredible > assumption) attention away from the main issue I'm trying to describe. I don't think it's an assumption at all. Enforcement of any transition >> >> >>> >> > Maybe, but from a functional standpoint, that operator is You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||
