# Re: abnormal forms

From: paul c <toledobythesea_at_oohay.ac>
Date: Thu, 20 Apr 2006 18:04:08 GMT
Message-ID: <s2Q1g.48207\$7a.9444_at_pd7tw1no>

```> ...
> Asssuming that sva means an attribute with any type not a relation, an
> rva and an sva have different types. One is a relation and the other
> isn't. Thus one can never express an rva as an sva, and cardinality is
> meaningless for a generic sva.

```
1. SP{{S},P} with value

{S} P

---- -
{1,2} 1

2. SP{{S},P} with value

{S} P

```----     -

{1}      1

{2}      1

```

?

3. SP{S,P} with value

```S         P
=         -         (where the '=' underscore means S is a 'key')
1         1
2         1

```

I'd like to be able to say that #2 and #3 are equivalent in this sense even though #2 is talking about S being sets and #3 is talking about S being single values. For sure, #3 is in a kind of canonical form as far as Codd was concerned. Also would like to say that #1 and #2 are equivalent in this sense even though it could mean saying that the 'the supplier set of 1 and 2 ships part 1' is the same as 'supplier 1 ships part 1 and supplier 2 ships part 1'.

By contrast I would say

4. SP{{S},{P}} with value

{S} {P}

---- ----
{1,2} {1}
{2,3} {1,2}

is not comparable to

5. SP{S,P} with value

```S         P
-         -
1         1
2         1
2         2
3         1
3         2

```

My reason for saying this is that the presence of supplier 2 in two of #4's tuples seems to cause a kind of distortion of whatever the envisaged predicate is. For example, suppose the predicate of #4 is "the set of S suppliers are capable of shipping only the set of P parts combinations". If one were to delete the {2,1} tuple in #5, it wouldn't be clear as to which underlying tuple in #4 are logically deleted or updated - I'm trying to figure out if this is a phony reason or not.

The reason I think it might not be phony seems to need another example, say with a predicate that goes "these combinations of P parts have been shipped":

7. PS{{P}} with value

{P}

{1}
{1,2}

meaning at some time there was a shipment consisting only of part 1 and at another time there was a shipment consisting of part 1 and part 2. I can't seem to "single-out" the tuples in the rva tuples and get a comparable sva-ed relation without introducing another attribute (btw, to me this would be a 'surrogate attribute' and might help put the lie to the argument that surrogate keys are nonsense). The cause seems to sit around the overlapping subsets and makes me think that the above exercise is not quite phony, at least not just playing with notations.

One perhaps quirky fascination of mine is trying to avoid words like 'key'. It seems that I could express a key constraint with a notation that equates #2 and #3, something like "SP{{S},P} = = SP{S,P}", assuming one or a couple of axioms that allowed the singling-out of set elements when overlaps aren't present.

p Received on Thu Apr 20 2006 - 20:04:08 CEST

Original text of this message