Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Consider a database with the following schema. LIKES(drinker,beer); /* key: all columns */ FREQUENTS(drinker,pub); /* key: all columns */ SERVES(pub,beer,cost); /* key: (pub,beer) */ Write
Consider a database with the following schema. LIKES(drinker,beer); /* key: all columns */ FREQUENTS(drinker,pub); /* key: all columns */ SERVES(pub,beer,cost); /* key: (pub,beer) */ Write the following queries in relational algebra. You can use the math notation (greek letters sigma, pi, etc.) or the ASCii "linear" notation I used in class. In order to make things more clear, please use intermediate results defined with the assignment notation in the algebra: R(a,b) :=. Try to give meaningful names for R. (The textbook sometimes does this using the rho operator as rho( R(a,b), ) Consider the following queries: 1. Find pubs that serve some beer that Joe likes. 2. Find drinkers who frequent pubs where they can get a drink for less than $3 3. Find drinkers who like at least one expensive (over $8) beer that Joe likes. 4. Find drinkers who like some beers but do not frequent any pubs. 5. Find drinkers who frequent pubs that serve either Stella Artois or Molsons. 6. Find pubs that serve every beer that Joe likes. 7. Find all drinkers who frequent a pub that serves at least 2 beers they like, and one of them for at most $3. (i) Give the numbers of the non-monotone queries (and give an example of why you think they are non-monotone) (ii) Write relational algebra queries for all of the above (iii) Also, write Datalog queries for 1, 2, 4, 6. Again, use intermediate predicates in Datalog to make things clearer.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started