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