Учебное пособие: Технологии баз данных в информационных экономических системах

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Сортировка по возрастанию.

Сортирует записи по соответствующему полю в алфавитном порядке.

Сортировка по убыванию.

Сортирует строки соответствующего поля в порядке, обратном алфавитному.

Сортировка в таблице по нескольким полям осуществляется с помощью фильтра.

Фильтр - это средство Microsoft Access, позволяющее производить как сортировку, так и поиск данных в таблице.

Сортировка по нескольким полям возможна как по отдельному полю, так и по всем полям сразу. Пример данной сортировки показан в таблице.

Пример сортировки таблицы по нескольким полям

Область

Город

Улица

Ленинградская

Любань

Урицкого

Ленинградская

Тосно

Ленина

Ленинградская

Тосно

Чехова

Московская

Пушкино

Комсомола

Поиск и фильтрация данных.

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

* - заменяет строку любой длины.

? - один произвольный символ.

По указанному шаблону Microsoft Access найдет все встречающиеся строки.

Для фильтрации необходимых данных могут использоваться следующие фильтры:

Фильтр по выделенному.

Данный фильтр используется следующим образом. Необходимо выделить нужную информацию, например город Санкт - Петербург. После применения фильтра будут найдены все записи, содержащие это слово. Точно также можно отобрать все записи с определенным значением поля. При этом следует отметить, что если выделить слово в начале поля, то Microsoft Access отберет записи, в которых это слово находится также в начале поля. Подобным образом будет проводиться отбор записей и при выделении последнего слова в поле. Если же выделить слово в середине поля, то отбираются все записи, в которых оно находится в любом месте текущего поля. Можно также выделить значение в группе смежных столбцов одной строки. В этом случае Microsoft Access выделит все записи, в которых значение в группе смежных столбцов совпадает с выделенными. К отобранным значениям можно применить новый фильтр.

Обычный фильтр.

Фильтр по выделенному позволяет отбирать записи, удовлетворяющие всем частным условиям отбора, т.е. если задаем поиск записей с именами “ Петр ” и фамилией “Семенов”, то будут выведены записи, содержащие оба этих слова. Если же необходимо вывести записи, содержащие хотя бы одно из этих слов, заданных при поиске, то применяется обычный фильтр, т.е. он используется, когда необходимо найти записи, удовлетворяющие только некоторым из частных условий. Таким образом, применение этого фильтра выведет все записи, в которых встречается хотя бы одно из слов “ Петр ” или “Семенов ”, таким образом, разница между фильтрами такова: (усл and усл), (усл or усл).

Расширенный фильтр.

Объединяет в себе свойства фильтра по выделенному и обычного фильтра.

2.2.10 Работа с данными при помощи запросов

Выбор данных из одной таблицы

Задание запроса.

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

Классификация запросов представлена на рис.6.

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

Классификация запросов в МА

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

Описание.

Информация о соответствующем поле.

Формат поля.

Число десятичных знаков.

Маска ввода.

Подпись.

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

Таблица истинности для оператора AND

AND

Истина

Ложь

Истина

Истина

(значение выбирается)

Ложь

(значение отвергается)

Ложь

Ложь

Ложь

Таблица истинности для оператора OR

OR

Истина

Ложь

Истина

Истина

Истина

Ложь

Истина

(значение выбирается)

Ложь

(значение отвергается)

Кроме логических операторов могут использоваться операторы сравнения<,>, <=, >=, <>, =. А также операторы BEETWEN, LIKE, IN. Запросы, которые используют операторы сравнения и логические операторы, называют запросами на условие.

Условия отбора для дат и времени (запросы на время).

Microsoft Access хранит значения дат и времени, как числа с плавающей точкой двойной точности. Значения слева от десятичной точки соответствуют дате, а дробная часть числа соответствует времени суток (час, минута, секунда). Microsoft Access предоставляет несколько функций для задания условия отбора для дат и времени.

День ( Day ).

Эта функция выдает значение дня месяца в общем случае от до1.

Пример: Day [(название поля)] >10.

Месяц ( Month ).

Выдает значение месяца года от до2.

Год (Year).

Выдает значение года в диапазоне от00 до999.

Неделя (Weekday).

Выдает значение, соответствующие дням недели в интервале от до.

Интервал (Datepart).

Используется с ключами ww и q. Выдает номер квартала при наличии (значение от до) и значение номера недели года при наличии ww (от до2).

Пример: Datepart [“q”; (название поля)].

час (Hour).

Выдает значение времени суток в диапазоне от до3.

Вычисляемые поля (запросы на вычисление).

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

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

Вычисляемое выражение может использовать следующие функции:

«+» - складываются два числовых выражения.

«-» - вычитается из первого числового выражения второе.

«*» - перемножение двух числовых выражений.

«/» - деление первого на второе.

«\» - округляет два числовых выражения до целых значений и делит первое на второе, результат также округляется до целого.

«^» - возводит первое числовое выражение в степень, задаваемую вторым числовым выражением.

«mod» - округляет оба числовых выражения до целых, делит первое на второе и выдает остаток.

«&» - создает новую текстовую строку, присоединяя вторую строку к концу первой. Если один из операндов является числом, Microsoft Access перед проведением объединения преобразует его в строку символов.

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

Итоговые и перекрестные запросы.

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

Таблица

ФИО студента

Номер группы

Стипендия

1076/1

400

1076/2

200

1076/2

300

1076/1

300

Запрос

Номер группы

Стипендия группы

1076/1

700

1076/2

500

Рис.7 Пример итогового запроса.

Итоговый запрос создается с помощью команды, называемой « Групповые операции » - .

Microsoft Access предоставляет следующие функции, обеспечивающие выполнение групповых операций:

Sum - выдает сумму всех значений в данной группе. Используется только для числовых или денежных полей.

Arg - выдает среднее арифметическое значение данного поля в каждой группе. Используется для числовых или денежных полей.

Min - выдает наименьшее значение, найденное в данном поле внутри каждой группы. Может использоваться для числовых, денежных и текстовых полей.

Max - выдает наибольшее значение в каждой группе.

Count - выдает число записей, в которых значение каждого поля отличны от “ null ”.

St Dev - выдает стандартное отклонение (корень квадратный из дисперсии) всех значений данного поля в каждой группе. Применяется только к числовым и денежным полям.

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

First - выдает первое значение данного поля в группе.

Last - последнее значение данного поля в группе.

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

Пример перекрестного запроса

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

Пример симметричного объединения.

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

Для внешнего объединения характерно два случая:

объединяются все записи из таблицы « Клубы » и только те записи из таблицы «Контракты », в которых связанные поля совпадают, т.е. в запросе выведется таблица0.

Первый случай внешнего объединения

Контракт

Клуб

Контракт

Грибоедов

Контракт

Money Honey

Контракт

La Plage

Контракт

Барометр

Контракт

Havana Club

Plaza

Объединяются все записи из таблицы « Контракты » и только те записи из таблицы «Клубы», в которых связанные поля совпадают, как в таблице1.

Второй способ внешнего объединения

Контракт

Клуб

Контракт

Грибоедов

Контракт

Money Honey

Контракт

La Plage

Контракт

Барометр

Контракт

Havana Club

Контракт

Контракт

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

2.2.11 Ограничения при использовании запросов на выборку для обновления данных

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

В вычисляемых полях, т.к. Microsoft Access не может понять в каком из вычисляемых полей производить изменения.

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