Имеются отношения СЛУЖАЩИЕ и ПРОЕКТЫ:
СЛУЖАЩИЕ | |||
---|---|---|---|
СЛУ_НОМЕР | СЛУ_ИМЯ | СЛУ_ЗАРП | ПРО_НОМ |
2934 | Иванов | 22400.00 | 1 |
2935 | Петров | 29600.00 | 1 |
2936 | Сидоров | 18000.00 | 1 |
2937 | Федоров | 20000.00 | 1 |
2938 | Иванова | 22000.00 | 1 |
2934 | Иванов | 22400.00 | 2 |
2935 | Петров | 29600.00 | 2 |
2939 | Сидоренко | 18000.00 | 2 |
2940 | Федоренко | 20000.00 | 2 |
2941 | Иваненко | 22000.00 | 2 |
ПРОЕКТЫ | |
---|---|
ПРО_НОМ | ПРОЕКТ_РУК |
1 | Иванов |
2 | Иваненко |
Определены кортежные переменные СЛУ и ПРО на отношениях СЛУЖАЩИЕ и ПРОЕКТЫ соответственно. При потребности в дополнительных переменных будем считать, что они также определены и именуются путем добавления цифр в конце имен СЛУ и ПРО.
Определены также доменные переменные, имена которых совпадают с именами атрибутов отношений СЛУЖАЩИЕ и ПРОЕКТЫ, а в случае, когда требуется несколько доменных переменных, определенных на одном домене, будем добавлять в конце имени цифры.
Какое из приведенных ниже выражений реляционного исчисления кортежей правильно соответствует запросу "выдать имена руководителей проектов, ни один из участников которых не получает минимальную зарплату среди всех служащих"?
СЛУ1.СЛУ_ИМЯ WHERE EXISTS ПРО(СЛУ1.СЛУ_ИМЯ = ПРО.ПРОЕКТ_РУК) AND FORALL СЛУ2 IF (СЛУ2.ПРО_НОМ = СЛУ1.ПРО_НОМ) THEN EXISTS СЛУ3 (СЛУ2.СЛУ_ЗАРП > СЛУ3.СЛУ_ЗАРП))(Верный ответ)
СЛУ1.СЛУ_ИМЯ WHERE EXISTS ПРО ((СЛУ1.СЛУ_ИМЯ = ПРО.ПРОЕКТ_РУК) AND FORALL СЛУ2 ((СЛУ2.ПРО_НОМ != СЛУ1.ПРО_НОМ) OR EXISTS СЛУ3 (СЛУ2.СЛУ_ЗАРП > СЛУ3.СЛУ_ЗАРП))(Верный ответ)
СЛУ1.СЛУ_ИМЯ WHERE (СЛУ1.СЛУ_ИМЯ = ПРО.ПРОЕКТ_РУК) AND FORALL СЛУ2 ((СЛУ2.ПРО_НОМ = СЛУ1.ПРО_НОМ) AND EXISTS СЛУ3 (СЛУ2.СЛУ_ЗАРП > СЛУ3.СЛУ_ЗАРП))