Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка БД .doc
Скачиваний:
3
Добавлен:
24.11.2019
Размер:
649.73 Кб
Скачать

Поле Продавец Объем операций Номер записи

------------------------------------------------------------------------------------

Функция Count Sum Count

На листе данных в полях Соunt_Продавец и Соunt_Номер запи­си индицируется общее число торговых операций.

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

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

Таблица Поле Поле

Адрес Фамилия Телефон

Торговля Продавец Объем операций

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

Для реализации этого запроса необходимо создать небольшую таблицу с именем Адреса с полями: Номер записи (Счетчик), Фамилия (Текстовый-15 символов), Адрес (Текстовый -10), Телефон (Текстовый -8) и ввести данные: 1. Шариков 12/15-415 23-34-56; 2.Фунт 40/02-15 58-12-56; 3. Корейко 07/01-48 51-20-52; 4. Бендер 28/06-21 32-56-86; 5. Воробьянинов 07/03-38 57-89-23.

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

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

Для установки связи между полями Номер записи таблиц Адреса и Торговля необходимо выполнить следующие действия:

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

- Активизировать команду Схема данных в меню Сервис или на­жать соответствующую кнопку на панели инструментов.

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

- Выбрать таблицу Адреса в списке, расположенном на вкладке Таблицы или Таблицы и запросы, и нажать кнопку Добавить. Затем до­бавить таблицу Торговля и нажать кнопку Закрыть. В окне Схема дан­ных появятся два небольших окна со списками полей таблиц Адреса и Торговля.

- С помощью мыши перетащить поле Номер записи из списка по­лей таблицы Адреса к соответствующему полю таблицы Торговля. Это поле является ключевым (выделено в списке жирным шрифтом) и при­надлежит к главной таблице. Таблица Торговля в данном случае яв­ляется подчиненной.

- На экране появится диалоговое окно Связи, в котором отобра­жаются имена связываемых полей обеих таблиц.

При необходимости их можно изменить.

- Активизировать опцию Обеспечение целостности данных. При этом будет установлено отношение One-To-Many (один ко многим), что отразится в области Тип отношения. Это означает, что одной за­писи главной таблицы Адреса могут быть поставлены в соответствие несколько записей подчиненной таблицы Торговля. Такое отношение является наиболее распространенным в реляционных базах данных.

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

Запрос для таблиц, между которыми установлена связь, созда­ется следующим образом:

  • Нажать кнопку Создать на вкладке Запросы окна базы данных.

  • В окне Новый запрос выбрать конструктор.

- Выполнить двойной щелчок на имени главной таблицы, Адре­са в диалоговом окне Добавление таблицы, вследствие чего она бу­дет помещена в QBE-область окна Запрос на выборку.

- Повторить эту операцию для подчиненной таблицы Торговля.

- Закрыть диалоговое окно Добавление таблицы посредством кнопки Закрыть.

- Включить в запрос поля Фамилия, Телефон, Продавец и Объем операции.

- Присвоить запросу имя Запрос Адреса_Торговля.

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

СОЗДАНИЕ ЗАПРОСА С ПОМОЩЬЮ МАСТЕРА

Рассмотрим работу мастера по созданию запросов Простой запрос, и со­ставим запрос Операции с клиентами, предоставляющий инфор­мацию о сумме продаж (поле Объем операций таблицы Торговля}, произведенных про­давцами (поле Продавец таблицы Торговля), клиентам, перечисленным в поле Фамилия таблицы Адреса.

Составить такой запрос с помощью Мастера несложно. Для этого в окне базы данных необходимо перейти на вкладку Запросы, затем щелкнуть на кнопке Создать. В диалого­вом окне Новый запрос выбрать значение Простой запрос и нажать кнопку ОК.

В первом диалоговом окне мастера выбрать в списке Таблицы/Запросы таблицу, поля которой будут анализироваться при выполнении запроса (Ад­реса). В списке Доступные поля отметить поле Фамилия и пере­нести его в список Выбранные поля. Те же действия выполнить для таблицы Торговля и полей Продавец и Объем операции. В завершение нажать кнопку. Далее.

В следующем окне мастера можно задать подробный (вывод каждого поля каждой записи) или итоговый (суммирова­ние полей запросом). Остановимся на первом варианте.

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

СОЗДАНИЕ ЗАПРОСОВ ДРУГИХ ТИПОВ

В Access существуют и запросы других типов: запросы действия, пара­метрические за­просы и перекрестные запросы.

Запрос на изменение

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

Примечание:В окне базы данных перед именем запроса на изменение Access устанавливает вос­клицательный знак (!).