
Тема № 8. База данных. Работа с индивидуальными медицинскими картами
Теоретический блок.
Компоненты базы данных Access: Таблицы, Формы, Отчеты, Запросы, Макросы,
Модули.
Запросы – это специальные структуры, предназначенные для обработки данных. С помощью запросов данные упорядычивают, фильтруют, изменяют, объединяют, т.е. обрабатывают. Основная функция запроса – связывание таблиц и отбор данных. Здесь речь идет о возможности связывать между собой данные нескольких таблиц и отбирать их таким образом, чтобы создавать новые временные таблицы с необходимыми сведениями. Эти временные таблицы могут храниться в памяти компьютера или временых файлах. Для этой цели в Access используются запросы, а результирующие временные таблицы называются объектами Recordset. Часто объекты Recordset называют виртуальными таблицами, поскольку они хранят результаты выполнения запросов не в базе данных, а в памяти компьютера. Именно возможность устанавливать связи между таблицами отличает реляционные СУБД от простых приложений для обработки списков, называемых процессорами плоских файлов. Объект Recordset – это не просто объединение данных нескольких таблиц; хранящиеся в нем данные соответствуют определенному критерию отбора. Более того, из одних значений путем вычислений могут быть получены новые.
Запросы являются основным рабочим инструментом базы данных и могут выполнять множество различных функций. Самая распространенная функция запросов — извлечение определенных данных из таблиц. Данные, которые необходимо просмотреть, как правило, находятся в нескольких таблицах; запросы позволяют представить их в одной таблице. Кроме того, поскольку обычно не требуется просматривать все записи сразу, с помощью запросов можно, задав ряд условий, «отфильтровать» только нужные записи. Часто запросы служат источником записей для форм и отчетов.
Некоторые запросы предусматривают возможность обновления: это означает, что данные в основных таблицах можно изменять через таблицу запроса. Работая с запросом с возможностью обновления, следует помнить, что изменения фактически вносятся не только в таблицу запросов, но и в соответствующие таблицы базы данных.
Существует два основных вида запросов: запросы на выборку и запросы на изменение. Запрос на выборку просто извлекает данные и дает возможность пользоваться ими. Результаты такого запроса можно просмотреть на экране, распечатать или скопировать в буфер обмена. Кроме того, их можно использовать в качестве источника записей для формы или отчета. Запрос на изменение, как следует из его названия, выполняет действия с данными. Запросы на изменение можно использовать для создания новых таблиц, добавления данных в существующие таблицы, обновления или удаления данных.
Большинство СУБД разрешают использовать запросы следующих типов:
запрос-выборка задает вопросы о данных, хранящихся в таблицах, и представляет полученный динамический набор в режиме формы или таблицы без изменения данных.
перекрестный запрос, предназначенный для отображения результатов статистических расчетов (суммы, количества записей, среднего значения), которые группируются в виде таблицы по двум наборам данных, один из которых определяет заголовки столбцов, а другой – заголовки строк.
запрос с параметром – посторно применяют уже существующие запросы, внося при этом незначительные изменения в заданные ранее условия отбора. При выполнении запросов подобного рода Access отображает специальное диалоговое окно, позволяющие пользователю ввести новое условие отбора.
Рассмотрим создание запросов на выборку. Используя запросы на выборку, можно получить отображение данных из базы данных в табличном представлении. Данные для запроса могут поступить из одной или нескольких таблиц, из существующих запросов или из комбинаций таблиц и запросов. Таблицы или запросы, используемые для получения данных, называются источниками записей.
Создание простых запросов на выборку при использовании мастера и при работе режиме конструктора происходит одинаковым образом. Для этого следует выбрать источник записей и поля, которые требуется включить в запрос. При необходимости можно задать условия для уточнение результатов запроса.
После создания запроса на выборку его следует выполнить, чтобы получить результаты. Чтобы выполнить запрос, достаточно открыть его в режиме таблицы. Впоследствии запрос можно использовать повторно по мере необходимости, например в качестве источника записей для формы, отчета или другого запроса.
Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рис.
1. Средства сортировки и
фильтрации.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Рис.
2. Конструктор запросов.
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис.
3. Окно диалога Добавление
таблицы.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Рис.
4.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке "Вывод на экран" автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке "Условия" отбора и строке "Или". Например, введем критерий поиска - "5/A" в строке "Условия" для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Рис.
5.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить - Да и ввести имя запроса, например "Успеваемость студентов". Для запуска запроса дважды щелкнем на query "Успеваемость студентов", откроется таблица с результатами выполненного запроса (рис. 6).
Рис.
6.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию]. В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить - Да и ввести имя запроса, например "Параметрический query". Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Рис.
7.
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
Рис.
8.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.