creating a query using relational calculus (tuple relational calculus)

176 views Asked by At

I have the following database scheme:

student: sid
course: pid
prerequisite: cid, precid
records: sid, cid

How do I go about creating a query in relational calculus such that i need to find all courses for which all its prerequisites have been taken by every student who has taken the course PSY100? I want to write this with at least one universal quantification ∀.

My idea was to find courses for which, for all courses to return, and for all students in records, there exist a student who took PSY100, that has also taken the prerequisite of that course to return.

so i have it written like this

{x:cid | ∃ c IN course [c(cid) = x(cid) AND
  ∀ y IN course ∀ r record
  ( y(cid) = c(cid) AND r(cid) = c(cid)
   → ∃ p IN prerequisite ( r(cid) = PSY100 AND r(cid) = p(pid) )] 

I am really confused about this. I am pretty sure this is wrong. any help would be greatly appreciated!

0

There are 0 answers