Главная / Введение в реляционные базы данных / Имеются отношения СЛУЖАЩИЕ и ПРОЕКТЫ: СЛУЖАЩИЕ СЛУ_НОМЕРСЛУ_ИМЯСЛУ_ЗАРППРО_НОМ 2934Иванов22400.001 2935Петров29600.001 2936Сидоров18000.001 2937Федоров20000.001 2938Иванова22000.001 2934Иванов22400.002 2935Петров29600.002 2939Сидоренко18000.002 2940Федоре

Имеются отношения СЛУЖАЩИЕ и ПРОЕКТЫ:

СЛУЖАЩИЕ
СЛУ_НОМЕРСЛУ_ИМЯСЛУ_ЗАРППРО_НОМ
2934Иванов22400.001
2935Петров29600.001
2936Сидоров18000.001
2937Федоров20000.001
2938Иванова22000.001
2934Иванов22400.002
2935Петров29600.002
2939Сидоренко18000.002
2940Федоренко20000.002
2941Иваненко22000.002

ПРОЕКТЫ
ПРО_НОМПРОЕКТ_РУК
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 FORALL ПРО1 ((СЛУ1.ПРО_НОМ = ПРО1.ПРО_НОМ) AND 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.СЛУ_ЗАРП))
Сложность вопроса
27
Сложность курса: Введение в реляционные базы данных
53
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Благодарю за решениями по intiut'у.
16 мар 2017
Аноним
Я завалил сессию, за что я не нашёл этот чёртов сайт с ответами по интуит до этого
07 июл 2016
Аноним
Я провалил сессию, какого чёрта я не увидел этот великолепный сайт с ответами интуит до того как забрали в армию
16 окт 2015
Оставить комментарий
Другие ответы на вопросы из темы базы данных интуит.