Consider a view v whose definition references only relation r.

  • If a user is granted select authorization on v, does that user need to have select authorization on r as well? Why or why not?
  • If a user is granted update authorization on v, does that user need to have update authorization on r as well? Why or why not?
  • Give an example of an insert operation on a view v to add a tuple t that is not visible in the result of select * from v. Explain your answer.

  • No. This allows a user to be granted access to only part of relation r.

  • Yes. A valid update issued using view v must update r for the update to be stoared in the database.

  • Any tuple t compatible with the schema for v but not satisfying the where clause in the definiton of view v is a valid example. ONe such example appears in Section 4.2.4.