Just a *** .
Would one be correct in saying that "a key represents the set of
antecedents of the material implication in a relation's predicate?".
I have always considered keys in terms of functional
dependencies/determinants, and was trying to reword it in the
terminology of logic. I liked the idea of describing a key using "if
then" to explain why there cannot be any other consequent values, and
so why (logically) the column has to be a unique, because I could then
analogise to java students (who always have trouble with this sort of
thing) why its nonsensical to have duplicate key values with a bit of
case 1: salary = 20000; break;
case 1: salary = 30000; break;
But on considering the possibility of a relation having a superkey
which includes all its attributes, and hence where there is no material
implication at all in its describing predicate, I ran into a bit of a
mental block. Perhaps my analogy is awry, I'm not certain, as I seem
then to be saying in this case that there is nothing on the other side
of the -> implication, other than a 'true'. Perhaps this is ok?