10 views

(Division operation): The division operator of relational algebra, “÷”, is
defined as follows. Let r (R) and s(S) be relations, and let S ⊆ R; that is,
every attribute of schema S is also in schema R. Then r ÷ s is a relation on
schema R − S (that is, on the schema containing all attributes of schema
R that are not in schema S). A tuple t is in r ÷ s if and only if both of two
conditions hold:
• t is in $\prod _{r-s}(r)$
• For every tuple $t _s$ in s, there is a tuple $t _r$ in r satisfying both of the
following:
a.$t _r [S] = t _s [S]$
b. $t _r [R − S] = t$
Given the above definition:

a. Write a relational algebra expression using the division operator to
find the IDs of all students who have taken all Comp. Sci. courses.
(Hint: project takes to just ID and course_id, and generate the set of
all Comp. Sci. course_ids using a select expression, before doing the
division.)

1. Show how to write the above query in relational algebra, without
using division. (By doing so, you would have shown how to define
the division operation using the other relational algebra operations.)
| 10 views