В целом все запросы решают проблему обновления базы данных. Существуют различные формы запросов. Выбор формы запросы зависит от решаемой рекламной задачи, от системы организации системы базы данных, а так же от пристрастий пользователя. В любом случае пользователь получает из базы данных информацию, требуемую в данный момент времени.
Работа с запросами. Запросы представляют собой набор выборочной информации из общей базы данных. Если структура базы данных предприятия хорошо продумано, то исполнители, работающие с базой, должны навсегда забыть о том, что в базе есть таблицы, а ещё лучше, если они об этом вообще ничего не знают. Таблицы – слишком ценные объекты базы, чтобы с ними имел дело кто-либо, кроме разработчика базы.
Если исполнителю надо получить данные из базы, он должен использовать специальные объекты – запросы. Все необходимые запросы разработчик базы должен подготовить заранее. Если запрос подготовлен, надо открыть панель Запросы в окне базы данных, выбрать его и открыть двойным щелчком на значке – откроется результирующая таблица, в которой исполнитель найдёт то, что его интересует.
В общем случае результирующая таблица может не соответствовать ни одной из базовых таблиц базы данных. Её поля могут представлять набор из полей разных таблиц, а её записи могут содержать отфильтрованные и отсортированные записи таблиц, на основе которых формировался запрос. Лишь в тех случаях, когда исполнитель не находит нужных данных в результирующей таблице, возникает необходимость готовить новый запрос – это задача разработчика базы.
Управление отображением данных в результирующей таблице.
В нижней части бланка запроса по образцу имеется строка Вывод на экран. По умолчанию предполагается, что все поля, включённые в запрос, должны выводиться на экран, но это не всегда целесообразно. Например, бывают случаи, когда некое поле необходимо включить в запрос, на пример потому, что оно является полем сортировки, но в то же время, не желательно, чтобы пользователь базы видел его содержание. В таких случаях отображения содержимого на экране подавляют сбросом флажка Вывод на экран.
Упорядочение записей в результирующей таблице.
Если необходимо, чтобы данные, отобранные в результате работы запроса по образцу, были упорядочены по какому-либо полю, применяется сортировка. В нижней части бланка имеется специальная строка Сортировка. При щелчке на этой строке открывается кнопка раскрывающегося списка, в котором можно выбрать метод сортировки: по возрастанию или по убыванию. В результирующей таблице данные будут отсортированные по тому полю, для которого задан порядок сортировки.
Возможна многоуровневая сортировка – сразу по нескольким полям. В этом случае данные сначала сортируются по тому полю, которое в бланке запроса по образцу находится левее, за тем по следующему полю, для которого включена сортировка, и так далее слева направо. Соответственно, при формировании запроса надо располагать поля результирующей таблицы не как попало, а с учётом будущей сортировки. В крайнем случае, если запрос уже сформирован, и надо изменить порядок следования столбцов, пользуются следующим приёмом:
Выделяют столбец щелчком на его заголовке (кнопку мыши отпускают).
Ещё раз щёлкают на заголовке уже выделенного столбца (но кнопку не отпускают) Перетаскивают столбец уже в другое место.
Использование условия отбора.
Дополнительным средством, обеспечивающим отбор данных по заданному критерию, является так называемое Условие отбора. Соответствующая строка имеется в нижней части бланка запроса по образцу.
Вычисляемые поля в запросах.
Допустимо использование вычисляемых полей. Для этого применяется «построитель выражений». В этой структуре используются следующие обозначения:
Sum – определяет сумму значений числового поля.
Count – определяет количество группируемых записей.
Min и Max – определяют минимальное и максимальное значение поля.
First – выбирает первое значение.
Визуальные средства создания запросов.
Определяющим моментом формированием запросов является связь между таблицами. Связи в информационных технологиях показывают, какие поля, из каких таблиц связанны и каким образом. Синонимом слова Связь является слово Отношение.
В системе управления базы данных рассматриваются три типа отношений:
• «Один-к-одному». При данном типе отношения в запросе по образцу происходит объединение только совпадающих записей.
• «Один-ко-многим». При данном типе отношения происходит объединение всех записей из одной таблицы, с совпадающими записями из другой.
• «Многие-ко-многим».
Особенности запросов
Особенность запроса состоит в том, что по запросу выбираются данные из базовых таблиц, и на их основе создаются временные результирующие таблицы.
Эти временные таблицы находятся в оперативной памяти. При запросе пользователь имеет дело с отражением требуемых полей оперативной памяти, потому что работы с запросами происходит гораздо эффективнее, так как время доступа к базе данных, хранящейся на винчестере гораздо больше времени доступа к запросам в оперативной памяти.
В запрос заносятся только требуемые поля из общей таблицы, поэтому просмотр результата в значительной мере упрощается.
Безопасность хранения данных в базе данных.
При обращении к винчестеру могут возникнуть ситуации, приводящие к разрушению структуры базы данных:
• Неопытность пользователя.
• Хакерство.
• Выключение электричества.
• Повреждение вычислительной системы.
• Повреждение программного обеспечения (вирус).
Виды запросов, применяемых в рекламной практике
1. Запрос по образцу
Этот запрос может быть разработан с помощью специального языка SQL (Structured Query Language). Однако пользователям MS Access изучать данный язык программирования необязательно, а большинство операций можно выполнить щелчками кнопок мыши и приёмом перетаскивания в бланке, так как пакет MS Access имеет визуальные средства разработки запроса по образцу.
2. Запрос с параметрами
Специальный тип запросов, называемый запросами с параметрами, позволяет пользователю самому ввести критерий отбора данных на этапе запуска запроса. Этим приёмом обеспечивается гибкость работы с базой.
3. Итоговый запрос
Запрос, выполняющий вычисление по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может, так же исполнятся иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу.
4. Перекрёстный запрос
Он позволяет создать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц.
В перекрёстном запросе отображаются результаты расчетов (таких как суммы, количество записей и среднее значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, а второй в верхней строке.
5. Запрос на изменение
Это запрос, который за одну операцию вносит изменения в несколько записей. Запрос на изменения бывают четырёх типов:
- Запрос на удаление. Удаляет группу записей из одной или нескольких таблиц.
- Запрос на обновление записей. Вносит общие изменения в группу записей одной или несколько таблиц.
- Запрос на добавление. Добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких других таблиц.
- Запрос на создание таблиц. Создаёт новую таблицу на основе всех или части данных из одной или нескольких таблиц.
6. Специфические запросы SQL
Запрос к серверу базы данных написанные на языке запросов SQL.
Язык включает в себя несколько функциональных категорий:
• Язык определения данных (или язык определения схемы) содержит команды для создания объектов (таблиц, индексов, представлений) в базе данных.
• Язык манипулирования данными, представляющим множество команд, определяющих какие данные представлены в таблице в данный момент времени.
• Язык управления данными состоит из предложений, определяющих, может ли пользователь выполнить определённое действие.
Для создания этих специфических запросов необходимо составить инструкции SQL в режиме SQL, так как визуальных средств нет.
К запросам SQL относятся запросы на объединение, запросы к серверу или управляющие запросы.