Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2575.pdf
Скачиваний:
2
Добавлен:
15.11.2022
Размер:
1.86 Mб
Скачать

используется условие отбора, то изменяются все строки таблиц и запросов.

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

1. Как реализовать выбор значения поля таблицы из списка значений?

2.Что представляет собой индекс без повторений и индекс с повторениями?

3.Как осуществляется связывание таблиц?

4.Какие ограничения семантической целостности можно задать в Access?

5.Как задаются ограничения семантической целостности?

6.Как описать первичный ключ, состоящий из нескольких полей?

7.Как сформировать новую таблицу, поместив в нее фамилии студентов, не аттестованных по физике?

8.Как реализуется каскадное удаление?

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

8. ПРОЕКТИРОВАНИЕ ЗАПРОСОВ

Запросы предназначены для отбора данных, удовлетворяющих заданным критериям (например, сведений об успеваемости студента с заданной фамилией, сведений о студентах, обучающихся в заданной учебной группе). В Access запросы делятся на QBE-запросы (Query By Example запрос по образцу), параметры которых устанавливаются в окне

Конструктора запросов, и SQL-запросы (Structured Query Language структурированный язык запросов), при создании которых используются операторы и функции языка SQL.

38

Конструктора запросов и диалоговое окно
На экране появится диалоговое окно

Access позволяет легко преобразовать QBE-запрос в SQLзапрос и наоборот.

Для создания QBE-запроса необходимо открыть базу данных, перейти на вкладку Запросы и нажать кнопку

Создать. Новый

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

8.1. Конструктор запросов

Рассмотрим в качестве примера процесс создания запроса, позволяющего найти в базе данных фамилии студентов группы "РС-061", получивших на экзаменах по дисциплине "Физика" оценки "5" или "4". Для этого в окне

Новый запрос следует выбрать способ Конструктор и

нажать кнопку ОК. В результате появится пустое окно

Добавление таблицы, состоящее из трех вкладок: Таблицы, Запросы и Таблицы и запросы. На них осуществляется выбор таблиц и запросов, используемых при создании запроса. Перейдем на вкладку Таблицы, выберем таблицу СТУДЕНТ

и выполним щелчок на кнопке

Добавить. Аналогичным

образом

добавим

таблицы

УСПЕВАЕМОСТЬ

и

ДИСЦИПЛИНА. Закроем диалоговое окно, щелкнув на кнопке Закрыть. Добавленные таблицы появятся в окне

Конструктора запросов. Посредством команды Добавить таблицу из меню Запрос можно снова открыть диалоговое окно Добавление таблицы и пополнить список таблиц запроса.

Окно Конструктора запросов разделено на две части. В верхней половине находятся окна таблиц со списками полей. Имя каждой таблицы отображается в строке заголовка такого

39

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

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

добавление полей в запрос;

установка критериев отбора записей;

сортировка записей.

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

в верхней части окна Конструктора, в строку бланка Поле. Еще один способ добавления — двойной щелчок по имени поля.

Первым поместим в строку Поле поле Фамилия таблицы СТУДЕНТ, следом за ним — поле Группа из той же таблицы. Из таблицы ДИСЦИПЛИНА перенесем в бланк запроса поле Название и, наконец, — поле Оценка из таблицы

УСПЕВАЕМОСТЬ.

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

40

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

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

Формируемый в нашем примере запрос должен отбирать данные о студентах группы РС-061, получивших по дисциплине "Физика" оценки "5" или "4". Поэтому для перечисленных ниже полей установим в строке Условие

отбора бланка запроса такие критерии отбора:

Группа = РС-061 Название = Физика

Оценка = 5 Or 4

Сначала введем критерий для поля Группа — 00АО1.

После ввода нажмем клавишу Enter, вследствие чего Access проверит принадлежность этого значения заданному списку и автоматически заключит его в кавычки. Затем перейдем в ячейку на пересечении строки Условие отбора и столбца Название и введем значение "Физика" (в кавычках или без кавычек). Наконец, зададим критерий для поля Оценка: 5 Or 4. Access автоматически проверит синтаксис этого выражения и в случае его нарушения выдаст сообщение об ошибке.

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

41

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]