388 views
0 votes
0 votes

(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.)

Please log in or register to answer this question.

Related questions

0 votes
0 votes
1 answer
3