Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Краткие пояснения






СОЗДАНИЕ ЗАПРОСОВ И ОТЧЕТОВ В СРЕДЕ СУБД MICROSOFT ACCESS

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

 

ЦЕЛЬ РАБОТЫ

 

Приобретение практических навыков создания запросов и отчетов в среде СУБД MS Access и практики использования языка SQL.

 

КРАТКИЕ ПОЯСНЕНИЯ

 

2.1. Создание и использование запросов

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

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

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

§ Запросы на изменение - используются для создания таблиц или изменения данных в таблицах.

Для выполнения запросов в СУБД, в том числе в Access, как правило, используется специальный язык SQL (Structured Query Language). В MS Access при разработке запросов также применяется язык QBE (Query-By-Example – язык запросов по образцу). Он основан на использовании визуальных шаблонов для последующего формирования команд на языке SQL. При исполнении запросов Access конструирует эквивалентный оператор языка SQL, который можно просмотреть, отредактировать и затем выполнить в новой редакции. Изменения, внесенные в запрос в режиме SQL, отражаются также в бланке Конструктора запроса.

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

Простые запросы в MS Access 2007 могут быть созданы с помощью Мастера запросов. Для этого на вкладке Создание в группе Другие следует щелкнуть значок Мастер запросов, в диалоговом окне Новый запрос выбрать Создание простых запросов. При запуске программа Мастера задает пользователю несколько вопросов о содержании и стиле создаваемого запроса и далее генерирует программную процедуру и результат запроса. Созданный Мастером запрос может быть сохранен и при необходимости доработан в Конструкторе запросов и в окне SQL.

В Access 2007 кроме мастера простых запросов имеется ещё три мастера запросов:

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

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

o мастер перекрестных запросов – запрос предназначен для анализа данных таблиц по определенным критериям.

Более сложные запросы создаются в режиме Конструктора запросов. Окно Конструктора запросов состоит из двух частей: в верхней области отображаются списки полей используемых в запросе таблиц и запросов, в нижней области (бланке запроса) формируются условия отбора, сортировки и отображения данных. При создании запроса в режиме Конструктора MS Access автоматически создает эквивалентную инструкцию SQL.

Для создания запроса в режиме Конструктора нужно на вкладке Создание в группе Другие выбрать команду Конструктор запросов, добавить в окно конструктора нужные объекты (таблицы и/или запросы), ввести необходимые поля в бланк запроса, их вывод на экран, определить условия (критерии) отбора записей в выборку, при необходимости – вычисляемые поля и порядок сортировки, сохранить запрос и выполнить его для просмотра результатов и возможной коррекции. При необходимости использования групповых операций в запросе следует подключить команду Итоги в группе команд Показать или скрыть. В поле Групповая операция отображается функция группировки – суммирование значений, количество записей и т.п. Для того, чтобы просмотреть SQL-код запроса, следует применить команду Режим > > Режим SQL. Содержимое окон Конструктора и режима SQL синхронизировано.

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

При создании запросов часто имеется необходимость создания вычисляемых полей. Например, если в таблицах БД имеются поле цены на товар и поле количества товара, то можно создать вычисляемое поле стоимости товара как произведение цены и количества. В таких полях обычно используются арифметические операторы (+, -, *, /, ^, MOD) и оператор конкатенации строк &. Для задания сложных выражений в строке Условие отбора Конструктора можно использовать программу Построитель на вкладке Конструктор. Эта мощная утилита позволяет построить необходимое выражение с применением встроенных в ней разнообразных функций и операторов.

В Приложении 1 на рис. 1.1 а) показан пример создания и исполнения запроса на выборку в режиме Конструктора. Содержание запроса заключается в выборке из таблицы «Усилители» записей, у которых коэффициент усиления > 105, входное сопротивление > 107 и цена < 200.

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

На рис. 1.1 б) демонстрируются результаты данного запроса, а на рис. 1.1 в) – сгенерированный системой оператор языка SQL, который доступен для редактирования.
Запросы, создаваемые на основе нескольких таблиц запросов, называют многотабличными. В макете многотабличного запроса в окне Конструктора можно задавать связи между таблицами, если они не были ранее установлены.

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

Следует отметить, что если при открытии базы данных ниже Ленты Access появилось сообщение – Предупреждение системы безопасности – Часть базы данных отключена - то система Access не разрешит использовать запросы на изменение. Чтобы их разрешить, следует разблокировать систему безопасности Access с помощью кнопки Параметры около предупреждения.

Более подробные сведения о создании запросов можно получить в Справочной системе MS Access (статьи в разделе «Запросы») или в рекомендуемой литературе. С примерами запросов можно ознакомиться также в БД «Борей».

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.