СУБД MS Access 2003 (960526), страница 17
Текст из файла (страница 17)
• - °ol ИтогиCoraila LifihackGT +39200,00р. 1^j сумма "Заводская цен. .Corolla UfibaekXL 135700,00р. I* ДкодиоделиОбщие итоги*200 100.00р. I * Д Мадеяь1 . Ш Мощность деигатепя1rSI * И ЦевтВ1'+ f^lО КоР°бкв передач* Щ Количество дверей« Д] Об(вка* (Л Другое оснащение» [Л Заводская иена* Ш Трансповтньи юдержкиv" И -.J-•Рис. 61. Сводная таблица112Проектирование баз данных. СУБД MS AccessРассмотрим создание сводной таблицы для нашего примера,Данный процесс во многом аналогичен процессу создания своднойдиаграммы. Представим в виде сводной таблицы данные таблицыПредлагаемые модели.
Для этого откроем данную таблицу, сделавдвойной щелчок на ее имени (кнопка Таблицы, окна БД). Откроемпредставление данной таблицы в виде сводной таблицы (черезкнопку панели инструментов или выбрав пункт Сводная таблицаменю Вид).На экране будут отображены формы, позволяющие нам проектировать сводные таблицы (рис. 61). Их две - Предлагаемые модели - таблица и Список полей сводной таблицы. В первой будет отображаться вид проектируемой сводной таблицы, со списком полей, необходимых ее для построения. Во второй формебудет отображен список всех полей таблицы.
Перетаскивая необходимые поля на пустые места в первую форму, мы получаем требуемую нам таблицу.Как и в предыдущем примере, построим сводную таблицу заводских цен на соответствующие модели «Toyota».Для этого перетащим на место Поля итогов или деталей полеЗаводская цена, причем, как и в предыдущем примере, его заголовок измениться на Сумма «Заводская цена», а на место Полястрок - поле Модель. Построенная сводная таблица будет иметьвид, показанный на рис. 61. Как уже говорилось, после созданиясводной таблицы сводная диаграмма будет создана автоматически.Вы можете открыть ее и убедиться, что она имеет такой же вид,как и на рис. 60.При попытке закрыть форму, отображающую содержимое нашей таблицы в том или ином виде, если сводная таблица илисводная диаграмма были изменены, будет выдано подтверждениена сохранение вида таблицы, ответьте на него Да для сохраненияпостроенной сводной таблицы и диаграммы.3.
Проектирование запроса на выборкуПоявление в продаже модели «Corolla Kombi» антрацитовогоцвета очень оживило торговлю. Предположим, что для анализаи учета планируется установить величину выручки от продажиэтих моделей по Москве. Для того, чтобы узнать, какие клиентыиз Москвы к настоящему времени заказали «Corolla Kombi» ан-113Тема 4. Запросы - в центре внимания рынок сбытатрацитового цвета, неооходимо сконструировать запрос по двумтаблицам - Предлагаемые модели и Клиенты.В окне БД выполните щелчок на кнопке Запросы или выберитеиз меню Вид команду Объекты базы данных, а в открывшемсяподменю - опцию Запросы. Затем щелкните на кнопке Создать,и Access откроет диалоговое окно Создание запроса, в которомбудет предложено несколько способов создания запроса. Выберитестроку Конструктор, при активизации которой построение запроса происходит без помощи мастера по созданию запроса, и нажмите кнопку ОК.После этого на экране появится пустое окно проектированиязапроса и отобразится диалоговое окно задания базовой таблицызапроса Добавление таблицы (рис.
62).Добавление таблицыТаблицы | Запросы | Таблицы и запросыЗакрытьПредлагаемые моделиРис. 62. Окно выбора и добавления базовых таблиц источника запросаВ этом диалоговом окне, состоящем из трех разделов (Таблицы,, Запросы, Таблицы и запросы), приведены все имеющиесяв распоряжении пользователя таблицы и запросы. Перейдитев раздел Таблицы и маркируйте таблицу Предлагаемые модели,после чего выполните щелчок на кнопке Добавить.Так как в запросе следует использовать и вторую таблицу,Клиенты, необходимо маркировать ее и снова выполнить щелчокна кнопке Добавить. Затем следует закрыть диалоговое окно, выполнив щелчок на кнопке Закрыть. Имена таблиц появятся в окнепроектирования запроса. Добавить таблицу можно также двойнымщелчком мыши по имени таблицы в списке.Проектирование баз данных.
СУБД MS Access114Примечание. Выбрать поле можно и непосредственно в строкеПоле QBE-области проектирования, выполнив щелчок на стрелкеоткрытия списка.3.1. Окно запросаОкно запроса (рис. 63) разделено на две части. В верхней половине находятся таблицы, добавленные на предыдущем шаге, которые представлены в виде списков полей. Каждый список полейснабжен заголовком, содержащим имя таблицы.н? Запрос2 : запрос на выборкуПоле:Инн таблшы:Сортировка:Вьвод на экран;/слови* отбор*:. .1Рис. 63. Окно проектирования запросаТак как в рассматриваемом примере была задана определеннаясвязь между двумя таблицами, то списки в верхней части окна связаны друг с другом соединительной линией. Необходимо отметить, что связь между таблицами можно установить непосредственно в этом окне. Кроме того, на схеме виден характер связи,один ко многим, что индицируется символами «1» и «бесконечность».
Родительской таблицей в данном случае является таблицаПредлагаемые модели (так как связь с ее стороны помечена символом «1»).В нижней части окна содержится спецификация запроса. Этаобласть называется QBE-областью проектирования (Query byExample - запрос по образцу). При этом конструирование запросавыполняется путем перетаскивания полей с помощью мышииз верхней части окна в нижнюю. Каждая колонка QBE-областипроектирования содержит информацию о поле в запросе.Тема 4.
Запросы - в центре внимания рынок сбыта1153.2. Проектирование запросаНачнем с проектирования запланированного запроса «Какиеклиенты из Москвы заказали в текущем году «Corolla Kombi» антрацитового цвета?». Процедура проектирования запроса включает в себя следующие этапы:1. Выбор полей. В запрос не следует включать все поля обеихтаблиц. Нас в данном случае интересуют коды моделей«Kombi», фамилии клиентов, их адреса, а также даты заказов,На экране должны быть отображены именно эти поля.2. Установку условий отбора записей. В запросе определяютсяусловия, которым должны удовлетворять отбираемые записи.В данном случае условиями отбора являются:Населенный пункт = Москва;Код модели = 12410;Дата заказа > 01.01.1999.3.Упорядочение выходных записей (сортировку).
Пользовательможет установить формирование записей в определенной последовательности, например по фамилиям в алфавитном порядке.3.3. Включение полей в запросСначала выберите поля, которые необходимо поместить в запрос. Первым в строку Лоле первой колонки QBE-области проектирования перетащите поде Код модели из списка полей таблицыПредлагаемые модели. Данное поле - единственное включаемоев запрос из таблицы моделей; все остальные поля необходимовзять из таблицы Клиенты:•Имя, отчество,•Фамилия,•Почтовый адрес,•Почтовый индекс,•Населенный пункт,•Дата заказа.Последовательно маркируйте перечисленные поля в спискеполей таблицы Клиенты, удерживая клавишу [Ctrl] нажатой и вы-116Проектирование баз данных. СУБД MS Accessполняя щелчки на полях в указанной последовательности.
Затемодновременно перетащите все маркированные поля в QBE-областьпроектирования. В строке Поле второй колонки отпустите кнопкумыши, и поля будут помещены в следующие друг за другом колонки. Окно проектирования после этого должно выглядеть так,как показано на рис. 64.га-нв1Z21Рис. 64. Результат включения полей в спецификацию запросаЕсли в запрос необходимо поместить все поля из таблицы,следует выполнить двойной щелчок на строке заголовка того илииного списка полей. Access маркирует все поля, и их можно будетперетащить в область спецификации или сделать двойной щелчокмышью по полю, обозначенному звездочкой (*).Примечание. Если в основу запроса положено несколько таблиц, то для большей наглядности можно запустить индикациюсоответствующих имен таблиц в QBE-области, чтобы знать,из какой таблицы взято поле.
Для этого в меню Вид следуетустановить опцию Имена таблиц. Access добавит в спецификацию строку Таблица. Теперь при перетаскивании поля в областьпроектирования соответствующее имя таблицы также автомати-Тема 4. Запросы - в центре внимания рынок сбыта117чески переместится и отобразится на экране. В запросе можноустановить показ имен таблиц по умолчанию, выбрав опциюВывод имен таблиц в разделе Таблицы/Запросы диалоговогоокна настройки Параметры, вызываемого из меню Сервискомандой Параметры.Поле признака индикации Вывод на экран автоматически активизируется для всех полей в QBE-области проектирования. Еслиполе должно анализироваться запросом, но в его индикации нетнеобходимости, то следует отключить опцию Вывод на экран. Длянашего примера нет необходимости в индикации поля кода модели, так как точно известно, что будет запрошена только модель«Corolla Kombi».
Избыток информации в запросе только затрудняет восприятие действительно ценных сведений.3.4. Установка критериев отбора записейЗапрос должен выбрать из базы только информацию о клиентах из Москвы, заказавших в этом году модель «Kombi». Поэтомукритерии отбора должны устанавливаться по полям Населенныйпункт, Код модели и Дата заказа. Ввод каждого критерия следуетзавершать нажатием клавиши [Enter].Сначала следует ввести критерий отбора для поля Код модели.Начнется поиск всех «Kombi» антрацитового цвета.
Критерий будет выглядеть таким образом: 12410.Затем следует выполнить щелчок в строке Условие отборастолбца Населенный пункт и ввести слово Москва. Access автоматически заключит это значение в кавычки.И наконец, вводится критерий для поля Дата заказа. Мыдолжны учесть только те заказы, которые поступили после 1 января 1999 года. Следовательно, критерий будет таким: >1.1.99.Access автоматически преобразует дату в формат, выбранныйв режиме проектирования таблицы (Short Date: 01.01.1999), и вставит перед ней и после нее знак # {ограничитель константы типаДата/Время).3.5.
Упорядочение записей в запросеНаконец, необходимо указать, что имена клиентов должныотображаться в алфавитном порядке по фамилиям. Для этого в поле Фамилия выполните щелчок на кнопке открытия списка строкиСортировка и из развернувшегося списка выберите порядок сор-L18Проектирование баз данных. СУБД MS Accessтировки По возрастанию. Таким образом, записи результата запроса будут упорядочены по фамилии клиентов от А до Я (в случае сортировки в убывающем порядке сортировка выполнялась быот Я до А).Итак, запрос сконструирован. На рис. 65 показана готовая спецификация запроса.Рис. 65.