{t | $f Î
Employees
$d
Î
Departments(t[FName]
= f[FName] Ù
d[MGRCPR] = 654 Ù
d[DNUMBER]
= f[DNO])}
2:
{t | $e Î
Employees $p Î
Projects $a Î
Allocations (t[CPR] = e[CPR] Ù
e[BDATE] < 1961-01-01
Ùp[PNAME]
= 'InteractiveTV' Ù
p[PNUMBER] = a[PNO]
Ù
a[ECPR]
= e[CPR])}
3:
{t | $e Î
Employees
$p
ÎProjects
$aÎ
Allocations
(t[FNAME] = e[FNAME] Ù
t[MINIT] = e[MINIT] Ù t[LNAME]
= e[LNAME] Ù
e[DNO] = 10 Ù
p[PNAME] = 'PalmTop' Ù a[HOURS]
15 Ù
p[PNUMBER] = a[PNO] Ù
a[ECPR]
= e[CPR])}
2:
Anonymous variables are in the following query implicitly existentially
quantified, e.g., á _, _ñ
Î
p
stands for $v1,
v2
áv1,
v2ñ
Î
p.
{áCPR, BDATEñ
| $DNO (á_,
_, _, CPR, BDATE, _, _, _, DNOñ Î
Employees
Ù
$MGRCPR, BDATE1 á_,
_, _, MGRCPR, BDATE1, _, _, _, _ñ Î
Employees
Ù
á_, DNO, MGRCPR,
_ñ Î Departments
Ù
BDATE
< BDATE1)}
2:
R1 ¬((Employees
n
CPR
= ECPR Allocations) n
PNO = PNUMBER
Projects))
pCPR
(sBDATE
< 1961-01-01 Ù PNAME = 'InteractiveTV'(R1)
3:
R1¬Employees
n
CPR
= ECPR Allocations
R2 ¬R1
n
PNO
= PNUMBER Projects
R3 ¬sDNO
= 10 Ù PNAME = 'PalmTop' Ù
HOURS 15 (R2)
pFNAME,
MINIT, LNAME (R3)
4:
R1 ¬Locations
n
DDNBR = DNUM Ù DLOCATION
= PLOCATION Projects
R 2 ¬pDNBR,
DLOCATION (R1)
R3 ¬
Locations \ R2
pDNBR
(R3)
5:
R1 ¬(Employees
n
DNO
= DNUMBER Departments) n EEmployees.CPR
= Managers.CPR rManagers(Employees)
R2 ¬sEmployees.BDATE
< Managers.BDATE (R1)
pEmployees.CPR,
Employees.BDATE (R2)
Result sets
1: Empty
2:
FNAME |
Kristian |
Charlotte |
Niels |
3:
CPR |
111 |
654 |
4:
DNBR |
12 |
5:
CPR | BDATE |
123 | 1955-12-10 |