Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа № 2. Конструирование запросов.doc
Скачиваний:
4
Добавлен:
24.10.2022
Размер:
99.33 Кб
Скачать

Общая постановка задачи

Изучить возможности программы MS Access для выполнения заданий, представленных ниже.

Список индивидуальных данных

Номер варианта и задания, если это требуется в лабораторной работе, определяется преподавателем.

Пример выполнения работы

Задание 1. Создать простой запрос для выборки сведений из базы данных, включающий следующие поля:

  • НаименованиеФакультета;

  • НомерГруппы;

  • НаименованиеСпециальности;

  • НомерЗачетнойКнижки;

  • Фамилия.

  1. Откройте базу данных Университет.

  2. На вкладке Создание (Create) в группе Запросы (Queries) выберите Конструктор запросов (Query Design).

  3. В появившемся диалоговом окне Добавление таблицы (Show Table) на вкладке Таблицы (Tables) добавьте таблицы Студенты, Группа, Специальность, Факультет. Для добавления таблицы можно выполнить двойной щелчок на соответствующей таблице. Затем закройте окно.

  4. При необходимости отрегулируйте размеры и расположение окон с таблицами на схеме данных.

  5. Перетащите необходимые названия полей (см. выше) из окон таблиц в бланк запроса, расположенный под схемой данных, соблюдая заданный порядок.

Примечание. Вместо перетаскивания названия поля можно использовать двойной щелчок левой кнопкой мыши по соответствующей строке в окне таблицы на схеме данных. То же самое можно получить, если использовать кнопку, разворачивающую список полей таблиц. Эта кнопка появляется при щелчке по ячейке в первой строке бланка.

  1. Проверьте результат, запустив запрос кнопкой Выполнить (Run) на вкладке Конструктор (Design). Для просмотра полученной выборки можно также перейти в режим таблицы.

  2. Вернитесь в режим конструктора запросов в случае, если выборка содержит ошибки, и откорректируйте запрос.

  3. Закройте запрос. Появится диалоговое окно, в котором следует подтвердить необходимость его сохранения. Присвойте запросу имя Выборка_1. Сохранить запрос также можно, щёлкнув правой кнопкой мыши на вкладке с названием запроса и выбрав пункт меню Сохранить или нажав кнопку Сохранить на ленте.

Задание 2. Создать простой запрос для выборки сведений из базы данных, включающий те же поля, что и предыдущий запрос, но содержащий сведения только о студентах, обучающихся на коммерческой основе. Такой запрос называется запросом по условию.

Для выполнения этого задания необходимо на бланке запроса добавить поле Коммерческий и ввести по нему соответствующее условие. Присвойте запросу имя Выборка_2.

Задание 3. Создать запрос для подсчёта количества коммерческих студентов в каждой группе.

  1. Создайте в режиме конструктора новый запрос с использованием таблиц: Факультет, Группа, Студенты.

  2. Введите в 1-ый столбец бланка запроса поле НаименованиеФакультета, во 2-ой столбец – поле НомерГруппы, в 3-ий столбец – поле Коммерческий.

  3. Установите в качестве условия отбора для 3-го столбца значение Да.

  4. Установите для 1-го и 2-го столбцов бланка сортировку по возрастанию.

  5. Отключите вывод на экран данных 3-го столбца.

  6. Введите в 4-ый столбец поле Коммерческий и замените название столбца на КоличествоКоммерческих. Для этого новое и старое названия столбца следует разделить символом «двоеточие», т.е. ячейка с названием поля должна содержать:

КоличествоКоммерческих: Коммерческий.

  1. Щёлкнув по кнопке Итоги (Totals) на вкладке Конструктор (Design), добавьте в бланк строку Групповая операция и выберите из списка в этой строке для 4-го столбца операцию Count.

  2. Просмотрите выборку с подсчётом итогов, запустив запрос.

  3. Вернитесь в режим конструктора запросов в случае, если выборка содержит ошибки, и откорректируйте запрос.

  4. Сохраните запрос, присвоив ему имя

Подсчёт_коммерческих_по_группам.

Задание 4. Создать запрос-выборку для подсчёта количества коммерческих студентов по каждому факультету. Сохраните запрос, присвоив ему имя Подсчёт_коммерческих_по_факультетам.

Задание 5. Создать запрос, позволяющий увидеть выборку, отражающую количество студентов по каждому факультету и каждой группе. Заголовки столбцов должны соответствовать названиям факультетов, заголовки строк – номерам групп. Такой вид выборки может быть реализован перекрёстным запросом. Для применения подобного запроса желательно иметь в базе данных сведения по 5-6 группам, отнесённым к 3 факультетам (если нужно, добавьте записи в таблицы).

  1. Создайте в режиме конструктора новый запрос с использованием таблиц: Факультет, Группа, Студенты.

  2. Введите в 1-ый столбец бланка запроса поле НаименованиеФакультета, во 2-ой столбец – поле НомерГруппы, в 3-ий столбец – поле Коммерческий.

  3. На вкладке Конструктор (Design) в группе Тип запроса (Query Type) выберите тип запроса – Перекрёстный (Crosstab Query Wizard).

  4. Выберите значения в строке бланка Перекрёстная таблица, развернув список в ячейках: для 1-го столбца – Заголовки строк, для 2-го столбца – Заголовки столбцов, для 3-го столбца – Значение.

  5. Выберите функцию Count для групповой операции в 3-м столбце.

  6. Просмотрите перекрёстную выборку, щёлкнув по кнопке Выполнить (Run).

  7. В режиме таблицы уменьшите ширину столбцов таблицы-выборки. Для этого выделите столбцы с данными по группам и на вкладке Главная (Home) в группе Записи (Records) щёлкните на кнопку Дополнительно, затем выберите Ширина поля, в открывшемся диалоговом окне выберите По ширине данных.

  8. Сохраните запрос под именем

Количество_студентов_по_факультетам_и_группам.

Задание 6. Создать запрос, позволяющий увидеть перекрёстную выборку, отражающую количество коммерческих студентов по каждому факультету и каждой группе. Сохраните запрос, присвоив ему имя Количество_коммерческих_студентов_по_факультетам_и_группам.

Задание 7. Создать запрос для вывода списков групп, причём номер группы должен запрашиваться в процессе выполнения запроса. Такой запрос называется запросом с параметром. Параметром является номер группы. Значение параметра вводится в диалоговом окне. Для создания запроса необходимо ввести в ячейку с условием текст условия отбора в квадратных скобках.

  1. Создайте в режиме конструктора новый запрос с использованием одной таблицы Студенты.

  2. Введите в 1-ую строку бланка запроса все поля таблицы.

  3. Введите в ячейку строки Условие отбора для поля НомерГруппы текст: [Введите номер группы:].

  4. Запустите запрос, и в появившееся диалоговое окно введите номер одной из групп. Просмотрите выборку.

  5. Сохраните запрос, присвоив ему имя Запрос_с_параметром.

Задание 8. Создать запрос для получения справки по стоимости обучения коммерческих студентов с учётом НДС. Пусть стоимость обучения с учётом НДС коммерческого студента равна стоимости обучения по выбранной им специальности, умноженной на (1+0,2), где 0,2 – величина НДС. Такой запрос называется запросом с вычисляемым полем.

  1. Создайте в режиме конструктора новый запрос с использованием таблиц: Специальность, Группа, Студенты.

  2. Введите в бланк запроса поля:

  • НомерГруппы;

  • НомерСпециальности;

  • Фамилия;

  • НомерЗачётнойКнижки;

  • Коммерческий;

  • СтоимостьОбучения.

  1. Введите в поле Коммерческий в строку Условие отбораДа и отключите вывод содержимого этого поля на экран.

  2. Выполните запрос и убедитесь в правильности его исполнения. Вернитесь в режим конструктора.

  3. Щёлкните мышью в строке Поле следующего свободного столбца бланка и на вкладке Конструктор (Design) в группе Настройка запроса щёлкните по кнопке Построитель. Будет вызвано окно Построителя выражений (Expression Builder).

  4. Используя поле таблицы Специальность, введите в окно построителя выражение: НДС: [СтоимостьОбучения]*0,2, где НДС: – заголовок столбца с вычисляемым полем, [СтоимостьОбучения] – поле таблицы Специальность, 0,2 – величина НДС. Для записи выражения следует использовать инструменты построителя выражений. После ввода выражения щёлкните по кнопке .

  5. Щёлкните мышью в ячейке поля следующего свободного столбца и перейдите в окно Построителя выражений. Введите в этом окне формулу: Итого: [СтоимостьОбучения]+[НДС].

Примечание. Для редактирования выражения в вычисляемом поле запроса можно использовать окно Область ввода (Zoom), которое вызывается комбинацией клавиш Shift+F2, если ячейка с полем активизирована.

  1. Включите флажки вывода на экран вычисляемых полей.

  2. Запустите запрос.

  3. Отладив запрос, сохраните его под именем

Запрос_с_вычисляемым_полем.

Задание 9. Создать запрос на обновление базы данных. Необходимо создать запрос, при выполнении которого произойдет увеличение стоимости обучения по всем специальностям в 1,5 раза.

  1. Создайте в режиме конструктора новый запрос. Выберите в качестве исходной таблицы одну таблицу – Специальность.

  2. На вкладке Конструктор (Design) в группе Тип запроса (Query Type) выберите тип запроса – Обновление (Update To), или, щёлкнув правой кнопкой мыши по свободному месту схемы данных, выберите из контекстного меню пункт Тип запросаОбновление.

  3. Выберите поле СтоимостьОбучения и введите в него с помощью Построителя выражений в строку Обновление выражение: [СтоимостьОбучения]*1,5.

  4. Выполните запрос, подтвердив обновление записей.

  5. Сохраните запрос под именем Запрос_на_обновление.

  6. Закройте запрос и посмотрите изменённую таблицу.

Задание 10. Создать запрос на обновление базы данных. Необходимо создать запрос, при выполнении которого произойдет уменьшение стоимости обучения по двум специальностям на 10%.

Задание 11. Создать запрос на создание новой таблицы – Экзаменационная_ведомость. Необходимо сконструировать запрос, при выполнении которого можно будет создавать заполненные данными таблицы со следующими столбцами:

  • НомерГруппы;

  • КодДисциплины;

  • Фамилия;

  • НомерЗачётнойКнижки.

Отдельные таблицы должны быть созданы для каждой группы студентов, имеющейся в базе данных, и для выбранной дисциплины. Поэтому следует предусмотреть ввод соответствующих условий как параметров. В дальнейшем эти таблицы будут использоваться для ввода результатов экзаменов.

Предварительно необходимо дополнить базу данных ещё двумя таблицами Дисциплина и Вспомогательная.

Таблица Дисциплина должна иметь следующий состав полей:

Имя поля

Тип

Размер

Другие свойства

КодДисциплины

Числовой

Длинное целое

Ключ

НаименованиеДис-циплины

Текстовый

30

Лекции(часов)

Числовой

Целое

Практика(часов)

Числовой

Целое

В таблицу Дисциплина необходимо ввести 5-6 строк с различными кодами и наименованиями дисциплин.

Таблица Вспомогательная должна иметь только одно поле: Оценкачисловое, байтовое, необязательное. Необходимо ввести в таблицу Вспомогательная одну запись, причём значение поля Оценка не заполнять.

  1. Создайте в режиме конструктора новый запрос. Выберите в качестве исходных таблицы – Студенты, Дисциплина и Вспомогательная.

  2. На вкладке Конструктор (Design) в группе Тип запроса (Query Type) выберите команду Создание таблицы. Откроется диалоговое окно Создание таблицы. Введите имя для новой таблицы Ведомость_1 (таблица должна быть помещена в текущую базу данных).

  3. Введите в бланк запроса поля:

  • НомерГруппы;

  • КодДисциплины;

  • НаименованиеДисциплины;

  • Фамилия;

  • НомерЗачётнойКнижки;

  • Оценка.

  1. Введите для поля НомерГруппы параметрическое условие отбора: [Введите номер группы:].

  2. Введите для поля КодДисциплины параметрическое условие отбора: [Введите код дисциплины:].

  3. Сохраните запрос под именем Запрос_на_создание_таблицы.

  4. С использованием запроса создайте 6 ведомостей: по двум дисциплинам для каждой из 3-х групп. Номера групп и коды дисциплин необходимо задавать в окне ввода параметров. Присвойте созданным таблицам имена Ведомость_1, Ведомость_2 и т.д.

Примечание. Поскольку при повторном использовании запроса на соз­дание таблицы ранее созданная таблица удаляется необходимо перед созданием новой таблицы переименовывать ранее созданную таблицу. Для переименования необходимо:

  • установить вкладку базы данных Таблицы;

  • выделить исходную таблицу и вызвать правой кнопкой мыши контекстное меню;

  • выбрать пункт Переименовать.

При создании ведомостей для всех 3-х групп необходимо выбирать один и тот же набор из двух дисциплин (например, каждая из 3-х групп сдаёт дисциплину 1 и дисциплину 2).

  1. Заполните созданные таблицы сведениями об оценках, полученных студентами при сдаче экзаменов.

Задание 12. Создать запрос на добавление записей из одной таблицы в другую. С помощью такого запроса необходимо объединить все заполненные экзаменационные ведомости в одну, назвав её Общая_ведомость.

  1. Создайте в окне базы данных на вкладке Таблицы копию таблицы Ведомость_1 и замените её имя на Общая_ведомость (щелчок правой кнопкой по имени таблицы и вызов соответствующей команды из контекстного меню).

  2. Создайте в режиме конструктора новый запрос. Выберите в качестве исходной таблицу Ведомость_2.

  3. Укажите тип запроса. Для этого на вкладке Конструктор (Design) в группе Тип запроса (Query Type) выберите команду Добавление. В окне Добавление введите имя таблицы Общая_ведомость, к которой должны добавляться строки исходной таблицы.

  4. Введите в строку Поле бланка запроса все поля таблицы Ведомость_2.

  5. Закройте запрос, присвоив ему имя Запрос_на_добавление.

  6. Выполните запрос и просмотрите таблицу Общая_ведомость, которая должна пополниться записями из таблицы Ведомость_2.

  7. Временно переименовывая другие ведомости в Ведомость_2, добавьте их содержимое в таблицу Общая_ведомость.

Задание 13. Создать параметрический запрос на удаление сведений о студентах одной из групп по заданной дисциплине из таблицы Общая_ведомость.

  1. Создайте в режиме конструктора новый запрос. Выберите в качестве исходной таблицу Общая_ведомость.

  2. Укажите тип запроса. Для этого на вкладке Конструктор (Design) в группе Тип запроса (Query Type) выберите команду Удаление (Delete).

  3. Введите в бланк запроса поля НомерГруппы и КодДисциплины.

  4. Введите в строку Условие отбора соответственно для каждого из полей параметрические условия: [Введите номер группы:] и [Введите код дисциплины:].

  5. Закройте и сохраните запрос под именем Запрос_на_удаление.

  6. Выполните запрос и просмотрите результаты его выполнения.

  7. Воспользовавшись таблицами Ведомость_1Ведомость_6 и Запросом_на_добавление добавьте в Общую_ведомость удаленную часть.

Задание 14.Сохранить и закрыть базу данных.

  1. Сохраните все изменения.

  2. Завершите работу с Microsoft Access.