Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
23.11.2017
Размер:
427.62 Кб
Скачать

Рис. 8. Запрос с активизированным окном “Создание таблицы”

Для формирования и выполнения этого запроса необходимы следующие действия:

1) на ленте активизировать вкладку “Создание” и выбрать на ней команду “Кон-

структор запросов”;

2) в активизированном окне “Добавление таблицы” выбрать таблицы, являющие-

ся источниками данных для запроса;

3)заполнить бланк запроса, как показано на рис. 8;

4)на контекстной вкладке “Конструктор” выбрать команду “Создание таблицы”,

водноименном окне указать имя таблицы, в которой будут сохранены данные, и нажать кнопку OK;

5)выбрать команду “Режим” для просмотра содержимого создаваемой таблицы,

убедиться в его корректности и повторно выбрать команду “Режим”;

6)выбрать команду “Выполнить”, подтвердить выполнение запроса и закрыть запрос, сохранив его с именем “Create”;

7)открыть таблицу “ФакультетМП” и убедиться, что в нее добавлены требуемые

записи.

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

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

Перекрестный запрос служит для более компактного отображения итоговой ин-

формации. Таблица результатов перекрестного запроса отображает итоги статистиче-

ских расчетов (сумма, число значений или записей, среднее значение и т.п.), выполнен-

11

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

ком данных для запроса.

Эти итоги группируются по двум наборам значений в формате перекрестной таб-

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

Например, в базе данных “Институт” имеются сведения о названии факультетов,

шифрах групп и принадлежности студентов группам. Можно поместить итоговую ин-

формацию о числе студентов в каждой группе факультета и общем числе студентов на факультете в следующую перекрестную таблицу:

Название

МП21

МП22

ЭКТ21

ЭКТ22

П21

П22

Итоговое

факультета

значение

 

 

 

 

 

 

МПиТК

26

26

 

 

 

 

52

ЭКТ

 

 

25

23

 

 

48

ПрИТ

 

 

 

 

24

15

39

Характерным отличием перекрестной таблицы от таблицы результатов обычного запроса или таблицы базы данных является то, что в перекрестной таблице заголовки столбцов соответствуют значениям одного из полей (в примере это поле “ШифрГруп-

пы”), а в прочих таблицах заголовки столбцов соответствуют полям таблиц.

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

лей для формирования таблицы результатов, которая будет источником данных для пе-

рекрестного запроса. Для рассматриваемого примера такой запрос с именем “Контин-

гент” показан на рис. 9.

Рис. 9. Вспомогательный запрос

Для создания и выполнения перекрестного запроса следует:

12

1)активизировать вкладку “Создание” и выбрать команду “Мастер запросов”;

2)в окне “Новый запрос” выбрать строку “Перекрестный запрос” и нажать кноп-

ку OK;

3)в окне “Создание перекрестных таблиц” указать источник данных, выбрав имя таблицы или запроса (например, “Контингент”) и нажать кнопку “Далее”;

4)выбрать поле, значения которого являются заголовками строк перекрестной таблицы (например, “НазваниеФакультета”) и нажать кнопку “Далее”;

5)выбрать поле, значения которого являются заголовками столбцов перекрестной таблицы (например, “ШифрГруппы”) и нажать кнопку “Далее”;

6)выбрать функцию, которая будет вычислять значения ячеек на пересечении столбцов и строк (например, функцию “Число” для подсчета числа студентов или их ко-

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

ло студентов на факультете) и нажать кнопку “Далее”;

7)задать имя запроса (например, “Численность факультетов”) для его сохранения

инажать кнопку “Готово”, чтобы выполнить запрос. В окне запроса отобразится таблица результатов, а в группе запросов области переходов появится перекрестный запрос.

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

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

Корректирующие запросы

Корректирующие запросы (запросы на обновление (Update), удаление (Delete),

добавление (Insert)) могут изменять как все записи таблицы, так и определенное их под-

множество, зависящее от условия отбора.

Для создания корректирующего запроса необходимо:

1)создать новый запрос, активизировав вкладку “Создание” на ленте и выбрав на ней команду “Конструктор запросов”;

2)добавить в окно запроса таблицу, в которой будут изменяться данные или из которой будут добавляться данные в другую таблицу;

3)выбрать на контекстной вкладке “Конструктор” (см. рис. 3) одну из команд

“Обновление”, “Удаление” или “Добавление”.

13

Бланк запроса на обновление по сравнению с бланком запроса на выборку вместо строк “Сортировка” и “Вывод на экран” содержит строку “Обновление”. В бланк запро-

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

вии отбора. В строку “Обновление” для соответствующего поля записывается его новое значение или выражение для его вычисления. Для формирования выражения можно воспользоваться построителем выражений, который вызывается командой “Построи-

тель” контекстной вкладки “Конструктор”.

Если обновляться будут не все записи таблицы, а только некоторые из них, то в строке “Условие отбора” для определенных полей нужно указать необходимый критерий поиска обновляемых строк. Запрос, показанный на рис. 10, увеличивает численность группы МП22 на одного студента.

Рис. 10. Запрос на обновление

Чтобы убедиться в правильности заданного условия отбора, рекомендуется по-

смотреть результаты отбора, выполнив запрос как запрос на выборку. Чтобы просмот-

реть обновляемые записи перед выполнением запроса можно выбрать команду “Режим” на контекстной вкладке “Конструктор”. Выводимый список будет содержать старые зна-

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

полнить”.

Бланк запроса на удаление содержит строку “Условие отбора”, в которой задается критерий поиска удаляемых строк. В бланк запроса включаются те поля, значения кото-

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

14

Чтобы быть уверенным, что запрос задан верно и удалит именно те записи, кото-

рые необходимо, рекомендуется сначала задать запрос на выборку, посмотреть получен-

ный результат, а затем вернуться в режим конструктора и изменить тип запроса, выбрав

“Удаление”. Если в запросе на удаление не задано никаких условий отбора, то из табли-

цы удалятся все записи.

Рис. 11. Запрос на удаление

Запрос на добавление выбирает группу записей из одной или нескольких таблиц

(таблиц-источников) и добавляет данные из них в другую таблицу (целевую таблицу).

Для задания запроса такого типа сначала в режиме конструктора создается запрос, вы-

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

пользуемые в условии отбора. Затем выбирается команда “Добавление”, активизирую-

щая окно “Добавление” (рис. 12), в котором указывается имя целевой таблицы.

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

Если все поля таблицы-источника входят в состав добавляемых записей и их име-

на совпадают с именами целевой таблицы, то в бланк запроса с помощью мыши можно просто включить символ звездочки (*) из списка полей. Однако при использовании сим-

вола звездочки (*), даже если структуры обеих таблиц полностью совпадают, могут воз-

никнуть проблемы с ключами, если ключевое поле имеет тип “Счетчик”. Для автомати-

15

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

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

Рис. 12. Запрос на добавление с активизированным окном “Добавление”

Запрос, показанный на рис. 12, выбирает из таблиц-источников записи, содержащие шифры групп и ФИО студентов факультета МПиТК, и записывает эти данные в существующую целевую таблицу “ФакультетМП”, помещая из каждой выбранной записи шифр группы в поле “Группа” и ФИО студента в поля “Фамилия”, “Имя”, “Отчество” для каждой добавляемой записи.

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

Лабораторное задание

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

Порядок выполнения лабораторной работы

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

16

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

2.Запустить СУБД Access, активизировать окно справки, в оглавлении щелчком раскрыть пункт “Запросы”, выбрать статью “Примеры условий запроса”, ознакомиться с ней и найти раздел со справочными сведениями о подстановочных знаках, которые можно использовать в шаблонах оператора Like. Записать эти сведения в отчет как дополнение к ответу на контрольный вопрос 11.

3.Создать сформулированные при домашней подготовке запросы (применив построитель выражений), отобразить их в различных режимах и выполнить, проанализировав получаемые результаты и отметив в отчете замеченные особенности.

4.Показать результаты преподавателю, сдать зачет по лабораторной работе и сохранить базу данных, дополненную созданными запросами, на сетевом диске H:.

Требования к отчету

Рукописный отчет должен содержать:

1)название и цель лабораторной работы;

2)письменные ответы на контрольные вопросы;

3)формулировку запросов на выборку для базы данных, созданной для своего варианта в лабораторной работе № 2, и схемы взаимосвязи таблиц в многотабличных запросах;

4)формулировку запроса с параметрами;

5)формулировку запроса на выборку для базы данных и описание таблицы, в которой будут сохранены выбранные записи;

6)формулировку перекрестного запроса;

7)формулировку корректирующих запросов для базы данных и описание таблицы, в которую будут добавляться записи;

8)описание замеченных особенностей выполнения запросов.

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

1. К какому классу языков запросов относится язык QBE?

17

2.Каким образом формируются запросы на языке QBE?

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

4.Как определить тип запроса, хранящегося в базе данных?

5.Что может служить источником данных для запроса в Access?

6.Какие режимы работы с запросами предусмотрены в Access?

7.Какие операции необходимо выполнять при формировании запроса? Оформите ответ в виде таблицы с графами “Операции” и “Действия”.

8.По каким правилам записываются условия отбора записей в Access?

9.Какие средства записи выражений имеются в Access?

10.Как можно задать диапазон значений в условии отбора?

11.Как задается условие отбора по шаблону?

12.Как задаются операторы логических операций “И” и “ИЛИ” в условиях отбора,

содержащих различные поля?

13.В чем особенности формирования запросов к связанным таблицам?

14.Как упорядочить данные в таблице результатов?

15.Какими способами можно выполнить запрос?

16.Как сформировать итоговый запрос?

17.Как создать запрос с параметрами?

18.Какие разновидности корректирующих запросов предусмотрены в Access и как они задаются?

19.Может ли запрос на удаление не содержать в бланке запроса ни одного поля?

20.Что произойдет при выполнении запроса на удаление, если в бланк запроса включено какое-то одно поле, но условие отбора не задано?

21.Как сохранить запрос? Для чего это необходимо?

22.Как сохранить результат выполнения запроса? Для чего это необходимо?

23.В чем разница между сохранением запроса и сохранением результатов запро-

са?

24. Чем отличается структура таблиц результатов, формируемых обычным запро-

сом на выборку данных и перекрестным запросом?

 

Содержание

Теоретические сведения ........................................................................................................................................

1

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

2

Добавление и удаление таблиц .........................................................................................................................

3

18

Включение полей в запрос и их удаление из запроса .....................................................................................

3

Выбор полей, отображаемых в таблице результатов ......................................................................................

4

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

4

Выполнение запроса, просмотр и сортировка результатов ............................................................................

7

Формирование запросов к связанным таблицам .............................................................................................

7

Итоговые запросы ..............................................................................................................................................

8

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

9

Запрос на создание таблицы............................................................................................................................

10

Перекрѐстный запрос .......................................................................................................................................

11

Корректирующие запросы...............................................................................................................................

13

Лабораторное задание..........................................................................................................................................

16

Порядок выполнения лабораторной работы ......................................................................................................

16

Требования к отчету.............................................................................................................................................

17

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

17

19

Соседние файлы в папке БД лабы