CPS 432/562 Homework #1 Solution Sketches
- (5+5+5=15 points) Exercise 16.2.2 (parts b, c, and d) on p. 809
from [DBCB]: Give examples to show that:
- Projection cannot be pushed below a set or bag difference.
The relation schemas and instances R(a,b,c)={(1,2,3), {1,3,2}) and
S(a,b,c)={(1,2,3), (1,4,5)} provide an example which
proves the assertion.
- Duplication elimination cannot be pushed below projection.
The relation schemas and instances R(a,b,c)={(1,2,3), {1,3,2}) and
S(a,b,c)={(1,2,3), (1,4,5)} provide an example which
proves the assertion.
- Duplication elimination cannot be pushed below bag union or difference.
The relation schemas and instances R(a)={(1),(1)} and
S(a)={(1),(1)}
provide an example which proves the assertion.
- (10 points)
Exercise 16.2.3 on p. 809 from [DBCB]. Prove that we can always
push a projection below both branches of a bag union.
Proof by contradition: Spoze
is false.
Thus, the lhs or rhs contains at least one tuple not
present on the other side. Both of these cases lead to
contraditions since neither bag union nor bag projection
remove tuples.
- (10+10=20 points)
Exercise 16.2.4 (parts b and d) on p. 809 from [DBCB]: Some laws that hold
for sets also hold for bags; other do not.
For each of the laws below that are true for sets, indicate
whether or not it is also true for bags. Either give a proof
the law for bags is true or give a counterexample.
- R
R = R
(the idempotent law for intersection)
True. Proof by contradition: Spoze
R R = R is
false.
Thus, the lhs or rhs contains at least one tuple not
present on the other side. Both of these cases lead to
R != R which is a contradition.
- R
(S T) =
(R S)
(R T)
(the distribution of union over intersection)
True. The tuples of R added to S and T (through
bag union) prior to their bag intersection will only add the tuples
of R to that bag intersection beyond the bag intersection
of simply S and T which is just the lhs (by the
idempotent law for intersection).
- (5 points)
Exercise 16.2.6 (part b) on p. 809 from [DBCB]:
Push the projection in the following expression down as far as it can go.
- (10 points) Required only for CPS 562 students
Exercise 16.2.5 (part b) on p. 809 from [DBCB]:
We can define
for bags by: R
S
if and only if
for every element x, the number of times x
appears in R is less than or equal to the
number of times it appears in S. Tell whether
the statement `if R
S, then R
S = R'
(which is true for sets)
is true for bags; give either a proof
or a counterexample.
Assume R S is
true. Show that R
S = R
must also be true.
Proof by contradition: Spoze
R
S = R
is false.
Thus, the lhs or rhs contains at least one tuple not
present on the other side.
Both of these cases lead to contraditions as shown below.
- If the lhs has the unique tuple, then that tuple must be
in R (by the assumption) and thus present on the lhs.
- If the rhs has the unique tuple, then that tuple must be
present on the lhs (again, by the assumption).
|