我必须使用元组关系演算来解决查询,我只想知道我是否正确地完成了它们。我正在使用这个数据库:
EMPLOYEE: fname , minit , lname, ssn , bdate , address , sex , salary , superssn , dno
DEPARTMENT: dname dnumber , mgrssn , mgrstartdate
DEPT_LOCATIONS: dnumber , dlocation
PROJECT: pname , pnumber , plocation , dnum
WORKS_ON: essn , pno , hours
DEPENDENT: essn , dependent_name , sex , bdate , relationship
问题 1:检索比公司中薪酬最低的员工至少多 10,000 美元的员工姓名。
{e.Lname, e.Fname | EMPLOYEE(e) AND (∃b) (EMPLOYEE (b) AND e.Salary >=
10000 + b.Salary AND NOT (∃a) (EMPLOYEE(a) AND b.Salary > a.Salary))}
Q2:检索所有员工中工资最高的部门中所有员工的姓名。
{e.Lname, e.Fname | EMPLOYEE(e) AND (∃b) (EMPLOYEE (b) AND e.dno =
b.dno AND NOT(∃a)(EMPLOYEE(a) AND a.Salary > b.Salary))}
任何帮助都感激不尽。
编辑:假设只有一名员工可以拥有最高/最低薪水。