Пример работы с PostgreSQL
- Список музыкальных жанров. У каждого жанра есть название и ID.
- Список исполнителей. У исполнителя есть ID, имя (псевдоним) и жанр, в котором он исполняет.
- Список альбомов исполнителей. У альбома есть название, ID, год выпуска и его исполнитель.
- Список музыкальных треков. У трека есть название, ID, длительность и альбом, которому этот трек принадлежит.
- Сборник. Сборник имеет название, ID и год выпуска.
- Для каждого жанра можно получить список исполнителей, которые исполняют в соответствующем жанре.
- Для каждого исполнителя можно получить список его альбомов.
- Для каждого альбома можно получить список треков, которые в него входят.
- Исполнители могут петь в разных жанрах, как и одному жанру могут принадлежать несколько исполнителей.
- Альбом могут выпустить несколько исполнителей вместе. Каждый исполнитель может принимать участие во множестве альбомов.
- Музыкальный трек принадлежит строго одному альбому.
- В сборник входят различные треки из разных альбомов.
- Один и тот же трек может присутствовать в разных сборниках.
SQL-запросы, создающие спроектированную БД - create_tables.sql
SQL-запросы, заполняющие БД данными - insert.sql
- 10 исполнителей;
- 10 жанров;
- 10 альбомов;
- 21 трек;
- 10 сборников.
Для выборки из одной таблицы - select_from_one.sql
- название и год выхода альбомов, вышедших в 2018 году;
- название и продолжительность самого длительного трека;
- название треков, продолжительность которых не менее 3,5 минуты;
- названия сборников, вышедших в период с 2018 по 2020 год включительно;
- исполнители, чье имя состоит из 1 слова;
- название треков, которые содержат слово “мой”/“my”.
Запросы для выборки из разных таблиц, которые выведут информацию согласно инструкциям ниже: select_from_many.sql
- количество исполнителей в каждом жанре;
- количество треков, вошедших в альбомы 2019-2020 годов;
- средняя продолжительность треков по каждому альбому;
- все исполнители, которые не выпустили альбомы в 2020 году;
- названия сборников, в которых присутствует конкретный исполнитель (выберите сами);
- название альбомов, в которых присутствуют исполнители более 1 жанра;
- наименование треков, которые не входят в сборники;
- исполнителя(-ей), написавшего самый короткий по продолжительности трек (теоретически таких треков может быть несколько);
- название альбомов, содержащих наименьшее количество треков.