- Необходимо создать БД, которая содержит следующие таблицы:
- developers (хранит данные о разработчиках)
- skills (навыки разработчиков – Java, C++, etc.)
- projects (проекты, на которых работают разработчики)
- companies (IT компании, в которых работают разработчики)
- customers (клиенты, которые являются заказчиками проектов в IT компаниях)
При этом:
- везде ManyToMany
- разработчики могут иметь много навыков
- каждый проект имеет много разработчиков, которые над ним работают
- компании выполняют много проектов одновременно
- заказчики имеют много проектов
Необходимо реализовать как таблицы, так и грамотные связи между ними. Результатом выполнения задания являеются файлы initDB.sql (создание таблиц и связей между ними), populateDB.sql (заполнение таблиц данными)
-
Необходимо составить запросы, которые выполняют следующие задачи:
- Добавить разаработчикам поле (salary - зарплата).
- Найти самый дорогой проект (исходя из ЗП разработчиков).
- Вычислить общую ЗП всех Java разработчиков.
- Добавить поле (cost - стоимость) в таблицу Projects .
- Найти клиента (customer), который приносит меньше всего прибыли компании (company) для каждой из компаний .
- Вычислить, среднюю ЗП программистов в проекте, который приносит наименьшую прибыль.
Результатом выполнения задания являются файлы 1.sql, 2.sql … 6.sql, каждый из который получает данные для каждого из пунктов задания.