Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Создание запроса на выборку с помощью мастера запросов



Лабораторная работа № 7

Access. Создание запросов

Часа

 

Цель работы – приобретение навыков работы в СУБД Access по формированию запросов.

Оглавление

1 Общие сведения о запросах. 1

2 Создание запросов на выборку. 2

2.1 Создание запроса на выборку с помощью мастера запросов. 3

2.2 Создание запроса с помощью Конструктора. 4

3 Запросы с параметрами. 4

4 Запросы с критериями поиска. 6

5 Вычисляемые поля в запросах. 10

6 Запросы на обновление. 12

7 Запросы на удаление. 14

8 Создание перекрестного запроса. 15

9 Запрос к связанным таблицам.. 16

ЗАДАНИЕ.. 17

Контрольные вопросы.. 19

 

1 Общие сведения о запросах

 

Запросы являются мощным средством обработки данных, хранимых в таблицах Access.

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

В сущности, запрос представляет собой вопрос, сформулированный в терминах Базы данных.

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

 

Запрос состоит на основе одной или нескольких взаимосвязанных таблиц, позволяя комбинировать содержащую в них информацию. При этом могут использоваться как таблицы БД, так и сохраненные таблицы, полученные в результате выполнения запроса.

В Access можно создавать следующие типы запросов:

1. запрос на выборку;

2. запрос с параметрами;

3. перекрестный запрос;

4. запрос на изменение (запрос на удаление, обновление и добавление записей на создание таблицы);

5. запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы)

 

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

Примечание. Простые запросы на выборку практически не отличаются от фильтров. Более того, фильтры можно сохранять как запросы.

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

 

 Запрос с параметрами - это запрос, при выполнении которого в диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос.

 

Перекрестные запросы – это запросы, в которых происходит статистическая обработка данных, результаты которой выводятся в виде таблицы.

 

 2 Создание запросов на выборку

 

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

При выполнении запроса на выборку Access извлекает записи из таблиц и формирует результирующий набор данных, который выглядит, как таблица, не являясь ею. Результирующий набор данных – это динамический (или виртуальный) набор записей, не хранящийся в базе данных, т. е. после закрытия запроса результирующий набор данных этого запроса прекращает свое существование.

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

• на физическом носителе информации (обычно это жесткий диск) для него требуется меньше места;

• в нем могут использоваться обновленные версии любых записей, измененных со времени последнего запуска.

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

 

Окно запроса:

Для создания простых запросов используется Мастер запросов или Конструктор. Для этого выбираем вкладку Запросы → Создание запроса в режиме конструктора (или мастера). Открывается поле Запрос на выборку.

Первая строка бланка запроса – Поле содержит имена полей, включенных в запрос.

Во второй строке – Имя таблицы указана таблица, к которой принадлежит каждое поле.

Третья строка – Групповая операция (Total) позволяет выполнять вычисления над значениями полей.

Четвертая строка – Сортировка указывает принцип сортировки записей.

Флажок в пятой строке – Вывод на экран (Show) определяет, будет ли поле отображаться в результате запроса.

Шестая строка с именем Условие отбора (Criteria) позволяет задать критерий отбора записей из таблицы.

Седьмая строка – Или задает альтернативный критерий.

 

Добавление таблицы в схему данных осуществляется с помощью команды: Запрос → Отобразить таблицу, или нажатием правой кнопки мыши на поле схемы данных запроса командой Добавить таблицу.

Для создания нового запроса надо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке < Создать>. Откроется окно «Новый запрос».

В окне можно выбрать один из пяти пунктов: Конструктор, Простой запрос, Перекрестный запрос, Повторяющиеся записи. Записи без подчиненных.

 

Запросы с параметрами

 

Используя параметры, можно более четко оформить запросы. Запросы с параметрами позволяют избежать создания отдельного запроса для каждой маленькой задачи. Результат запроса зависит от значения отдельных параметров. Они запрашиваются в окне диалога перед выполнением запроса.

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

Запросы с критериями поиска

С помощью запроса можно выделить записи, удовлетворяющие определенным критериям. После того как требуемые поля будут отбуксированы в бланк запроса, в строке " условие отбора" надо ввести критерии выбора.

Например, выражение " < 10" в соответствующем столбце ограничивает результат теми записями, числовое значение соответствующего поля которых меньше 10.

Условия отбора записей могут задаваться для одного или нескольких полей в строке Условие отбора (Criteria) бланка запроса.

Условием отбора является выражение, которое состоит из, операторов сравнения и операндов.

В качестве операндов выражения могут использоваться: литералы, константы, идентификаторы (ссылки).

Литералами являются конкретные значения, воспринимаемые Access так, как они записаны. В качестве литералов могут быть использованы числа, строковые значения, даты. Текстовые строки заключаются в двойные кавычки, даты – в знаки " #" (или одинарные кавычки (') в кодировке ANSI- 92). Например: 567, " Информатика", #1-Января-2004# ('1- Января-2004 ' В ANSI-92).

Константами являются неизменяющиеся значения, которые определены в Access, например, Истина ( True ), Ложь ( False ), Null.

Идентификатор представляет собой ссылку на значение поля, элемента управления или свойства. Идентификаторами могут быть имена полей таблиц, форм, отчетов и т.д. Они должны заключаться в квадратные скобки. Как правило, Access производит автоматическую подстановку скобок.

Во многих случаях ссылка на конкретное значение должна указывать точное его местоположение в иерархии объектов базы данных, начиная с объекта верхнего уровня. Если необходимо указать ссылку на поле в конкретной таблице, форме, отчете, то перед именем поля ставится имя таблицы, формы, отчета, также заключенное в квадратные скобки и отделенное от имени поля восклицательным знаком. Например, ссылка на поле в таблице примет ВИД: [Имя таблицы]! [Имя поля].

Операторами сравнения и логическими операторами, использование которых допускается в выражении условия отбора, являются: =, <, >, < =, > =, < >, Like, And, Or, Not.

Они определяют операцию над одним или несколькими операндами.

Если выражение в условии отбора не содержит оператора, то по умолчанию Используется оператор =.

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

Допускается использование операторов шаблона – звездочка (*) – заменяет произвольное количество произвольных символов, и вопросительный знак (? ) – заменяет один любой символ.

Оператор Like позволяет работать с образцами, использующими символы шаблона при поиске в текстовых полях. Например:

Like " Иванов*"

Логические операторы and, or, not. Условия отбора, заданные в одной строке, связываются по умолчанию с помощью логической операции " И", заданные в разных строках– с помощью логической операции " ИЛИ". Эти операции могут быть также заданы явно в выражении условия отбора с помощью операторов and и or соответственно. Оператор not задает логическое отрицание условия.

После ввода выражения в бланк и нажатия клавиши < Enter> Access выполняет синтаксический анализ выражения.

 

1 Создайте запрос: расчет зарплаты, добавив таблицы:

« Врачи »: поля - ID Врача, ФИО Врача, Должность;

« Штатное расписание »: поля – Зарплата, Надбавка.

В свободной столбце в строке Поле: нажмите правой кнопкой мыши, выберите .

В появившемся диалоговом окне Построитель выражения:

- выберите из списка таблицу «Штатное расписание»,

- из открывшегося списка полей щелкните по полю [Оклад], затем знак «+» и поле [Надбавка],

- нажмите < ОК> (см. рис. 29).

Рис. 29. Создание запроса с вычисляемым полем

 

- щелкните по кнопке ,

- сохраните запрос «Итого зарплата».

- в режиме Конструктора в строке Поле: выделите Выражение1: и переименуйте на «Итого: ».

 

2. Создайте запрос: выборка данных за определенный период,  добавив в таблицу «Журнал» поля:  ДатаПриема,  ФИО Врача, Услуга, Количество, ФИО Пациента.

 

В свободной столбце в строке Поле: нажмите правой кнопкой мыши, выберите .

В появившемся диалоговом окне Построитель выражения выберите:

Функции→ Встроенные функции→ Дата/время. Щелкните два раза кнопкой мыши < Month>. Выделите «number».

Далее выберите таблицу «Журнал» из списка окошка Построителя для выборки поля ДатаПриема, щелкнув по раскрывающемуся списку:

Таблицы → Журнал, ДатаПриема.

В поле построителя должно появиться следующее выражение:

Month([Журнал]! [ДатаПриема])

Нажмите < ОК> (см. рис. 30).

В этом же столбце в строке Условие отбора вести: [Введите номер месяца].

Нажмите кнопку .

Рис. 30. Создание запроса

 

Для удаления повторяющихся записей в режиме Конструктора уберите галочку в столбце, где записано выражение.

 

3 Для создания запроса на выборку фамилий пациентов, рожденных после 1990 года:

добавьте поле ДатаРождения в таблицу «Пациенты» в формате Краткий формат даты.

Поле Year([Пациенты]! [ДатаРождения])

Условие отбора < [Год рождения]

 

Ниже приведены примеры использования некоторых функций.

 

Таблица – Функции обработки дат

 

Функция Описание Пример Результат
Date () Получает текущую дату Date () 1/20/2006
Now () Получает текущую дату и время Now ( ) 1/20/2006 10: 16: 26 PM
DatePart () Извлекает часть даты (например, год, месяц или день в месяце) DatePart(#1/20/ 2006#, " d" ) 20
DateSerial() Преобразует год, месяц и день в значение даты Access DateSerial(2006, 5, 4) 5/4/2006
DateAdd ( ) Сдвигает дату на заданный интервал DateAdd(" yyyy" , 2, #22/11/2006#) 22/11/2008
DateDiff ( ) Определяет интервал между двумя датами DateDiff(" w", #10/15/2006#, #1/11/2007#) 12
MonthName ( ) Получает название, соответствующее номеру месяца (от 1 до 12) MonthName (1) " January"
WeekdayName ( ) Получает название, соответствующее номеру дня в неделе (от 1 до 7) WeekdayName (1) " Sunday"
Format () Преобразует дату в форматированный текст (используя любой формат даты, описанный в табл. 2.3) Format(#27/04/ 2008#, " Long Date" ) " April 27, 2008"

 

В следующей таблице приведены примеры выражений и типичные варианты их применения:

Выражение Назначение
=[ДатаРазмещения]-[ДатаИсполнения] Вычисление в отчете разности между значениями даты в двух элементах управления «поле» («ДатаРазмещения» и «ДатаИсполнения»)
Date() Задание текущей даты в качестве значения по умолчанию для поля даты/времени в таблице
ОбщаяСтоимость: CCur([Заказано].Цена*[Количество]*(1-[Скидка])/100)*100 Создание вычисляемого поля в запросе   Примечание: Функция Ccur , используемая в выражении, преобразует результаты вычислений в денежный формат.
Between #01.01.05# And #31.12.05# Используется для задания условия отбора в запросе на поле даты/времени
=[Заказано].Form! ОтпускнаяЦена Получение значения элемента управления «ОтпускнаяЦена» из подчиненной формы «Заказано» в форме «Заказы»
> 0 Задание условия на значение для числового поля в таблице – пользователи должны будут вводить положительные значения.

 

4. Используя таблицу Журнал,  подсчитайте Общее количество выполненных услуг каждого врача.

Для этого выберите поля ФИО врача и Количество. На панели инструментов нажмите  - Групповые операции. В столбце Количество в строке «Групповая операция » выбрать из выпадающего списка Sum. Просмотреть запрос и проверить правильность, используя таблицу Журнал и фильтр записей.

 

Таблица 1 – Назначение агрегатных функций

 

Функция Назначение
Sum Вычисляет сумму значений, содержащихся в поле
Avg Вычисляет среднее арифметическое для всех значений поля
Count Определяет число записей, содержащих значение в поле, не считая пустых (Null) значений
Min Находит наименьшее значение поля
Max Находит наибольшее значение поля
StDev Определяет среднеквадратичное отклонение от среднего значения
Var Вычисляет дисперсию значений поля

 

5. Создание запроса на подсчет количества врачей по должностям.

Для этого в режиме Конструктора выберите таблицу Врачи (поле: Должность добавьте два раза).

Выберите групповую операцию.

Во втором столбце в строке «Групповая операция» из выпадающего списка выберите функцию Count.

В результате запроса должны получиться следующие данные:

 

Вычисляемые поля в запросах

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

Создадим запрос с вычисляемым полем на примере отношения ПРЕДМЕТ.

Пусть необходимо выбрать из отношения кортежи, содержащие информацию о предметах, в которых общее число часов по предмету не совпадает с суммой часов лекций и практики. Для решения задачи рассчитаем разность между общим числом часов по предмету (атрибут ЧАСЫ) и суммой часов лекций (поле ЛЕК) и практики (поле ПР). В результирующее отношение включим только те записи, для которых эта разность не равна нулю.

Создадим запрос на выборку для отношения ПРЕДМЕТ. Для этого в окне базы данных выберем закладку Запросы и нажмем кнопку Создать. В окне Новый запрос выберем строку Конструктор . В окне Добавление таблицы выберем таблицу ПРЕДМЕТ и нажмем кнопку Добавить. Перетащим в бланк запроса поля НП, ПР, ЛЕК, ЧАСЫ.

Рис. 31. Вид бланка запроса

Создание вычисляемого поля. Для получения разности создадим вычисляемое поле в пустой ячейке строки ПОЛЕ, записав туда выражение: [ЧАСЫ]-[ПР]-[ЛЕК].

Для отбора записей с ненулевым значением разности в вычисляемое поле в строку Условие отбора введем: < > 0.

Рис. 32. Вычисляемое поле бланка запроса

После ввода выражения система формирует имя вычисляемого поля по умолчанию – Выражение №. Это имя вставится перед выражением. Для изменения имени установим курсор мыши в вычисляемое поле бланка запроса и нажмем правую кнопку мыши. В открывшемся контекстном меню выберем Свойства поля и в строку Подпись введем новое имя поля ЧАСЫ не равны ПР+ЛЕК. Имя поля может быть исправлено также непосредственно в бланке запроса.

Рис. 33. Изменение имени вычисляемого поля

Рис. 34. Результат запроса с вычисляемым полем

 

 

Запросы на обновление

 

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

Необходимо помнить приведенные ниже правила.

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

Запрос на обновление нельзя использовать для удаления записей целиком (строк) из таблицы, но можно менять имеющиеся непустые значения на пустые. Для удаления записей целиком (процесс, удаляющий также значение первичного ключа) следует использовать запрос на удаление.

С помощью запросов на обновление можно изменять все данные в наборе записей.

Кроме того, нельзя выполнить запрос на обновление для следующих типов полей в таблице.

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

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

Поля с типом данных «Счетчик». Значения в полях с типом данных «Счетчик» изменяются только при добавлении записи в таблицу.

Поля в запросах на объединение.

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

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

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

 

Пример создания запроса на обновление.

Создайте таблицы: Товар и Отгрузка.

Заполните поля таблиц. Поля ЦенаЗаЕд и Стоимость оставьте незаполненным! Они буду заполнены в результате выполнения запроса на обновление, который данные из таблицы « Товар» перенесет в таблицу « Отгрузка».

 

Запрос 1.Создайте запрос на обновление. Для этого:

Добавьте обе таблицы в запрос.

Выберите поле ЦенаЗаЕд (табл. « Отгрузка» ). Щелкните на панели инструментов кнопку   (обновление).

В строке «Обновление » щелкните правой кнопкой Построить.

В открывшемся диалоговом окне Построителя выражений выберите команду, используя таблицу « Товар»: [Товар]! [Цена].

В результате запроса данные поля Цена (таблица «Товар» ) отобразятся в поле ЦенаЗаЕд (таблица «Отгрузка» ).

 

Запрос 2. Создайте запрос на обновление поля Стоимость, данные для которого являются результатом Цена*Количество товара (см.рис. 35):

Рис. 3 5. Окно создания запроса на обновление

 

 

 7 Запросы на удаление.

Запрос на удаление удаляет определенные записи из таблиц БД!

Если требуется удалить данные из нескольких таблиц, и эти таблицы связаны, включите параметры Целостность данных и Каскадное удаление связанных записей для каждой из связей. Это позволит запросу удалять данные из таблиц со стороны отношения «один» и «многие».

Пример: Создание запроса на удаление записей из таблицы Отгрузка: количество отгруженного товара больше 5. (см. рис.).

Для этого:

a) добавьте таблицу Отгружено в запрос, выберите все поля, щелкнув по * («*» добавляет в запрос все поля таблицы),

b) добавьте поле Отгружено.

c) щелкните на панели инструментов по кнопке . Или выполните команду Запрос→ Удаление.

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

 

 

ЗАДАНИЕ

 

Для спроектированной базы данных необходимо разработать 15 запросов, представляющих основные изученные типы запросов (с учетом запросов в функциональной модели, разработанной в лабораторной работе № 2).

 

ПРИМЕРЫ ФОРМУЛИРОВОК ЗАПРОСОВ (к схеме на данных на рисунке 39)

 

Рисунок 39 – Схема данных

 

Запросы с критериями поиска:

1. Выбрать предметы, по которым общее число часов изучения не более 100 и есть лекции, а также выбрать предметы, по которым общее число часов больше 150 и число семестров изучения не более двух. Результирующее отношение должно содержать наименование предмета, общее число часов по предмету, количество лекционных часов и число семестров.

2. Получить информацию об успеваемости студентов Боярской и Маковой.

3. Необходимо получить информацию об оценке студента Бондаренко по информатике.

4. Вывести информацию, содержащую ФИО и оценку студентов 101 группы, если их оценка ≥ 4.

Запросы с параметрами:

1. Необходимо получить информацию об оценке студента по заданному предмету.

2. Получить информацию об успеваемости студента по его ФИО.

3. Вывести количество студентов в конкретной группе.

4. По заданному названию кафедры вывести ее код и телефонный номер.

5. Определить ФИО преподавателя и его ученое звание по табельному номеру.

 

Вычисляемые поля в запросах:

1. Выбрать из таблицы ПРЕДМЕТ записи, содержащие информацию о предметах, в которых число часов лекций больше числа часов практики.

2. Выбрать из таблицы ГРУППА записи, содержащие информацию о группах, в которых минимальный суммарный балл по группе больше 120.

3. Создать запрос, формирующий в таблице ПРЕПОДАВАТЕЛЬ дополнительный столбец с информацией, включающей в себя данные об ученых степени и звании каждого преподавателя.

4. Создать запрос, формирующий из таблицы СТУДЕНТ таблицу, содержащую только два столбца, в одном из которых заключается информация о группе студента, а во втором – его ФИО и год рождения.

5. Создать запрос, формирующий из таблицы КАФЕДРА таблицу, содержащую только два столбца, в одном из которых заключается код, название и телефон каждой кафедры, а во втором – ФИО ее заведующего.

 

Запросы с агрегирующими функциями:

1. Подсчитать средний проходной балл в группе.

2. Определить число студентов в группе

3. Найти студентов, имеющих максимальный проходной балл.

4. Найти количество ассистентов на кафедре математики.

5. Найти среднее количество студентов в группах.

 

Запросы к связанным таблицам:

1. Вывести ФИО преподавателей, которые преподают у групп с номером > 200 и предмет, который они преподают.

2. По заданной фамилии преподавателя найти ФИО заведующего кафедрой, на которой он работает.

3. Вывести ФИО студентов, имеющих оценки выше 3 баллов.

4. Вывести всех преподавателей, имеющих фамилию, начинающуюся на букву “С”, и преподаваемый ими предмет.

5. По вводимому названию предмета получить информацию о количестве семестров его преподавания.

 

Запросы на удаление:

1. Из таблицы СТУДЕНТ удалить всех студентов, у которых проходной балл меньше 4, 5.

2. Удалить информацию о всех ассистентах с кафедры математика.

3. Из таблицы ПРЕПОДАВАТЕЛЬ удалить информацию о всех преподавателях с кафедры физкультуры.

4. Из таблицы ГРУППА удалить информацию о 202-й группе.

5. Из таблицы ПРЕДМЕТ удалить информацию о предметах, по которым нет лекций.

 

Запросы на обновление:

1. В таблице ПРЕПОДАВАТЕЛЬ присвоить всем ассистентам ученое звание старших преподавателей.

2. В таблице ГРУППА заменить количество студентов > = 30 на 25.

3. В таблице ИЗУЧЕНИЕ заменить средний балл по предмету больший 4 на 5.

4. В таблице ПРЕДМЕТ заменить название предмета информатика на программирование.

5. Заменить адрес всех студентов, проживающих на улице Космонавтов, на пр-т Мира, 43.

 

Перекрестные запросы:

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

2. Сформировать двумерную таблицу, где в столбцах будет располагаться номер студента, в строках – его ФИО, а на пересечении – адрес студента.

3. Сформировать двумерную таблицу, где в столбцах будет располагаться код кафедры, в строках – ФИО преподавателей на букву “С”, а на пересечении – ученая степень.

4. Сформировать двумерную таблицу, где в столбцах будет располагаться код кафедры, в строках – название кафедры, а на пересечении – ее телефон.

5. Сформировать двумерную таблицу, где в столбцах будет располагаться вид занятий, в строках – название предмета, а на пересечении – количество часов.

 

 

Контрольные вопросы

 

1. Что такое запрос?

2. Какие способы создания запросов вы знаете?

3. Как при создании запроса установить условия отбора?

4. Как используются выражения в запросе?

5. Как сортируются данные в запросе?

6. Как осуществить поиск данных в диапазоне значений?

7. Как присвоить запросу имя и сохранить его?

8. Как создать запрос на базе связанных таблиц?

9. Как закрыть поле в запросе?

10. Как суммировать данные в запросе?

11. Как установить параметры в запросе?

12. Как создать отчет на основе запроса?

 

 

Лабораторная работа № 7

Access. Создание запросов

Часа

 

Цель работы – приобретение навыков работы в СУБД Access по формированию запросов.

Оглавление

1 Общие сведения о запросах. 1

2 Создание запросов на выборку. 2

2.1 Создание запроса на выборку с помощью мастера запросов. 3

2.2 Создание запроса с помощью Конструктора. 4

3 Запросы с параметрами. 4

4 Запросы с критериями поиска. 6

5 Вычисляемые поля в запросах. 10

6 Запросы на обновление. 12

7 Запросы на удаление. 14

8 Создание перекрестного запроса. 15

9 Запрос к связанным таблицам.. 16

ЗАДАНИЕ.. 17

Контрольные вопросы.. 19

 

1 Общие сведения о запросах

 

Запросы являются мощным средством обработки данных, хранимых в таблицах Access.

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

В сущности, запрос представляет собой вопрос, сформулированный в терминах Базы данных.

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

 

Запрос состоит на основе одной или нескольких взаимосвязанных таблиц, позволяя комбинировать содержащую в них информацию. При этом могут использоваться как таблицы БД, так и сохраненные таблицы, полученные в результате выполнения запроса.

В Access можно создавать следующие типы запросов:

1. запрос на выборку;

2. запрос с параметрами;

3. перекрестный запрос;

4. запрос на изменение (запрос на удаление, обновление и добавление записей на создание таблицы);

5. запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы)

 

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

Примечание. Простые запросы на выборку практически не отличаются от фильтров. Более того, фильтры можно сохранять как запросы.

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

 

 Запрос с параметрами - это запрос, при выполнении которого в диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос.

 

Перекрестные запросы – это запросы, в которых происходит статистическая обработка данных, результаты которой выводятся в виде таблицы.

 

 2 Создание запросов на выборку

 

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

При выполнении запроса на выборку Access извлекает записи из таблиц и формирует результирующий набор данных, который выглядит, как таблица, не являясь ею. Результирующий набор данных – это динамический (или виртуальный) набор записей, не хранящийся в базе данных, т. е. после закрытия запроса результирующий набор данных этого запроса прекращает свое существование.

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

• на физическом носителе информации (обычно это жесткий диск) для него требуется меньше места;

• в нем могут использоваться обновленные версии любых записей, измененных со времени последнего запуска.

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

 

Окно запроса:

Для создания простых запросов используется Мастер запросов или Конструктор. Для этого выбираем вкладку Запросы → Создание запроса в режиме конструктора (или мастера). Открывается поле Запрос на выборку.

Первая строка бланка запроса – Поле содержит имена полей, включенных в запрос.

Во второй строке – Имя таблицы указана таблица, к которой принадлежит каждое поле.

Третья строка – Групповая операция (Total) позволяет выполнять вычисления над значениями полей.

Четвертая строка – Сортировка указывает принцип сортировки записей.

Флажок в пятой строке – Вывод на экран (Show) определяет, будет ли поле отображаться в результате запроса.

Шестая строка с именем Условие отбора (Criteria) позволяет задать критерий отбора записей из таблицы.

Седьмая строка – Или задает альтернативный критерий.

 

Добавление таблицы в схему данных осуществляется с помощью команды: Запрос → Отобразить таблицу, или нажатием правой кнопки мыши на поле схемы данных запроса командой Добавить таблицу.


Поделиться:



Последнее изменение этой страницы: 2019-10-05; Просмотров: 428; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.185 с.)
Главная | Случайная страница | Обратная связь