1. This query returns the name and title of each member who works more than 5 hours weekly in every committee. 2. (a) select name from Committees where cid IN (select cid from Composition C, Members M where C.mid = M.mid and (M.name = 'Anna Salem' or M.name = 'Beth Pike')); (b) select name, description from Committees where cid NOT IN (select cid from Composition); (c) select C.name, M.name, M.title from Committees C, Composition O, Members M where C.cid = O.cid and O.mid = M.mid and C.name like '%Standards%'; (d) select name, title, sum(hours) as totalWorkingHours from Members M left join Composition C on M.mid = C.mid group by name, title; (e) select name, description from Committees C, Composition O where C.cid = O.cid group by name, description having count(O.mid) >= 10 order by count(O.mid) desc; 3. RA: (I'd prefer to use the RA expression tree, but this is a text file, so ...) J means natural join, S means selection, P means projection and R means renaming, J_(condition) means normal inner join P_{topic, submitDeadline, M2.name} (R_(M1(*)(S_(name = 'Anna Salim')Members)) J (R_O1(*)Composition) J Proposals J_(O1.cid = O2.cid) (R_O2(*)Composition) J_(O2.mid = M2.mid) (R_M2(*) Members)) Datalog: Result(t, s, n) ::= Members(mid1, 'Anna Salim', _, _) and Composition(cid1, mid1, _, _) and Proposals(pid, cid1, t, _, s) and Composition(cid1, mid2, _, _) and Members(mid2, n, _, _) 4. update Composition set hours = 0.5 * hours where mid = 'HR012'; 5. 3 entity sets: Members, Committees, and Proposals 1 m-m relationship set (Composition) between Members and Committees 1 m-1 relationship set between Committees and Proposals