Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

MU_po_BD_dlya_zaochnikov

.pdf
Скачиваний:
11
Добавлен:
15.03.2016
Размер:
359.34 Кб
Скачать

Реализация связей между таблицами рабочей базы данных представлена на рисунке 1.

один-к-одному многие-ко-многим один-ко-многим

Рисунок 1 – Схема данных с установленными связями для БД «Метрологическое обеспечение»

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

2.2.2 Создание запросов

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

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

11

Рисунок 2 – Диалоговое окно выбора способа создания запроса

Для создания запросов СУБД Access предлагает несколько вариантов (см. рисунок 2). При этом в режиме Конструктор запрос создается полностью самим пользователем на основе специальной таблицы QBE (Query by Example – запрос по образцу, англ., см. рисунок 5), а другие способы используют соответствующих Мастеров, где запрос создается полностью путем выбора предлагаемого готового варианта и по наводящим подсказкам.

2.2.2.1 Запрос на выборку данных

Для создания простого запроса на выборку данных, т.е. выбора только для просмотра необходимых полей таблицы или полей из совокупности связанных таблиц без обработки выбранной информации, следует в начальном окне БД выбрать режим Запросы, нажав мышью на корешок соответствующей вкладки. Затем выполнить последовательно команды Создать/Простой запрос (см. рисунок 2). После этого включается Мастер, формирующий запрос в автоматическом режиме в ходе диалога. В результате сначала на экране появляется диалоговое окно с двумя подокнами: Таблицы/запросы и Выбранные поля (см. рисунок 3).

Выбрав в окне Таблицы/запросы нужную таблицу, можно отобрать в ней для просмотра нужные поля, нажав после выбора мышью соответствующего поля таблицы в окне Доступные поля кнопку правее окна «>», либо сразу все поля таблицы, нажав кнопку «>>». Если же необходимо отобрать для просмотра поля сразу из нескольких связанных между собой таблиц, то после выбора полей из первой таблицы переходят в окне Таблицы/запросы к другой таблице и аналогичным образом добавляют нужные для просмотра поля.

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

12

Рисунок 3 – Диалоговое окно создания Простого запроса на выборку

Создайте с помощью Мастера Простой запрос на основе таблицы «Средства автоматизации» с выбором всех полей для просмотра. Сохраните запрос под именем «Средства автоматизации».

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

2.2.2.2 Создание запроса в режиме Конструктор

Для создания запроса в режиме Конструктор после выбора таблиц для запроса в окне Добавление таблицы щелчком мыши по кнопке Добавить (см. рисунок 4) на экране появляется диалоговое окно Запрос на выборку, состоящее из двух частей (см. рисунок 5): верхней, где представлены таблицы, на основе которых строится запрос, и нижней, где выбираются поля из таблиц и где непосредственно формируется запрос.

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

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

13

Рисунок 4 – Окно выбора таблиц из БД для запроса

Рисунок 5 – Окно организации запроса в режиме Конструктор

На рисунке 5 представлен бланк запроса по образцу QBE, содержащий строки:

1)Поле – для запрашиваемых полей;

2)Имя таблицы – для вывода имени таблицы, из которой выбирается поле;

3)Сортировка – для проведения сортировки по этим полям;

4)Вывод на экран – для вывода или нет выбранных запросом полей на

экран;

5)Условие отбора – для ввода условий на выбор записей в соответствии с заданными условиями, причем условия по отдельным полям в этой строке соединяются операцией «и» (все условие верно только, если все составляющие

14

его условия верны); 6) Или – для ввода условий, которые соединяются с условием в

вышерасположенной строке Условие отбора по принципу «или» (все условие верно, если хотя бы одно из составляющих его условий верно).

Рисунок 6 – Бланк запроса на выборку с условием

Составить список договоров, составленных с поверяющими организациями после 1 мая 2011 года. Для подготовки такого запроса с условием для выборки записей необходимо выбрать в главном окне БД объект Запросы и выполнить затем последовательно команды Создать/Конструктор. В окно Запрос на выборку добавить таблицу «Договора поверки», перенести мышью из списка полей выбранной таблицы в область спецификации запроса поля таблицы «Договор», «Наименование» и «Дата» в нужной последовательности.

В поле запроса «Договор» необходимо задать режим сортировки. В поле запроса «Дата» в строке Условие отбора задать отбор по критерию (см. рисунок

6).

>1.05.2011

Выполнение запроса производится щелчком мыши по кнопке Запуск на панели пиктографического меню. Необходимо сохранить запрос под именем «Договора после 1 мая 2011». Сохраненным запросом можно воспользоваться в любой момент и после внесения изменений и дополнений в исходную таблицу.

15

Рисунок 7 – Окно Построитель выражений

Далее необходимо выполнить более сложный запрос на получение сведений о договорах, заключенных с организациями за определенный промежуток времени, например с 15.05.2010 по 23.05.2012, на базе таблицы «Договора поверки». Включить в запрос поля «Дата», «Наименование», «Организация». Для поля «Дата» выбрать режим сортировки По возрастанию и условие отбора:

BETWEEN 15.05.2010 AND 23.05.2012

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

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

2.2.2.3 Запрос с параметром

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

Необходимо построить запрос с параметром для получения сведений об отдельных поверяющих организациях. Запрос строится на базе таблицы «Поверяющая организация». Задаются поля запроса: «Организация», «Адрес», «Телефон», «Стоимость поверки». Для формирования в QBE-бланке запроса в строке Условие отбора для поля «Организация» ввести параметр – любую

16

подходящую по смыслу подсказку для ввода требуемого значения поля «Организация», заключенную в квадратные скобки, например [Сотрудник] (см. рисунок 8).

Рисунок 8 – Окно Конструктора для создания запроса с параметром

При выполнении такого запроса на экране прежде всего появится диалоговое окно Введите значение параметра (см. рисунок 9). Ввести значение параметра Сотрудник - одно из значений поля «Сотрудник» из таблицы «Сотрудники» (без квадратных скобок).

Рисунок 9 – Диалоговое окно ввода значения параметра запроса

Сохранить запрос под именем «Сотрудники организации».

2.2.2.4 Итоговые запросы

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

17

Рисунок 10 – Окно Конструктора для создания итогового запроса

Необходимо создать итоговый запрос для подсчета количества средств автоматизации, требующих поверки по договорам, заключенным сотрудниками, работающими в поверочных организациях. Запрос строится на базе таблицы «Договора поверки». Поля запроса: «Сотрудник», «Количество». После определения полей запроса нужно выполнить команду Итоги. В результате в QBE-области запроса появится дополнительная строка Групповая операция. В этой строке для поля «Сотрудник» выбрать функцию Группировка (эта функция отображается в строке по умолчанию). Для поля «Количество» выбрать функцию SUM, используя раскрывающийся список. Добавить для поля «Количество» режим сортировки По убыванию (см. рисунок 10).

В результате выполнения запроса будут сгруппированы записи с одинаковыми фамилиями сотрудников и просуммировано соответствующее количество средств измерения, на которые были заключены договора этими сотрудниками. Сохранить запрос под именем «Договора сотрудников».

4.5. Запросы с вычисляемым полем

Для формирования запроса используются таблицы «Договора поверки» и «Поверяющие организации». Для запроса выбрать поля: «Сотрудник», «Наименование», «Суммарное количество: Количество», «По стоимости поверки: Стоимость». В следующем свободном поле QBE-бланка запроса ввести выражение для вычисления:

Стоимость:SUM([Количество] *[Стоимость])

Перед выражением вводится имя создаваемого в процессе запроса вычисляемого поля «Стоимость» с двоеточием. Это имя появится в результате

18

запроса в итоговой таблице в качестве заголовка поля.

Рисунок 11 – Окно Конструктора для создания итогового запроса

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

для поля «Сотрудник» функцию Группировка,

для поля «Наименование» функцию Группировка,

для поля «Количество» функцию SUM,

для поля «Стоимость» функцию AVG, которая рассчитает среднее значение стоимости поверки данного средства измерения,

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

Выполнить сформированный запрос. Сохранить созданный запрос под именем «Стоимость поверки».

2.2.2.6 Перекрестные запросы

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

Поэтому в QBE-бланке перекрестного запроса всегда имеются 3 поля: одно

19

из них используется для названия строк, второе – для названия столбцов и третье

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

Рисунок 12 – Окно создания перекрестного запроса

Рисунок 13 – Результат выполнения перекрестного запроса

В таблице «Средства автоматизации» необходимо разгруппировать средства автоматизации по дате поступления и количеству. Для организации такого запроса необходимо выбрать в QBE-область поля: «Наименование», «Дата поступления», «Количество» и выполнить команду Запрос/Перекрестный, которая добавится в QBE-бланк строки Групповая операция и Перекрестная таблица (см. рисунок 12). Затем в строке QBE-бланка Групповая операция для полей «Наименование» и «Дата поступления» задать функцию Группировка, а для поля «Количество» – функцию SUM. В строке Перекрестная таблица задать для поля «Наименовани» функцию Заголовки строк, для поля «Дата поступления» – функцию Заголовки столбцов и для поля «Количество» – функцию Значение. В результате выполнения данного запроса должна появиться таблица вида, представленного на рисунке 13.

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]