0

I am trying to learn Domain relational calculus. Considering the below relations and queries, why can't we write for{<c>|< b, l, c, a> ∈ borrow ∧ a>1200} the second question? I have a feeling that it has something to do with whether the query is safe, but how come the answer for question one works? I don't know what exactly is wrong. Could you please help to explain? Many thanks! enter image description here enter image description here Source from http://www.cs.sfu.ca/CourseCentral/354/zaiane/material/notes/Chapter3/node18.html#SECTION00142000000000000000 and the relations it refers to is here http://www.cs.sfu.ca/CourseCentral/354/zaiane/material/notes/Chapter3/node8.html#SECTION00121000000000000000

Alnitak
  • 334,560
  • 70
  • 407
  • 495
user3735871
  • 527
  • 2
  • 14
  • 31

1 Answers1

1

Remember, that the definition of query in Domain Relational Calculus

{<x1, ..., xn> | P(<x1, ..., xn>)}

says that the variables x1, ..., xn that appear to the left of ‘|’ must be the only free variables in the formula p(...). In your example, variables b,l,a are not bound and remain free. In the correct answer, the existence quantifier binds them.

Mosha Pasumansky
  • 13,206
  • 5
  • 32
  • 55