0

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!

philipxy
  • 14,867
  • 6
  • 39
  • 83
dante
  • 21
  • 4
  • Please say how you got that query by building it from parts. Ask re where you are 1st stuck or unsure. It would help to give a summary & reference for your TRC, because there are many & we have to hope you use it correctly to infer its details. PS "find all courses" just means "find courses" & its "all" is misleading in that it doesn't correspond to quantification, whereas "for every" & "for all" (& "for some") do. Also "find" is unhelpful, just say, the (relation of) tuples (with attribute(s) ...) where .... Also you don't want students, you want tuples s where student s(sid) took .... – philipxy Jan 28 '21 at 05:59
  • When giving a business relation(ship)/association or table (base or query result), say what a row in it states about the business situation in terms of its column values. Use only base table parameterized statements or p AND q, p → q, p OR q, NOT p, (there) EXISTS (a value for) x (where) p or FORALL (values for) x (,) p. Your phrasings aren't like that yet; indeed none of them are quite grammatical. [Re querying.](https://stackoverflow.com/a/24425914/3404097) [Re Relational algebra vs calculus.](https://stackoverflow.com/a/32841232/3404097) PS Research relational division & related queries. – philipxy Jan 28 '21 at 06:20

0 Answers0