Имеются отношения СЛУЖАЩИЕ и ПРОЕКТЫ:
СЛУЖАЩИЕ | |||
---|---|---|---|
СЛУ_НОМЕР | СЛУ_ИМЯ | СЛУ_ЗАРП | ПРО_НОМ |
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.СЛУ_ИМЯ, ПРО1.ПРОЕКТ_РУКWHERE (СЛУ1.ПРО_НОМ = ПРО1.ПРО_НОМ) AND FORALL ПРО2 IF (ПРО1.ПРОЕКТ_РУК = ПРО2.ПРОЕКТ_РУК) THEN EXISTS СЛУ2 ((СЛУ2.ПРО_НОМ = СЛУ1.ПРО_НОМ) AND FORALL СЛУ3 IF (СЛУ3.ПРО_НОМ = ПРО2.ПРО_НОМ) THEN (СЛУ2.СЛУ_ЗАРП <= СЛУ3.СЛУ_ЗАРП))(Верный ответ)
СЛУ1.СЛУ_ИМЯ, ПРО1.ПРОЕКТ_РУКWHERE (СЛУ1.ПРО_НОМ = ПРО1.ПРО_НОМ) AND IF (ПРО1.ПРОЕКТ_РУК = ПРО2.ПРОЕКТ_РУК) THEN EXISTS СЛУ2 ((СЛУ2.ПРО_НОМ = СЛУ1.ПРО_НОМ) AND FORALL СЛУ3 IF (СЛУ3.ПРО_НОМ = ПРО2.ПРО_НОМ) THEN (СЛУ2.СЛУ_ЗАРП <= СЛУ3.СЛУ_ЗАРП))
СЛУ1.СЛУ_ИМЯ, ПРО1.ПРОЕКТ_РУКWHERE FORALL ПРО1 ((СЛУ1.ПРО_НОМ = ПРО1.ПРО_НОМ) AND IF (ПРО1.ПРОЕКТ_РУК = ПРО2.ПРОЕКТ_РУК) THEN EXISTS СЛУ2 ((СЛУ2.ПРО_НОМ = СЛУ1.ПРО_НОМ) AND FORALL СЛУ3 IF (СЛУ3.ПРО_НОМ = ПРО2.ПРО_НОМ) THEN (СЛУ2.СЛУ_ЗАРП <= СЛУ3.СЛУ_ЗАРП))