Re: Constraints and Functional Dependencies

From: V.J. Kumar <vjkmail_at_gmail.com>
Date: Thu, 1 Mar 2007 01:23:51 +0100 (CET)
Message-ID: <Xns98E5C5C4AEF7Avdghher_at_194.177.96.26>


Sampo Syreeni <decoy_at_iki.fi> wrote in news:Pine.SOL.4.62.0702282318000.15178_at_kruuna.helsinki.fi:

> On 2007-02-28, paul c wrote:
>

>> 2) When inserting a TIF image of one person or a JPG of the same 
>> person, is there a way an engine could consider the TIF and JPG equal?

>
> AFAICT, the problem is that the so called "equivalence predicate"
> between two pictures, as seen by the database end user, has nothing to
> do with binary equivalence, nor is it even a higher level equivalence
> relation in the formal, mathematical sense. Rather it is a more or less
> reflexive, more or less symmetric, and definitely not transitive
> relation between images.

Why is such equivalence not a binary relation unless you want to resort to the dubious apparatus of fuzzy logic ? At some point, using thresholds or something similar you'd have to make a binary decision and partition your universe into more or less "legitimate" but crisp disjoint and exhaustive subsets thus creating equivalence classes.

>
> That means the end user never wants to use an equality predicate in a
> query, because even a query aiming at a single answer (conventionally
> "select x from y where y.attribute=known_value") would most likely
> search on a probabilistic/fuzzy predicate (i.e. "select x from y where
> y.attribute most like known_value). Each join then conceptually becomes
> a repeated nearest neighbour query with respect to a user supplied
> metric in a space that can have arbitrarily complex structure.
>
> In this framework, one simply cannot utilize the concept of equality in
> the way we do in normal database work, because we're not working with
> equivalence predicates.

You surely know that by converting the original universe of discourse into equivalence classes, some of which may have one member only !, you will get equality between the equivalence classes, and that's what we want, don't we ? So instead of saying "select * from whatever where x = y" we would say "select * from whatever where f(x)= f(y)", where f is some partitioning function that converts our universe into equivalence classes.

I am not picking on you, you appear to have a better math background than some, so quod licet bovi, non licet Jovi ;) Received on Thu Mar 01 2007 - 01:23:51 CET

Original text of this message