Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> comp.databases.theory -> Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)
I'm not going to spend much more time on this, but will try once more.
Cimode wrote:
> I may suggest some reading (Introduction to Database Systems CJ Date) for
> more information.
Yes, I've read it - an excellent book. I just didn't know what you were referring to.
> Operators allow the expression the logical
> *assumptions* and logical *operation* that are possible over a set of
> permissible values extracted from one or several domains. They can be
> anything (=, <>, OVERLAP...) Operators are a part of what defines a
> data type.
Types are orthogonal to relations; the "operators" you discuss predate relational theory. 1 = 2 has nothing to do with relations. Operators like project, restrict, etc. are RELATIONAL operators.
> Example of operators
> 1) = means it makes sense to implement an equality operation on any
> value drawn from the domain.
> 2) <> means it makes sense to implement an equality operation on any
> value drawn from the domain.
> 3) OVERLAP is used to for instance to say that 2 durations can not
> overlap in a set of tupples (with start and endate attibute)
> ...
> As you can see we are not talking at all about functions.
Yes, we are. Equality is a function of 2 "inputs" to a single boolean "output," if that makes sense to you. That's the same as saying T -> T -> boolean, or as = : TxT -> boolean, or as boolean equals(T, T), etc. Of course it's a function.
> If a
> fonction is defined as
>
> y(x) = f(x) + p(x)
How is this a function? This is an equation, using 4 functions: y(x), f(x), +(x,y), and p(x).
> ...are '=' and '+' functions? No they certainly are not.
Yes, they certainly are.
> They are simply operators
So define an operator, and contrast that with your definition of function.
> period that help make an equality assumption (which
> sets the equation) based on on an addition operation. Only y(x), f(x)
> and p(x) are functions.
You're confusing the syntax with the semantics. How about if I said z(x,y) = x+y; is that a function? How, then, is z different from '+'? THEY'RE BOTH FUNCTIONS. If you're concerned about the number of "parameters", how about this: n(x) = NOT x. (Or, if you prefer, n(x) = !x.) How is n different from NOT (or !) ? THEY'RE BOTH UNARY FUNCTIONS.
> boolean can not be
> applied in definition of an operator (for communication purposes, I
> would say "valid and applyable" would be closer to help define what an
> operator does)
Meaningless.
> I clearly stated that relational operators are not functions.
And you're clearly wrong. Even the true relational operators are functions (albeit higher-order ones; restrict, for example, requires a predicate as well as its "input" relation).
> Your symbology is not familiar to me.
I've given several alternatives.