Страница 10 из 11
35. Что происходит с индексами таблицы при добавлении, удалении, изменении записей этой таблицы? Почему замедляется ввод и редактирование таблицы при наличии у нее индексов?
36. Можно ли менять индексы таблиц базы данных? Покажите, как это можно сделать. Какие типы полей могут быть включены в индекс? Сколько полей может содержать составной индекс?
37. Каким образом можно выполнить предварительный просмотр и печать таблицы? Продемонстрируйте эти действия на примере таблиц вашей базы данных.
38. Как можно сформировать и напечатать отчет, в котором отражена схема данных? Сохраняется ли этот отчет в базе данных? Продемонстрируйте процесс документирования созданной вами схемы данных.
39. Для чего предназначена команда Архивариус? Как с помощью этой команды сформировать отчет, содержащий характеристики таблиц базы данных? Сохраняется ли этот отчет в базе данных? Можно ли сохранить данный отчет в виде документа Word?
40. Для каких целей предназначена команда Анализ таблицы, расположенная в группе Анализ на вкладке Работа с базами данных? Используя данную команду, выполните анализ созданных вами базовых таблиц.
2. Создание запросов
Для эффективной работы с данными обычно применяют запросы. Запрос – обращение пользователя к базе данных с целью ввода, получения или изменения информации, хранимой в базе данных. Состав запросов, формируемых к базе данных, определяется преимущественно информационными потребностями ее пользователей. Такие запросы называются пользовательскими. Существуют также управляющие запросы – запросы, предназначенные для нужд администратора базы данных. Они направлены на актуализацию и управление данными. Для записи запросов в современных реляционных СУБД используют преимущественно два языка: QBE – язык запросов по образцу, SQL – структурированный язык запросов. СУБД Access располагает возможностями обоих этих языков. Данная тема посвящена созданию различных типов запросов в Access с помощью языка QBE. Здесь рассматриваются также правила записи выражений, описывающих условий отбора записей и формулы расчета вычисляемых полей, обсуждаются вопросы печати и документирования запросов.
2.1. Немного теории
Назначение запросов
Создание запроса можно сравнить с формулированием вопроса к базе данных, а выполнение запроса – с получением ответа.
Запрос – объект базы данных, предназначенный
• для извлечения из разных таблиц нужных сведений и отображения их на экране различными способами (например, в виде таблицы, формы или отчета);
• выполнения расчетов;
• для создания новой базовой таблицы на основе существующих таблиц базы данных;
• для добавления, изменения и удаления записей из базовых таблиц.
Запросы, используемые для извлечения данных из таблиц и выполнения расчетов, называют запросами на выборку. Это пользовательский тип запросов.
Запросы, применяемые для создания и изменения содержания базовых таблиц, называют запросами на изменение. Эти запросы предназначены, прежде всего, для администратора базы данных, т.к. направлены на актуализацию данных и управление данными. Поэтому такие запросы называют также управляющими запросами.
На первый взгляд запросы на выборку схожи с сортировкой и фильтрацией. Однако это не совсем так. Запросы являются более мощным и гибким инструментом, чем простое сочетание сортировки и фильтра. Основные отличия между этими подходами:
• достоинство команд сортировки и фильтрации в том, что они просты в применении и выполняются быстрее, чем запросы;
• первый недостаток сортировки и фильтрации: сохранить можно только последнюю установленную сортировку и последний использованный фильтр. Все другие сортировки и фильтры придется всякий раз определять заново. Исключение составляет расширенный фильтр, который, по сути, является запросом. Между тем любой запрос можно сохранить и многократно исполнять по мере необходимости;
• другой недостаток сортировки и фильтрации: работа только с одной открытой таблицей. Запрос же может извлекать данные из нескольких таблиц и запросов, и при этом не требует, чтобы они были открыты.
Запрос и базовая таблица, из которой он извлекает данные, связаны между собой. Если меняются данные в таблице, то модифицируется соответствующим образом результат выполнения запроса. И, наоборот, при корректировке данных в результатах запроса записи в базовой таблице также меняются.
☞ Примечание. Следует знать, что в базе данных хранятся не результаты выполнения запросов, а лишь предписания описывающие, какую информацию надо извлечь из таблиц и какие вычисления необходимо осуществить. Запросы следует воспринимать как виртуальные таблицы базы данных. Чтобы подчеркнуть различие таблиц и запросов, применительно к обычным таблицам базы данных применяют термин «базовая таблица».
Основные типы запросов
В Access существуют следующие типы запросов на выборку:
• однотабличный запрос. Выбор подмножества данных из одной таблицы (выбор полей и выбор записей, удовлетворяющих заданным условиям);
• многотабличный запрос. Выбор данных из нескольких связанных между собой таблиц;
• запрос с параметром. Выбор записей по заданному значению некоторого поля (параметра). Это значение запрашивается с экрана у пользователя. Параметров может быть насколько;
• итоговый запрос. В таком запросе выполняются статистические расчеты;
• запрос с вычислениями. Это запрос, в котором определены поля, значения которых вычисляются на основе значений других полей таблиц;
• перекрестный запрос. Используется для просмотра, но не изменения данных. Результаты представляются в формате, подобном электронной таблице, что упрощает сравнение и анализ данных;
• запрос на выборку повторяющихся записей. Отбор записей-дубликатов в таблице;
• запрос на выборку записей без подчиненных. Выбор записей таблицы, которые не связаны с другой таблицей.
☞ Примечание. В запросах на выборку данные могут извлекаться не только из базовых таблиц, но и из других запросов. Другими словами, источником записей запроса могут выступать как базовые, так и виртуальные таблицы базы данных.
В Access возможны такие типы запросов на изменение:
• запрос на создание таблицы. Создает новую базовую таблицу, в которую копируются записи существующей таблицы;
• запрос на обновление. Разновидность диалогового окна Поиск и замена с более широкими возможностями (несколько условий отбора и изменение записей сразу в одной, двух и более таблицах);
• запрос на добавление. Позволяет добавить набор записей из одной или нескольких таблиц в одну или несколько результирующих таблиц;
• запрос на удаление. Удаление набора записей целиком из одной или нескольких таблиц.
Средства создания запроса
Существуют три инструмента создания запроса: Мастер запросов, Конструктор запросов, программирование на SQL. Любой запрос, построенный с помощью Мастера запросов, может быть доработан в Конструкторе запросов и с помощью SQL. Возможен переход из Конструктора запросов в окно SQL и наоборот.
Мастер запросов позволяет быстро построить определенные типы запросов:
• простой запрос (однотабличный или многотабличный запрос, в котором осуществляется вычисление статистических функций);
• перекрестный запрос;
• запрос на выборку повторяющихся записей;
• запрос на выборку записей без подчиненных.