Практическое задание
Создайте в PostgreSQL собственный тип данных и таблицу продажи автомобилей.
Тип данных «автомобиль» должен содержать следующие атрибуты: марка, модель, год выпуска, список предыдущих владельцев (массив ФИО). Таблица продажи автомобилей должна содержать два поля: автомобиль и цена.
Выполнять задание можно в postgres-online: https://extendsclass.com/postgresql-online.html
Нужно сдать скрипты создания типа и таблицы и заполнения таблицы данными (хотя бы одну строчку).
Задачи к собеседованию
Задача 1.
У вас есть социальная сеть, где пользователи (id, имя) могут ставить друг другу лайки. Создайте необходимые таблицы для хранения данной информации. Создайте запрос, который выведет информацию:
- id пользователя;
- имя;
- лайков получено;
- лайков поставлено;
- взаимные лайки.
Задача 2.
Для структуры из задачи 1 выведите список всех пользователей, которые поставили лайк пользователям A и B (id задайте произвольно), но при этом не поставили лайк пользователю C.
Задача 3.
Добавим сущности «Фотография» и «Комментарии к фотографии». Нужно создать функционал для пользователей, который позволяет ставить лайки не только пользователям, но и фото или комментариям к фото. Учитывайте следующие ограничения:
- пользователь не может дважды лайкнуть одну и ту же сущность;
- пользователь имеет право отозвать лайк;
- необходимо иметь возможность считать число полученных сущностью лайков и выводить список пользователей, поставивших лайки;
- в будущем могут появиться новые виды сущностей, которые можно лайкать.