20 вопросов на знание баз данных на примере базы SAKILA
Sakila — это пример базы данных, разработанный компанией MySQL, специально созданный для обучения и демонстрации возможностей систем управления базами данных (СУБД) на основе реляционной модели.
Уникальность Sakila заключается в его содержании, представляющем вымышленную компанию, занимающуюся прокатом DVD-дисков. Внутри базы данных находятся подробные данные о клиентах, фильмах, прокатах и платежах. Структура базы данных была тщательно разработана для демонстрации различных функциональностей СУБД, включая создание таблиц, выполнение запросов, использование индексов, управление транзакциями и многое другое.
Sakila стал известным и широко используемым примером базы данных в обучающих материалах, учебниках и курсах по СУБД и SQL. Его популярность объясняется доступностью и готовностью использования для обучения и практического освоения концепций баз данных.
База данных Sakila содержит 16 основных таблиц, описывающих различные аспекты компании по прокату DVD-дисков. Ниже приведен список этих таблиц:
- actor — информация об актерах, которые участвовали в фильмах.
- address — информация об адресах, в которых зарегистрированы клиенты компании.
- category — список категорий, к которым могут относиться фильмы.
- city — информация о городах, в которых расположены адреса клиентов.
- country — информация о странах, в которых расположены города.
- customer — информация о клиентах, которые берут в аренду фильмы.
- film — информация о фильмах, доступных для проката.
- film_actor — связь между фильмами и актерами, которые участвуют в этих фильмах.
- film_category — связь между фильмами и категориями, к которым они относятся.
- film_text — полный текст сюжетов фильмов, доступных для проката.
- inventory — информация о DVD-дисках, доступных для проката.
- language — список языков, на которых доступны фильмы.
- payment — информация о платежах, сделанных клиентами за аренду фильмов.
- rental — информация о факте аренды фильма клиентом.
- staff — информация о сотрудниках компании, работающих в магазине.
- store — информация о магазинах компании по прокату DVD-дисков.
Ниже список заданий рекомендованных для проверки Ваших навыков написания запросов SQL на примере базы данных Sakila. Задания отсортированы по уровню сложности. Попробуйте выполнить все задания и оценить свой уровень подготовки.
- Выведите все записи из таблицы customer.
- Выведите все записи из таблицы film, отсортированные по алфавиту.
- Выведите список всех уникальных категорий из таблицы category.
- Выведите список всех языков из таблицы language.
- Выведите список всех фильмов, длительность которых больше 2 часов.
- Выведите список всех фильмов, отсортированный по возрастанию длительности.
- Выведите список всех клиентов из таблицы customer, живущих в городе с названием «London».
- Выведите список всех фильмов комедий.
- Выведите список всех фильмов, в которых играл актер с идентификатором 5.
- Выведите список всех фильмов, отсортированный по количеству аренд, начиная с самых популярных.
- Выведите список всех клиентов, которые сделали хотя бы один платеж на сумму более $10.
- Выведите список всех клиентов, которые не брали ни одного фильма.
- Выведите сумму всех платежей для каждого месяца.
- Выведите список всех клиентов и количества аренд, которые они сделали.
- Выведите список всех клиентов, которые не вернули как минимум один прокат.
- Выведите список всех фильмов, которые никогда не прокатывались.
- Выведите список всех клиентов, которые арендовали фильмы в период с 1 мая 2006 года по 31 мая 2006 года.
- Выведите список всех магазинов, в которых есть DVD-диски с фильмами ужасов.
- Выведите список всех фильмов, которые прокатывались больше 30 раз в месяц.
- Выведите список всех клиентов, которые арендовали фильмы, общая стоимость которых превышает $50.
Все задания можно выполнять онлайн (бесплатно и без регистрации) на сайте SQLize.online Если столкнетесь с проблемой которую не можете решить — обращайтесь за помощью в одноимённый телеграм канал.