### База данных Музыкального приложения

## I
Будем разрабатывать базу данных для _упрощённого_ музыкального приложения,
похожего на Spotify/YouTube Music/iTunes со следующей функциональностью:

+ пользовательские плейлисты;
+ поиск аудиотреков;
+ оформление платной подписки;

Функциональность, которую мы точно не будем реализовывать
- стриминг аудиотреков;
- пользовательские рекомендации(?);

## II

Специфичные ограничения:
- обязателен учёт пользователей (_например, с помощью какого-то числового
идентификатора_);
- для каждого трека должна быть сохранена следующая инфа:
  - UPS (исполнитель)
  - ISRC (год+страна записи)
  - название трека
  - исполнитель
  - [опционально] текст трека
  - [опционально] жанр
  - [опционально] язык(и?) (_а сколько языков есть? можно ли их
  описать в отдельной таблице?_)
- про плейлисты хорошо бы тоже хранить информацию:
  - название;
  - открытый или нет;
  - [опционально] описание;
  - [опционально] ссылка на обложку;

Обязателен учёт следующих связей:
  - пользователь <-> плейлисты
  - плейлисты <-> набор треков
  - пользователь <-> токен платной подписки

## III

- playlist
  - `id`: integer(?) -- id; 
  - `name`: varchar(100) -- имя плейлиста;
  - `is_open`: boolean -- открытый или нет;
  - `desc`: text -- описание;
  - `cover_link`: text(url?) -- ссылка на обложку;

- `user_to_playlist`
  - `user_id`: integer(?);
  - `playlist_id`: integer(?);

- `playlist_to_tracks:`
  - `playlist_id`: integer(?);
  - `track_id`: integer(?);

- `user_to_payment_token`
  - `user_id`: integer(?);
  - `token`: char(80);
