Re: WWW/Internet 2009: 2nd CFP until 21 September
Date: Thu, 13 Aug 2009 18:38:08 -0400
Message-ID: <WKKdnUr4c61NCBnXnZ2dnUVZ_gydnZ2d_at_giganews.com>
"paul c" <toledobythesea_at_oohay.ac> wrote in message
news:QsKgm.38900$Db2.18218_at_edtnps83...
> Mr. Scott wrote:
>> "paul c" <toledobythesea_at_oohay.ac> wrote in message >> news:IYAgm.40873$PH1.30537_at_edtnps82... >>> Mr. Scott wrote: >>> ... >>>> I'm confused. What requirement are you referring to? Are you >>>> referring to the requirement that nulls be eliminated or the fact that >>>> an order isn't an order without a delivery destination? The >>>> referential cycle was a consequence of trying to eliminate nulls. ... >>> I meant the requirement that a delivery address can't be recorded >>> without an order date. >> >> I'm even more confused. >
> Okay, I'll give it a try. My ignorance of the 1000-page-or-so sql
> standard puts me at a disadvantage, so to quote one of your earlier posts:
> "If the table is decomposed into tables (X), (X,A), (X,B) and (X,C)", I
> have to ask a few questions.
I already acknowledged in post subsequent to that one that there is a problem with that decomposition, so I would prefer to use
{X,D,E}, {X,A}, {X,B}, and {X,C}
instead to avoid confusion. (Note that I switched from parenthesis to braces.)
>
> 1) in SQL, just what does decompositon of tables mean? Does it mean what
> relational decomposition means, ie., lossless projection, or something
> else?
> 2) (allow me to drop the parenthesis and use braces, just because it makes
> me happier to avoid any nuance of implementation language) Does the
> relation {X,A,B,C} have one predicate or several?
The table {X,A,B,C,D,E} has one predicate. All of the attributes apply to
all orders even if their values are at present unknown.
The predicate is "being an order that has order number X for customer E that
was placed on date D with delivery e-mail address A and delivery snail-mail
address B and delivery contact phone number C where X is an element of the
domain of all order numbers and E is an element of the domain of all
customers and D is an element of the domain of all dates and A is an element
of the domain of all e-mail addresses and B is an element of the domain of
all snail-mail addresses and C is an element of the domain of all phone
numbers" where X, A, B, C, D and E are free. A row in the table consists of
values that are to be substituted for free variables in the predicate. The
row {x1,a1,b1,c1,d1,e1} would mean after substitution "the order with order
number x1 for customer e1 that was placed on date d1 with delivery e-mail
address a1 and snail-mail address b1 and delivery contact phone number c1."
A row with a null snail-mail address and a null delivery contact,
{x2,a2,d2,e2} means after substitution "the order that has order number x2
for customer e2 that was placed on date d2 with delivery e-mail address a2
and delivery snail-mail address B and delivery contact phone number C where
B is an element of the domain of all snail-mail addresses and C is an
element of the domain of all phone numbers."
<snip>
> 4) if the answer to 2) is 'one predicate', what does projection on any of
> the four columns mean?
That is an interesting question. I think that the predicate of a projection must include in some way the predicate of its operand. A projection over B on the table {X,A,B,C,D,E} includes only those B's that are actually in the table. Does this look right to you? "Being a snail-mail address B for an order where an order has order number X for customer E that was placed on date D with delivery e-mail address A and delivery snail-mail address B and delivery contact phone number C where X is an element of the domain of all order numbers and E is an element of the domain of all customers and D is an element of the domain of all dates and A is an element of the domain of all e-mail addresses and B is an element of the domain of all snail-mail addresses and C is an element of the domain of all phone numbers." Received on Fri Aug 14 2009 - 00:38:08 CEST