![]() | |
#1
| |||
| |||
|
|
Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. |
#2
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#3
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#4
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#5
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#6
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#7
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#8
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#9
| |||
| |||
|
|
Marshall wrote: Brass tacks: X(x) -- the domain R(a, b) -- the relation X & (x=a) & (x=b) => R X is a relation with one attribute, x. R is a relation with attributes a and b, taken from the members of X The phrase "(x=a)" denotes the infinite relation of attributes a and x where a = x. In set builder notation: {(x, a) | x in X and x = a} "&" is natural join. So X & (x=a) joins X with (x=a), creating a new relation with attributes x and a. X & (x=a) & (x=b) does the same thing, so now we have {(x, a, b) | x in X and x = a and x = b} "=>" is the generalized subset operator. It takes two relation operands, and evaluates to true if the left operand has a superset of the attributes, and a subset of the elements of the right operand. I suspect only 3 people in the world are comfortable with this notation:-) |
|
It is imperfect for at least two reasons: 1. Equality relation, is it some kind of constant in the RA? Also the "=" symbol in the (a=b) conflicts with the equality among relations. Two levels of equality is something people never dealt before? |
|
2. Explicit column variables. Having two sorts of symbols -- realtion and attribute variables -- makes RL expressions less pretty. |
#10
| |||
| |||
|
|
I'm not even absolutely sure there are two different equalities, though. Maybe there is just the one equality, and we define the relational comparison with it. Vice versa also works. But we need *something* besides just the two lattice operators or we can't compare relations. |
|
Yes, there is some concern about relation variables and attribute names appearing at the same lexical level in expressions, but my tendency is to believe the brevity is worth the risk... |
![]() |
| Thread Tools | |
| Display Modes | |
| |