Проектирование баз данных
May 23, 2023

20 вопросов на знание баз данных на примере базы SAKILA

Sakila — это пример базы данных, разработанный компанией MySQL, специально созданный для обучения и демонстрации возможностей систем управления базами данных (СУБД) на основе реляционной модели.

Уникальность Sakila заключается в его содержании, представляющем вымышленную компанию, занимающуюся прокатом DVD-дисков. Внутри базы данных находятся подробные данные о клиентах, фильмах, прокатах и платежах. Структура базы данных была тщательно разработана для демонстрации различных функциональностей СУБД, включая создание таблиц, выполнение запросов, использование индексов, управление транзакциями и многое другое.

Sakila стал известным и широко используемым примером базы данных в обучающих материалах, учебниках и курсах по СУБД и SQL. Его популярность объясняется доступностью и готовностью использования для обучения и практического освоения концепций баз данных.

База данных Sakila содержит 16 основных таблиц, описывающих различные аспекты компании по прокату DVD-дисков. Ниже приведен список этих таблиц:

  1. actor — информация об актерах, которые участвовали в фильмах.
  2. address — информация об адресах, в которых зарегистрированы клиенты компании.
  3. category — список категорий, к которым могут относиться фильмы.
  4. city — информация о городах, в которых расположены адреса клиентов.
  5. country — информация о странах, в которых расположены города.
  6. customer — информация о клиентах, которые берут в аренду фильмы.
  7. film — информация о фильмах, доступных для проката.
  8. film_actor — связь между фильмами и актерами, которые участвуют в этих фильмах.
  9. film_category — связь между фильмами и категориями, к которым они относятся.
  10. film_text — полный текст сюжетов фильмов, доступных для проката.
  11. inventory — информация о DVD-дисках, доступных для проката.
  12. language — список языков, на которых доступны фильмы.
  13. payment — информация о платежах, сделанных клиентами за аренду фильмов.
  14. rental — информация о факте аренды фильма клиентом.
  15. staff — информация о сотрудниках компании, работающих в магазине.
  16. store — информация о магазинах компании по прокату DVD-дисков.

Ниже список заданий рекомендованных для проверки Ваших навыков написания запросов SQL на примере базы данных Sakila. Задания отсортированы по уровню сложности. Попробуйте выполнить все задания и оценить свой уровень подготовки.

  1. Выведите все записи из таблицы customer.
  2. Выведите все записи из таблицы film, отсортированные по алфавиту.
  3. Выведите список всех уникальных категорий из таблицы category.
  4. Выведите список всех языков из таблицы language.
  5. Выведите список всех фильмов, длительность которых больше 2 часов.
  6. Выведите список всех фильмов, отсортированный по возрастанию длительности.
  7. Выведите список всех клиентов из таблицы customer, живущих в городе с названием «London».
  8. Выведите список всех фильмов комедий.
  9. Выведите список всех фильмов, в которых играл актер с идентификатором 5.
  10. Выведите список всех фильмов, отсортированный по количеству аренд, начиная с самых популярных.
  11. Выведите список всех клиентов, которые сделали хотя бы один платеж на сумму более $10.
  12. Выведите список всех клиентов, которые не брали ни одного фильма.
  13. Выведите сумму всех платежей для каждого месяца.
  14. Выведите список всех клиентов и количества аренд, которые они сделали.
  15. Выведите список всех клиентов, которые не вернули как минимум один прокат.
  16. Выведите список всех фильмов, которые никогда не прокатывались.
  17. Выведите список всех клиентов, которые арендовали фильмы в период с 1 мая 2006 года по 31 мая 2006 года.
  18. Выведите список всех магазинов, в которых есть DVD-диски с фильмами ужасов.
  19. Выведите список всех фильмов, которые прокатывались больше 30 раз в месяц.
  20. Выведите список всех клиентов, которые арендовали фильмы, общая стоимость которых превышает $50.

Все задания можно выполнять онлайн (бесплатно и без регистрации) на сайте SQLize.online Если столкнетесь с проблемой которую не можете решить — обращайтесь за помощью в одноимённый телеграм канал.