Кафедра ИТКафедра ИТ
Обучение
  • О кафедре
  • Направления подготовки
  • Друзья и партнеры
  • Структура кафедры
  • Обращение к студентам
  • Официальный сайт «ВШП»
GitHub
Обучение
  • О кафедре
  • Направления подготовки
  • Друзья и партнеры
  • Структура кафедры
  • Обращение к студентам
  • Официальный сайт «ВШП»
  • Домашнее задание №3 по дисциплине ОП.08 - Основы проектирования баз данных

Примечание

ЭТО АРХИВНАЯ ВЕРСИЯ КУРСА!

Материалы предназначаются для пересдающих дисциплину "ОП.08 - Основы проектирования баз данных" в соответствии с учебными планами СПО годов набора ДО 2024-го. Для того чтобы ознакомиться с актуальным курсом "ИТ.03 - Основы проектирования баз данных" включающим интерактивные примеры, перейдите по ссылке.

Материалы были перенесены со старого сайта с минимальной доработкой, поэтому не все возможности курса могут работать как ожидается, где-то может слететь форматирование.

Домашние задания в рамках курса проверяться не будут!

Домашнее задание №3 по дисциплине ОП.08 - Основы проектирования баз данных

В рамках задания рассматривается примерная База Данных книжной полки (коллекции книг).

Схема Базы Данных в виде набора SQL-запросов:

bookshelf.sql

bookshelf.sql

Пояснение по структуре БД:

  • books — таблица для сущности «Книга», отражает книги

    • id — уникальный идентификатор в БД, автоматически инкрементируется
    • title — название книги
    • year — год издания книги
    • shelves_id — идентификатор полки на которой находится книга
    • friends_id — идентификатор друга кому книга отдана, если вместо идентификатора значение NULL значит книга находится на месте
  • authors — таблица для сущности «Автор», отражает авторов

    • id — уникальный идентификатор в БД, автоматически инкрементируется
    • name — имя автора
  • authors_books — вспомогательная таблица для организации связи «многие-ко-многим» между сущностями «Автор» и «Книга», отражает взаимосвязь сущностей, при которой у одного автора может быть несколько книг, а у книги может быть больше одного автора, при этом первичный ключ в таблице составной

    • books_id — идентификатор книги
    • authors_id — идентификатор автора
  • shelves — таблица для сущности «Книжная полка», отражает физическое место нахождения конкретной книги, при котором книга может находиться только на одной полке

    • id — уникальный идентификатор в БД, автоматически инкрементируется
    • title — название полки
  • friends — таблица для сущности «Друг», отражает друзей, которым можно одолжить книгу, при этом когда книга находится у друга, физически в коллекции ее нет, но место на книжной полке с которой ее забирали остается прежним, чтобы в случае возвращения можно было поставить ее на свое место

    • id — уникальный идентификатор в БД, автоматически инкрементируется
    • name — имя друга
    • contacts — любые контактные данные по которым можно связаться с другом чтобы напомнить вернуть книгу

Задание

Необходимо написать SQL-запросы чтобы выполнить каждую из задач:

  1. Найти автора с самым большим числом книг и вывести его имя
  2. Вывести пять самых старых книг у которых указан год издания
  3. Вывести общее количество книг на полке в кабинете
  4. Вывести названия, имена авторов и годы издания книг, которые находятся на полке в спальне
  5. Вывести названия и годы издания книг, написанных автором 'Лев Толстой'
  6. Вывести название книг, которые написали авторы, чьи имена начинаются на букву "А"
  7. Вывести название книг и имена авторов для книг, которые находятся на полках, названия которых включают слова «верхняя» или «нижняя»
  8. Книгу «Божественная комедия» автора «Данте Алигьери» одолжили почитать другу Ивану Иванову, необходимо написать один или несколько запросов которые отразят это событие в БД
  9. Добавить в базу книгу «Краткие ответы на большие вопросы», год издания 2020, автор «Стивен Хокинг», положить ее на полку в кабинете

Требования к оформлению

Результат выполнения задания должен быть оформлен в виде файлов:

  • Файл дампа итоговой БД (после выполнения всех задач) в формате SQL, должен называться: bookshelf_dump.sql, при этом при подготовке дампа необходимо учесть что в него должны попасть структура и данные только тех таблиц, которые относятся к данной домашней работе
  • Файл последовательных SQL-запросов для каждого из пунктов задания, должен называться: bookshelf_tasks.sql, при этом ОБЯЗАТЕЛЬНО учитывать пример формата, описанный ниже.

Пример формата для файла задания

Общие требования и рекомендации

Последнее обновление: 31.10.2025, 18:45
Предыдущая
Домашнее задание №2 по дисциплине ОП.08 - Основы проектирования баз данных
Следующая
Домашнее задание №4 по дисциплине ОП.08 - Основы проектирования баз данных
© Кафедра информационных технологий ЧУВО «ВШП», 2025. Версия: 0.20.1
Материалы доступны в соответствии с лицензией: