русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Запросы и выборки


Дата добавления: 2015-07-04; просмотров: 1913; Нарушение авторских прав


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

Динамическая таблица запроса (Dynaset), в дальнейшем, выборка, - это таблица, формируемая всякий раз заново на основе реальных таблиц базы данных, содержимое которой удовлетворяет условиям запроса. С выборкой можно обращаться как с реальной таблицей - например, редактировать ее записи. Внесенные изменения будут отражены в записях реальных таблиц, стоящих за этой выборкой.

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

Наряду со стандартным запросами выбора, можно выделить такжезапросы на выполнение действия, которые используются для создания новых реальных таблиц данных, в дальнейшем существующих уже независимо от тех таблиц базы которые были использованы для их построения. Эти запросы позволяют также изменять таблицы базы данных обновлять их, дополнять новыми записями' или удалять некоторые записи.

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

ü Запрос на добавление. Можно добавлять отобранные записи из таблицы или запроса текущей базы данных в конец другой таблицы Дополняемая таблица может находиться как в той же самой, так и в другой базе данных.



ü Запрос на удаление. С помощью запроса на удаление можно удалить группу записей данных, удовлетворяющих заданным условиям.

ü Запрос на обновление. Можно изменить группу записей данных, удовлетворяющих определенному условию.

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

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

При выполнениизапроса с параметрами Access запрашивает у пользователя значение параметров для определения условий выборки. Речь может идти, например, о выборе телефонов клиентов из определенного региона, причем интересующий пользователя регион изменяется от одного запроса к другому. В данном случае система запрашивает название региона.

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

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

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

По способу формирования запросы можно разделить на два вида:

Запросы по образцу или QBE-запросы, для определения которых пользователь должен указать параметры запроса в окне конструирования, задавая образцы для поиска информации.

Структурированные, или SQL-запросы, для определения которых пользователь должен описать запрос с помощью особого языка запросов, используя специальные команды и функции.

Практически любой запрос может быть сформулирован как в виде запроса по образцу, так и в виде SQL-запроса. Однако многие пользователи предпочитают работать с запросами по образцу, так как этот способ более наглядный, его легче освоить, не требуется учить команды и функции структурированного языка запросов.

При определении запроса по образцу Access автоматически формирует соответствующий SQL-запрос.

Основной тип запросов по образцу - это запросы на выбор. Пользователь может формировать запрос самостоятельно или обратиться к Мастерам запросов.

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

Для базы данных «Межгород» потребуется создать 2 запроса: вывести список тех абонентов, которые не оплатили и тех абонентов, которые оплатили междугородние разговоры.Для создания первого запроса нужно выполнить следующие действия:

1. На вкладке Объекты нажать на кнопку Запросы и в правом поле выбрать Создание запроса в режиме конструктора.

2. В новом появившемся окне Добавление таблицы на вкладке Таблицы выбрать Абонент и нажать на Добавить и закрыть окно диалога.

3. На экране открывается окно конструктора запросов, в верхней части которого находится схема данных запроса. Эта схема содержит список таблиц, включенных в запрос, и отображает связи между ними. В рассматриваемом примере схема данных содержит всего одну таблицу Абонент. В нижней части конструктора запросов располагается бланк запроса, который пока пуст (рисунок 3.1).

Каждая строка этого бланка выполняет определенную функцию:

ü Поле. В этой строке помещаются те поля, которые используются для создания запроса, каждое в своей ячейке таблицы.

ü Имя таблицы. Эта строка показывает, из какой таблицы (или запроса) выбрано данное поле.

ü Групповая операция. Определяет тип операции, выполняемой над группой данных.

ü Сортировка. В этой строке указывается тип сортировки информации, возвращаемой в запросе, по возрастанию или по убыванию.

ü Вывод на экран. Если поле используется только для задания условия выбора данных, которые возвращает запрос, его можно не выводить на экран, убрав флажок в данной строке.

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

Для выбора полей, которые должны присутствовать в результирующей таблице, необходимо отобразить их в бланке запроса. Для этого можно выбрать поле таблицы на схеме данных и дважды нажать левую кнопку мыши. Выбранное поле будет вставлено в следующий доступный столбец (рисунок 3.2).

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

Поскольку поставлена задача вывести список тех, кто не заплатил за междугородний телефон, то в строке Условие отбора поля Оплата задается значение Ложь (рисунок ).

Теперь, когда запрос сформирован, можно запустить его на выполнение, нажав на кнопку Вид или Запуск. Результаты запроса представлены в режиме таблицы на рисунке 3.3. Повторным нажатием на кнопку Вид можно вернуться в режим конструктора запросов. Если результат создания запроса устраивает, нужно его сохранить с именем Неплательщики.

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

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

Если потребовался список абонентов, не оплативших услугу в период с 01.11.04 по 30.11.04, то такое выражение можно записать двумя способами:

1. В строке Условия отбора поля Дата разговора записать выражение >=#01.11.2004# And <=#30.11.2004#

2. Воспользоваться построителем выражений.

Построитель выражений можно вызвать, нажав на кнопку Построить на панели инструментов или выбрать строку Построить из контекстного меню, курсор при этом должен находиться в поле, в которое будет записано выражение (Рисунок 3.4). В данном случае курсов нужно установить в поле Дата разговора в строке Условия отбора.

В верхней части открывшегося окна (рисунок 3.5) Построителя выраже-ний расположено поле, в котором создается выражение. В средней части окна Построителя нахо-дятся кнопки с часто используемыми опе- раторами. В нижней части Построителя слева находится список объектов. В среднем поле задаются определенные элементы или типы элементов для объектов, выбранных в левом поле. В правом поле выводится список значений (если они существуют) для элементов, заданных в левом и среднем полях. Для заданных условий отбора записей получает результат, показанный на рисунке 3.6.

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

 

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

Для добавления в выражение поля Количество минут таблицы Абонент нужно раскрыть папку «Таблицы» и выбрать из иерархического списка таблицу Абонент (рисунок 3.7). После этого список, расположенный правее, будет содержать перечень всех полей указанной таблицы. Из этого списка выбирается поле Количество минут, на котором нужно дважды нажать мышью, или нажать кнопку Вставить окна построителя. Выбранное поле будет добавлено в область ввода выражения. Теперь надо добавить знак умножения. Для этого надо нажать кнопку с изображением знака умножения, которая расположена под областью ввода выражения, или напечатать знак умножения непосредственно в поле ввода выражения. Аналогично добавляется в выражение поле Тариф

После завершения формирования выражения нажимается кнопка ОК, и выражение будет перенесено в строку Поле бланка запроса (рисунок 3.8). Так как каждое поле результирующей таблицы должно иметь имя, MS Access автоматически задаст имя вычисляемого поля, например, Выражение1, которое отделяется от выражения двоеточием. Для того чтобы изменить это имя, нужно просто отредактировать текст в ячейке строки Поле, изменив предложенное имя на более подходящее, например, Сумма. Результирующая выборка представлена на рисунке 3.9.

 

 

При создании запросов с параметром в строке Условие отбора вводится выражение (обязательно в квадратных скобках), которое затем появится в диалоговом окне при запуске запроса (рисунок 3.10).



<== предыдущая лекция | следующая лекция ==>
СУБД Microsoft Access | Создание формы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.