Добавить в цитаты Настройки чтения

Страница 10 из 11

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

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

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

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

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

40. Для каких целей предназначена команда Анализ таблицы, расположенная в группе Анализ на вкладке Работа с базами данных? Используя данную команду, выполните анализ созданных вами базовых таблиц.

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

Для эффективной работы с данными обычно применяют запросы. Запрос – обращение пользователя к базе данных с целью ввода, получения или изменения информации, хранимой в базе данных. Состав запросов, формируемых к базе данных, определяется преимущественно информационными потребностями ее пользователей. Такие запросы называются пользовательскими. Существуют также управляющие запросы – запросы, предназначенные для нужд администратора базы данных. Они направлены на актуализацию и управление данными. Для записи запросов в современных реляционных СУБД используют преимущественно два языка: QBE – язык запросов по образцу, SQL – структурированный язык запросов. СУБД Access располагает возможностями обоих этих языков. Данная тема посвящена созданию различных типов запросов в Access с помощью языка QBE. Здесь рассматриваются также правила записи выражений, описывающих условий отбора записей и формулы расчета вычисляемых полей, обсуждаются вопросы печати и документирования запросов.

2.1. Немного теории

Назначение запросов

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

Запрос – объект базы данных, предназначенный

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

• выполнения расчетов;

• для создания новой базовой таблицы на основе существующих таблиц базы данных;

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

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

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

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

• достоинство команд сортировки и фильтрации в том, что они просты в применении и выполняются быстрее, чем запросы;

• первый недостаток сортировки и фильтрации: сохранить можно только последнюю установленную сортировку и последний использованный фильтр. Все другие сортировки и фильтры придется всякий раз определять заново. Исключение составляет расширенный фильтр, который, по сути, является запросом. Между тем любой запрос можно сохранить и многократно исполнять по мере необходимости;

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

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

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

Основные типы запросов

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

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

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

запрос с параметром. Выбор записей по заданному значению некоторого поля (параметра). Это значение запрашивается с экрана у пользователя. Параметров может быть насколько;

итоговый запрос. В таком запросе выполняются статистические расчеты;

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

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

запрос на выборку повторяющихся записей. Отбор записей-дубликатов в таблице;

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

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

В Access возможны такие типы запросов на изменение:

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

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

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

запрос на удаление. Удаление набора записей целиком из одной или нескольких таблиц.

Средства создания запроса

Существуют три инструмента создания запроса: Мастер запросов, Конструктор запросов, программирование на SQL. Любой запрос, построенный с помощью Мастера запросов, может быть доработан в Конструкторе запросов и с помощью SQL. Возможен переход из Конструктора запросов в окно SQL и наоборот.

Мастер запросов позволяет быстро построить определенные типы запросов:

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

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

• запрос на выборку повторяющихся записей;

• запрос на выборку записей без подчиненных.