Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив3 / ZADANIE_K_KURSAChU_IT / ЗАДАНИЕ / Работа с СУБД.doc
Скачиваний:
10
Добавлен:
07.08.2013
Размер:
786.43 Кб
Скачать

2.2 Многотабличные запросы

Создание многотабличных запросов

- В окне БД выберите тип объекта Запросы и нажмите кнопку Создать. Появится ОД Новый запрос.

- Выберите опцию Конструктор и нажмите кнопку ОК. Появится окно конструирования запроса и ОД Добавление таблицы.

- Добавьте в запрос все три таблицы: Поставщики, Детали и Поставки и закройте ОД Добавление таблицы.

- Включите в бланк запроса строку Имя таблицы (если ее нет), для чего в меню Вид выберите Имена таблиц.

- Перенесите в строку Поле бланка запроса из списка полей таблиц следующие поля в указанном порядке: Название из таблицы Детали; Фамилия, Имя, Отчество из таблицы Поставщики.

- Выберите опцию По возрастанию в строке Сортировка для полей Название и Фамилия.

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

- Выберите 1-й вид объединения (стандартное внутреннее) и выполните запрос.

Для каждой поставляемой детали сформирован список ее поставщиков.

- Вернувшись в окно конструирования, для связи “Детали – Поставки” выберите 2-й вид объединения, а для связи “Поставки – Поставщики” - 3-й вид объединения (см. рис. 2_2) и выполните запрос.

Полученные результаты запроса содержат названия всех деталей, даже если они сейчас не поставляются.

- Сохраните запрос под именем Детали_и_Поставщики (6-й запрос), но НЕ ЗАКРЫВАЙТЕ его. Вернитесь в окно конструирования.

Создание параметрического запроса

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

- В ячейку Условие отбора для поля Название введите текст: [Введите название детали].

- Инициируйте выполнение запроса. Появится ОД Введите значение параметра с набранным ранее сообщением.

- Введите название желаемой детали и нажмите ОК.

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

- Вернитесь в окно конструирования и модифицируйте запрос. Измените текст в ячейке Условие отбора на следующий: like [Введите начало названия детали]&* .

- Инициируйте выполнение запооса

- В появившееся ОД Введите значение параметра введите одну или несколько начальных букв названия детали и нажмите ОК.

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

- Сохраните запрос под именем Поставщики_задаваемой_детали (7-й запрос) и закройте его.

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

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

Создание запроса с вычисляемым полем

- В окне БД начните создание нового запроса. Включите в него все три основные таблицы: Поставщики, Детали, Поставки.

- В строку Поле бланка запроса перенесите следующие поля в указанном порядке: Название (Детали), Вес (Детали), Количество(Поставки), Фамилия (Поставщики), Город (Поставщики), ГородСклада (Детали).

- В следующую пустую ячейку строки Поле введите текст:

ОбщийВес_в_кг : [Вес]*[Количество]/1000

Здесь ОбщийВес_в_кг есть имя нового вычисляемого поля. а текст после “:” задает выражение для его вычисления.

- Выполните запрос, проанализируйте результаты и сохраните запрос под именем Полный (см. рис. 2_3) – 8-й запрос.

Запрос, вычисляющий итоги по всей таблице

Определить общее количество поставок по всем деталям и суммарный вес всех деталей.

- В режиме конструктора удалите из запроса Полный все поля, кроме Название и ОбщийВес_в_кг, выделив все поле и нажав <Del>.

- В меню Вид выберите Групповые операции.

- В ячейке Групповая операция для поля Название выберите Count, а для поля ОбщийВес_в_кг выберите Sum.

- Выполните запрос, сохраните его под именем Итог_по_таблице (9-й запрос) и закройте.

Запросы, выполняющие группировку по одному полю

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

- Откройте запрос Полный в режиме конструктора.

- В меню Вид выберите Групповые операции.

- Оставьте в строке Поле только поля: Название, Количество, ОбщийВес_в_кг.

- В ячейке Групповая операция для поля Название выберите Группировка, для полей Количество и ОбщийВес_в_кг выберите Sum. Назначьте сортировку по возрастанию по полю Название.

- Выполните запрос, сохраните его под именем Детали_группировка (10-й запрос).

- Вернитесь в режим конструктора и замените поле Название полем Фамилия, заменив также имя таблицы на Поставщики.

- Выполните запрос, сохраните его под именем Фамилия_группировка (11-й запрос) и вернитесь в режим конструктора (см. рис.3_1).

Соседние файлы в папке ЗАДАНИЕ