1. Создание запроса, который показывает всех студентов группы «ИС-21» с их средним баллом

Цель запроса

Вывести список студентов только указанной группы и для каждого рассчитать среднюю оценку по всем дисциплинам.

Пошаговый ход работы

Шаг 1. Открыть базу данных и перейти к объекту «Запросы»

  • Запустите LibreOffice Base.

  • Откройте файл Учебная_группа.odb, если он еще не открыт.

  • В левой панели главного окна выберите «Запросы» .

Шаг 2. Запустить мастер запросов

  • В области «Задачи» выберите «Использовать мастер для создания запроса…» .
    Альтернатива: можно нажать кнопку «Создать запрос в режиме дизайна…» — но по условию задания используем мастер.

Шаг 3. Выбрать поля из таблиц (Шаг 1 мастера)

  • В выпадающем списке «Таблицы» выберите таблицу «Студенты» .

  • В левом списке «Доступные поля» выделите поля:

    • Фамилия

    • Имя

    • Группа

  • Нажмите кнопку > (перенести одно поле) или >> (перенести все) → они появятся в списке «Поля в запросе».

  • Затем в том же выпадающем списке «Таблицы» выберите «Оценки» .

  • Выделите поле Оценка и перенесите его в правый список.

  • Важно: поле КодСтудента из таблицы «Оценки» переносить не нужно — мастер автоматически подставит связь, если она установлена.

Нажмите «Далее».

Шаг 4. Задать условия отбора (Шаг 2 мастера)

  • На этом шаге мастера нужно указать, что мы хотим видеть только студентов группы «ИС-21».

  • В списке «Поля» найдите «Группа» .

  • В строке «Условие» для этого поля напишите:
    'ИС-21'
    (обязательно в одинарных кавычках, так как это текст)

  • Поле «Связь» оставьте И (если условий несколько, но у нас одно).

Нажмите «Далее».

Шаг 5. Добавить группировку для расчета среднего балла (Шаг 3 мастера)

Пояснение: средний балл — это агрегатная функция (AVG). Чтобы её применить, нужно сгруппировать записи по каждому студенту.

  • На этом шаге отметьте галочкой «Функции группировки» .

  • Появится таблица, где для каждого поля можно выбрать тип группировки.

  • Для полей ФамилияИмяГруппа выберите «Группировка» (Group By).

  • Для поля Оценка выберите «Среднее» (Avg — Average).

Как это выглядит в мастере:

Поле запроса Функция группировки
Фамилия Группировка
Имя Группировка
Группа Группировка
Оценка Среднее

Нажмите «Далее».

Шаг 6. Задать сортировку (Шаг 4 мастера — необязательно)

  • Выберите поле «Фамилия» .

  • Направление сортировки: «По возрастанию» (А→Я).

  • При желании добавьте вторую сортировку по полю «Имя».

Нажмите **«Далее»».

Шаг 7. Завершить создание запроса (Шаг 5 мастера)

  • В поле «Имя запроса» введите:
    Студенты_ИС21_СреднийБалл

  • Оставьте переключатель в положении «Создать запрос на основе заданных параметров» (это стандартный вариант).

  • Нажмите «Готово».

Результат

Откроется окно с результатами запроса. Вы увидите что-то похожее на:

Фамилия Имя Группа Среднее_Оценка
Иванов Иван ИС-21 4,5
Петрова Мария ИС-21 4,5

(Оценка 5 и 4 дают среднее 4,5)

Возможные проблемы и их решение

  • Ошибка «синтаксическая ошибка в выражении GROUP BY» — возможно, вы забыли включить все неагрегированные поля (Фамилия, Имя, Группа) в группировку.

  • Средний балл не считается — проверьте, что поле Оценка имеет числовой тип (Целое), а не текстовый.

  • Показаны все студенты, а не только ИС-21 — проверьте условие в шаге 4: должно быть 'ИС-21' (именно с кавычками).


2. Создание сложного отчета: оценки студентов по дисциплинам с группировкой по студентам

Цель отчета

Сформировать печатный документ, в котором:

  • каждый студент выведен отдельно;

  • под фамилией студента перечислены все дисциплины, которые он изучал, и полученные по ним оценки.

Пошаговый ход работы

Шаг 1. Подготовка источника данных для отчета

Отчет будет основан на запросе, который «собирает» данные из трех таблиц. Сначала создадим этот запрос (можно и без мастера, в режиме дизайна, так как мастер отчетов не умеет сам «вытягивать» данные из связанных таблиц).

Создание запроса-источника:

  1. В левой панели выберите «Запросы» .

  2. Нажмите «Создать запрос в режиме дизайна…» .

  3. Добавьте в окно дизайна таблицы: «Студенты»«Оценки»«Дисциплины» .

    • Убедитесь, что связи между ними уже установлены (они должны быть видны линиями).

  4. Дважды щелкните по следующим полям (или перетащите их в нижнюю сетку):

    • из таблицы «Студенты»: ФамилияИмяГруппа;

    • из таблицы «Дисциплины»: Название;

    • из таблицы «Оценки»: ОценкаДатаСдачи.

  5. Запустите запрос на выполнение (кнопка «Выполнить запрос» — молния на панели) — проверьте, что данные выводятся корректно.

  6. Сохраните запрос под именем: «ДанныеДляОтчета» . Закройте конструктор.

Шаг 2. Перейти к созданию отчета через мастера

  • В левой панели главного окна выберите «Отчеты» .

  • В области «Задачи» нажмите «Использовать мастер для создания отчета…» .

Шаг 3. Выбрать поля для отчета

  • На первом шаге мастера в выпадающем списке «Таблицы или запросы» выберите созданный вами запрос — «ДанныеДляОтчета» .

  • В левом списке «Доступные поля» выделите все поля (Фамилия, Имя, Группа, Название, Оценка, ДатаСдачи) и перенесите их в правый список «Поля в отчете».

  • Нажмите «Далее».

Шаг 4. Создать группировку по студентам

  • Это ключевой шаг для «сложного отчета».

  • В левой части окна мастера отображаются все выбранные поля.

  • Выберите поля, по которым будет группировка (в нашем случае — «Фамилия» и «Имя» ; можно только «Фамилия», если фамилии уникальны).

  • Нажмите на поле «Фамилия» , затем нажмите кнопку > (или «Добавить группировку»), чтобы перенести его в правую область «Группировки» .

  • Аналогично перенесите поле «Имя» в группировки, если хотите.

  • Поля «Группа»«Название»«Оценка»«ДатаСдачи» должны остаться в левой области («Поля отчета»).

Результат: мастер поймет, что нужно сначала сгруппировать записи по студенту, а внутри каждого студента вывести его оценки.

Нажмите «Далее».

Шаг 5. Задать сортировку внутри групп

  • Выберите поле «Название» (дисциплина).

  • Установите сортировку: «По возрастанию» (А→Я) — чтобы дисциплины шли по алфавиту.

  • При желании добавьте сортировку по полю «ДатаСдачи» .

Нажмите **«Далее»».

Шаг 6. Выбрать макет отчета

  • На шаге выбора макета вы можете выбрать один из предложенных вариантов:

    • «Столбцы — подписи сверху» — каждый студент идет отдельным блоком, оценки в виде таблицы.

    • «Блочный» — более компактный вариант.

    • «Отчет с выделением дат» — если важны даты.

  • Для наглядности выберите «Столбцы — подписи сверху» .

  • Выберите ориентацию страницы: «Книжная» или «Альбомная» (при многих колонках лучше альбомная).

Нажмите **«Далее»».

Шаг 7. Выбрать стиль оформления (Шаг 6 мастера)

  • Выберите любой стиль: «Деловой», «Современный», «Сине-голубой» и т.д.

  • Рекомендуется выбрать стиль с четким разделением групп, например «Серый современный» .

Нажмите **«Далее»».

Шаг 8. Задать имя отчету и завершить

  • В поле «Название отчета» введите:
    Отчет_Оценки_поСтудентам

  • Оставьте переключатель на «Создать статический отчет» .

  • Нажмите «Готово».

Результат

Откроется готовый отчет (в режиме предварительного просмотра). Он будет выглядеть примерно так:

Студент: Иванов Иван (Группа: ИС-21)
------------------------------------------------
| Дисциплина      | Оценка | Дата сдачи |
| Информатика     | 5      | 15.12.2025 |
| Математика      | 4      | 18.12.2025 |
------------------------------------------------

Студент: Петрова Мария (Группа: ИС-21)
------------------------------------------------
| Дисциплина      | Оценка | Дата сдачи |
| Информатика     | 5      | 15.12.2025 |
| Иностранный язык| 4      | 20.12.2025 |
------------------------------------------------

Настройка отчета после создания (при необходимости)

  • Если отчет выглядит не так, как хотелось, вы можете переключиться в режим редактирования (правой кнопкой по отчету → «Правка»).

  • В режиме редактирования (это встроенный Writer) можно:

    • изменить заголовки колонок;

    • убрать или добавить поля;

    • настроить ширину колонок;

    • изменить шрифты и цвета.

  • После изменений сохраните отчет (кнопка Сохранить или Ctrl + S).