
- •Основные понятия
- •Постановка задачи
- •Проектирование базы данных Теоретические сведения
- •Типы отношений информационных объектов
- •Создание информационно-логической модели
- •Определение логической структуры реляционной базы данных
- •Создание базы данных Создание файла базы данных
- •Создание таблиц
- •Определение связей между таблицами
- •Работа с таблицами в режиме таблицы
- •Запросы Теоретические сведения
- •Многотабличный запрос на выборку данных
- •Запрос с параметром
- •[Введите название группы].
- •Создание запроса с вычисляемым полем
- •Групповые операции в запросах
- •Формы Теоретические сведения
- •Создание мастером многотабличной формы с подчиненной формой
- •Отчеты Теоретические сведения
- •Создание отчета с помощью мастера
Запросы Теоретические сведения
Наиболее распространенный тип запросов – запрос на выборку. Запрос на выборку отбирает данные из одной или более таблиц по заданным условиям, а затем отображает их в нужном порядке.
Результат запроса называется выборкой. Выборка не сохраняется в базе данных. Она создается заново каждый раз при выполнении запроса и уничтожается при его закрытии. Пользователь видит выборку как временную таблицу, открытую в режиме таблицы.
Работа с запросами может осуществляться в двух режимах:
в режиме конструктора выполняется построение запроса;
в режиме таблицы просматривается результат выполнения построенного запроса.
Чтобы не изменять каждый раз условия отбора в запросе в режиме конструктора (например, название дисциплины), можно создать запрос с параметром, который при открытии будет запрашивать значение поля для осуществления отбора только тех записей, в соответствующем поле которых содержится это значение.
Используя данные из полей таблиц и других запросов, можно создавать запросы с дополнительными вычисляемыми полями, т.е. полями, значения в которых не хранятся в таблицах, а вычисляются по определенным формулам при выполнении запроса и размещаются в выборке. В этих формулах содержатся названия полей таблиц, данные из которых будут использоваться для вычислений.
Запросы, выполняющие итоговые вычисления по всем записям таблицы (суммирование, определение среднего или максимального значения и т.д.) для какого-либо числового поля, называются итоговыми или сводными запросами.
Многотабличный запрос на выборку данных
Многотабличный запрос позволяет сформировать записи результата путем объединения взаимосвязанных записей и включения нужных полей из таблиц базы данных. В результате выполнения запроса формируется таблица, содержащая повторяющиеся данные, причем обеспечивается удобное восприятие их пользователем. Например, при объединении двух таблиц, связанных отношением один-ко-многим, результирующая запись образуется на основе записи подчиненной таблицы, в которую добавляются поля из связанной записи в главной таблице. При этом данные главной таблицы дублируются в разных записях.
Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц. Условие отбора или логическое выражение может содержать числа, текст, даты, имена полей таблиц. Числа вводятся без ограничителей, например, 22. Текст должен быть заключен в кавычки, например «Анна» (кавычки можно не вводить, Access введет их самостоятельно). Даты ограничиваются символами #, например, #10/01/99#. Элементы выражения могут быть связаны операциями:
арифметическими: *, +, -, /, ^;
сравнения: <, <=, >, >=, =, <>;
логическими: And (И), Not (Нет), Or (Или);
Like,– для отбора записей по маске, например Not Like «В*» – все записи, значение которых в выбранном поле не начинаются с символа «В»;
In – для определения, содержится ли элемент данных в списке значений;
Between ... And … – для выбора значений из определенного интервала.
Создадим запрос, позволяющий извлечь из базы данных «Компьютерная школа» всех слушателей, занимающихся на 4 и 5.
Порядок создания запроса следующий.
Выберите объект Запросы окна базы данных.
Дважды щелкните пункт Создание запроса в режиме конструктора.
В диалоговом окне Добавление таблицы выберите таблицу Группа. Нажмите кнопку Добавить.
Аналогично добавьте в схему данных запроса таблицы Слушатель и Успеваемость.
Закройте окно диалога.
Рис.16. Многотабличный запрос на выборку.
Для включения поля из таблицы в запрос можно дважды щелкнуть по имени нужного поля в списке полей таблицы либо перетащить мышью поле из списка в соответствующий столбец бланка запроса в строку Поле. Поместите в бланк запроса поля, указанные на рис.16.
Запишите условие отбора записей из полученного набора данных. Для этого в бланке запроса в полях word, excel и access в строке Условие отбора введите: 4 Or 5.
Выполнить запрос можно по команде Вид|Режим таблицы либо щелкнув по кнопке Запуск в панели инструментов.
Если пользователь хочет переделать запрос, ему следует вернуться в режим конструктора (по команде Вид|Конструктор).
Закройте окно конструктора. При закрытии запроса дайте ему имя – Хорошисты.
Рис.17. Использование операций отношения в условии отбора.
Тип сортировки записей (по возрастанию или убыванию) для любого поля запроса задается при работе с запросом в режиме конструктора в строке Сортировка.
Заметим, что условие отбора может быть записано иначе (рис.17).
Если операции отношения записаны в одну строку как на рисунке 17, то это эквивалентно логическому выражению:
(word >=4) And (excel >=4) And (access >=4) .
Если операции отношения записаны в две строки как на рисунке 18, то это означает использование логической операции Or:
(word = 4) Or (word = 4) .
Рис.18. Использование логической операций Or.