Имеются отношения СЛУЖАЩИЕ и ПРОЕКТЫ:
СЛУЖАЩИЕ | |||
---|---|---|---|
СЛУ_НОМЕР | СЛУ_ИМЯ | СЛУ_ЗАРП | ПРО_НОМ |
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 | Иваненко |
Определены кортежные переменные СЛУ и ПРО на отношениях СЛУЖАЩИЕ и ПРОЕКТЫ соответственно. При потребности в дополнительных переменных будем считать, что они также определены и именуются путем добавления цифр в конце имен СЛУ и ПРО.
Определены также доменные переменные, имена которых совпадают с именами атрибутов отношений СЛУЖАЩИЕ и ПРОЕКТЫ, а в случае, когда требуется несколько доменных переменных, определенных на одном домене, будем добавлять в конце имени цифры.
Какое из приведенных ниже выражений реляционного исчисления доменов правильно соответствует запросу "выдать имена руководителей проектов, ни один из участников которых не получает минимальную зарплату среди всех служащих"?
СЛУ_ИМЯWHERE СЛУЖАЩИЕ (СЛУ_ИМЯ:СЛУ_ИМЯ, ПРО_НОМ:ПРО_НОМ) AND ПРОЕКТЫ (ПРОЕКТ_РУК:СЛУ_ИМЯ) AND FORALL СЛУ_ЗАРП1 (IF СЛУЖАЩИЕ (СЛУ_ЗАРП:СЛУ_ЗАРП1) THEN FORALL СЛУ_ЗАРП2 (IF СЛУЖАЩИЕ (СЛУ_ЗАРП:СЛУ_ЗАРП2) THEN СЛУ_ЗАРП1 > СЛУ_ЗАРП2))
СЛУ_ИМЯWHERE СЛУЖАЩИЕ (СЛУ_ИМЯ:СЛУ_ИМЯ, ПРО_НОМ:ПРО_НОМ) AND ПРОЕКТЫ (ПРО_НОМ:ПРО_НОМ, ПРОЕКТ_РУК:СЛУ_ИМЯ) AND FORALL СЛУ_ЗАРП1 (IF СЛУЖАЩИЕ (СЛУ_ЗАРП:СЛУ_ЗАРП1, ПРО_НОМ:ПРО_НОМ) THEN FORALL СЛУ_ЗАРП2 (IF СЛУЖАЩИЕ (СЛУ_ЗАРП:СЛУ_ЗАРП2) THEN СЛУ_ЗАРП1 > СЛУ_ЗАРП2))
СЛУ_ИМЯWHERE ПРОЕКТЫ (ПРОЕКТ_РУК:СЛУ_ИМЯ, ПРО_НОМ:ПРО_НОМ) AND FORALL СЛУ_ЗАРП1 ( IF СЛУЖАЩИЕ(СЛУ_ЗАРП:СЛУ_ЗАРП1, ПРО_НОМ:ПРО_НОМ) THEN EXISTS СЛУ_ЗАРП2 ( СЛУЖАЩИЕ(СЛУ_ЗАРП:СЛУ_ЗАРП2) AND СЛУ_ЗАРП1 > СЛУ_ЗАРП2))(Верный ответ)