Лабораторный практикум. Методические указания для подготовки студента к лабораторным занятиям 5
![]()
|
Лабораторная работа № 15. Поиск, сортировка и фильтрация данных в таблицахВремя выполнения работы: 2 часа. Цель работы: освоение инструментария работы с базами данных. Задачи работы:научиться производить поиск и замену данных в таблицах; уметь выполнять сортировку записей таблицы по указанным полям; уметь выполнять отбор записей фильтром по выделенному и обычным фильтром. Оборудование и материалы: компьютер. Краткие теоретические сведения Сортировка данных. Фильтрация данных. Порядок выполнения работы Откройте свою базу данных. Откройте таблицу Студент. Отсортируйте ее по полю ФИО. Проверьте результат. Отсортируйте эту же таблицу так, чтобы сначала были выведены записи с фамилиями всех студенток по алфавиту, а затем – с фамилиями всех студентов тоже по алфавиту. Для этого поменяйте столбцы ПОЛ и ФИО местами методом буксировки, выделите их и выполните команду сортировки. Восстановите сортировку по первичному ключу. Замените в таблице фамилию одной из студенток на новую, используя команду Правка-Найти. С помощью фильтра по выделенному показать следующие записи (перед выполнением следующего фильтра удаляйте предыдущий): с фамилиями студентов, начинающихся на конкретную букву; студентов с заданным годом рождения; студентов одной из групп; студентов мужского пола этой же группы (последовательное выделение). Обычным фильтром сделайте следующий отбор записей из таблицы Студент: студентов из группы М (вместо М укажите номер группы); студентов из группы М, родившихся после конкретной даты; студентов с проходным баллом > 4,4 из групп М и N; студентов, проживающих по заданной улице. Закройте таблицу Студент. Обычным фильтром сделайте отбор записей из таблицы Успеваемость: покажите записи с двойками по информатике. Узнайте фамилии этих студентов. Для этого выполните команду Вид-Подтаблица, выберите таблицу Студент и воспользуйтесь значками «+». Покажите работу преподавателю и закройте базу данных. Вопросы для защиты: Для каких данных целесообразно использовать вложенную сортировку? Какая команда используются для поиска записей? Возможна ли сортировка по нескольким полям? Какие типы фильтров можно использовать для отбора записей? Можно ли с помощью фильтра по выделенному задать несколько значений полей для отбора записей? Нужно ли специально сохранять фильтр по выделенному или обычный фильтр, чтобы использовать его при следующем открытии таблицы? Какая команда применяется для удаления сохраненного фильтра? Чем фильтр отличается от сортировки? Лабораторная работа № 16. Создание запросов на выборку данныхВремя выполнения работы: 2 часа. Цель работы: освоение инструментария работы с базами данных. Задачи работы:научиться создавать, редактировать и выполнять однотабличные и многотабличные запросы на выборку данных; уметь создавать запросы с параметром; освоить технику создания запросов с выражениями в условиях отбора; уметь задавать групповые операции и вычисляемые поля в запросах; уметь создавать запросы на основе других запросов. Оборудование и материалы: компьютер. Краткие теоретические сведения Запрос на выборку. Запрос по параметру. Перекрестный запрос. Построитель выражений. Порядок выполнения работы В лабораторной работе необходимо создать в режиме Конструктора несколько различных запросов. Каждый из запросов необходимо сразу сохранять под именем, который указан после номера запроса в скобках. Затем его следует выполнить и перейти к созданию следующего запроса. Откройте свою базу данных. Запрос 1 (Студентки группы N). Перейдите в объект базы данных Запросы. Выполните двойной клик на команде Создание запроса в режиме конструктора. В окно бланка запроса добавьте таблицу Студент. Закройте окно добавления таблиц. Нужно вывести список студенток из группы N заданного года рождения, при этом номер группы и пол на экран не выводить. Для выполнения этого задания из таблицы Студент последовательно методом буксировки перенесем поля НГ, ФИО, ПОЛ, и ГОДР. Сформируем условия отбора запроса, как показано на рисунке 1. Снимем флажки в полях НГ и ПОЛ. ![]() Рисунок 1 – Запрос «Студентки группы 21-6 в режиме конструктора Запустим запрос на исполнение ![]() Запрос 2 (Запрос с параметром). Вывести адреса и фамилии студенток из группы, номер которой запрашивается с клавиатуры при выполнении запроса. Запрос создается аналогично предыдущему. Параметр запроса формируется в строке Условие отбора в квадратных скобках. Пример приведен ниже на рисунке 2. ![]() Рисунок 2 – Формирование запроса с параметром Запрос 3 (Двоечники). Какие студенты имеют двойки хотя бы по одному предмету? В запросе отобразить поля: Номер группы, Фамилия студента, Название предмета и оценка. Для выполнения этого задания необходимо в бланк конструктора запроса добавить две таблицы: Студент и Успеваемость. Остальное выполняется аналогично предыдущему. Запрос 4 (Высокий проходной балл). У каких студентов проходной балл при поступлении выше проходного бала в группе? В отобранных записях должны быть поля с номером группы, фамилией студента, проходным баллом студента и проходным баллом группы. В условиях отбора используйте выражения с операторами и именами полей. Для выполнения этого задания в бланк запроса необходимо добавить таблицы Группа и Студент, из которых выбираются нужные поля. Условие отбора поля ПБАЛЛ (таблицы Студент) задается Построителем выражений ![]() ![]() Рисунок 3 – Диалоговое окно построителя выражений Запрос 5 (Возраст студентов). Выдать список студентов старше N лет. В запросе предусмотреть поля с фамилией, адресом, датой рождения и вычисляемым полем Возраст. Для построения этого запроса выбираем таблицу Студент, из нее – три поля в соответствии с заданием. Четвертое поле – Возраст – формируем при помощи Построителя выражений путем формирования в название поля выражения: =2011-Year([Студент]![ГОДР]). При этом название функции Year выбираем из списка Встроенных функций категории Дата/время, а поле ГОДР – из таблицы Студент в Построителе выражений. Ограничение на возраст задаем в Условии отбора сформированного вычисляемого поля в бланке запроса. Запрос 6 (Число студентов в группе). Посчитать фактическое число студентов в каждой группе. Это однотабличный запрос с групповой операцией и статистической функцией. Запрос формируется на основе добавления в бланк конструктора запроса категории Групповая операция из панели инструментов ![]() ![]() Рисунок 4 – Фрагмент запроса с использованием групповой операции Запрос 7 (Средний проходной балл в группе). Отобразить с точностью до сотых долей средний проходной балл в группе по таблице Студент. Выполняется аналогично предыдущему запросу, но работаем с функцией Avg по полю ПБАЛЛ. Для данного поля в контекстном меню Вывода на экран устанавливаем в Свойствах поля Формат поля С разделителем и Числом десятичных знаков – 2. Запрос 8 (Средний балл студента). Посчитать с точностью до сотых долей средний балл каждого студента. Запрос постройте на базе двух таблиц: Студент и Успеваемость. Используйте групповые операции и функцию Avg. по полю Оценка. Запрос 9 (Средний балл в группе). Запрос 10 (Успеваемость в группе). Для конкретной группы выдать таблицу, в которой в заголовках строк указаны фамилии студентов данной группы, а в заголовках столбцов – названия предметов. На пересечении строк и столбцов расположены оценки. Этот перекрестный запрос создается путем выбора кнопки ![]() Запрос 11 (Оценки по информатике). Сконструировать перекрестный запрос, который выдает следующую таблицу. Заголовками строк являются номера групп, а заголовками столбцов – значения оценок (5, 4, 3, 2). На пересечении строк и столбцов указано количество пятерок, четверок, троек и двоек, полученных по информатике. Вопросы для защиты: Дайте понятие запроса как объекта базы данных. Как в бланке запроса отобразить нужные поля таблицы? Какая логическая операция применяется к условиям отбора, записанным в одной строке бланка запроса? Какие операции сравнения и логические операторы можно использовать в условиях отбора? Как вводится параметр в запрос? Как указываются в запросе одинаковые поля, принадлежащие разным таблицам? Допускается ли группировка записей запроса по нескольким полям? |