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

Базы Данных

.pdf
Скачиваний:
162
Добавлен:
04.06.2015
Размер:
5.09 Mб
Скачать

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

ВАРИАНТ 2. БАЗА ДАННЫХ «АБОНЕНТЫ ТЕЛЕФОННОЙ КОМПАНИИ»

Запросы

Содержательное описание

 

 

Запрос 1 Из таблицы Оплата выбрать номера телефонов, по которым была произведена оплата с 1 до 15 числа текущего месяца. В запрос включить поля: Но-

мерТелефона, ДатаОплаты, СуммаОплаты. Данные упорядочить по полям: НомерТелефона, ДатаОплаты

Запрос 2 Из таблицы Абоненты выбрать всех лиц, проживающих по заданному ад-

ресу. В запрос включить поля: РегистрационныйНомерАбонента, Фамилия, Имя, Отчество, Квартира. Данные упорядочить по полю Квартира.

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

Запрос 3 Из запроса 2 удалить поля: РегистрационныйНомерАбонента, Квартира

Запрос 4 Перекрестный запрос по данным таблицы Оплата. В качестве столбцов взять значения квартала поля ДатаОплаты, в качестве строк – значения поля НомерТелефона. На пересечении строк и столбцов отобразить соответствующие итоговые суммы оплаты, т.е. значения функции Sum от поля СуммаОплаты. Условие отбора: номера телефонов, начинающиеся на 211

Запрос 5 Используя таблицы Абоненты и Телефоны, вывести список всех улиц с указанием количества телефонов, установленных в домах на соответствующих улицах. В запрос включить поля: Улица, Дом, ЧислоТелефонов. Вычисляемое поле: ЧислоТелефонов

Запрос 6 Подсчитать и вывести для каждого номера телефона объем недоплаты или переплаты с начала текущего года. Необходимо исходить из нулевого баланса на начало текущего года, т.е. считать, что значения недоплаты и переплаты были нулевыми для каждого абонента телефонной компании. В

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

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

100

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

ВАРИАНТ 3. БАЗА ДАННЫХ «СТАТИСТИКА МЕДИЦИНСКОГО УЧРЕЖДЕНИЯ»

Запросы

Содержательное описание

 

 

Запрос 1 Из таблицы Пациенты выбрать медицинские карты детей, которые поступили на лечение за последние десять дней. В запрос включить поля: Но-

мерКарты, Фамилия, Имя, Отчество, КодДиагноза, КодОтделения. Данные упорядочить по полям: КодОтделения, КодДиагноза, НомерКарты

Запрос 2 Из таблицы Пациенты выбрать всех пациентов заданной категории. В за-

прос включить поля: НомерКарты, Фамилия, Имя, Отчество, КодДиагноза, КодОтделения, ДатаПоступления. Данные упорядочить по полям: КодОтделения, КодДиагноза, НомерКарты. Параметр запроса: категория пациента

Запрос 3 Из запроса 2 удалить поля: НомерКарты, ДатаПоступления

Запрос 4 Перекрестный запрос по данным таблицы Пациенты. В качестве столбцов взять значения поля КатегорияПациента, в качестве строк – значения поля КодДиагноза. На пересечении строк и столбцов отобразить значения функции Count от поля НомерКарты. Условие отбора: дата поступления, касается текущего месяца

Запрос 5 Используя таблицы Пациенты и Отделения, определить число пациентов каждого отделения. В запрос включить поля: КодОтделения, НазваниеОт-

деления, ЧислоПациентов. Вычисляемое поле: ЧислоПациентов

Запрос 6 Найти всех пациентов, которые подлежат выписке в ближайшие три дня. В

запрос включить поля: НомерКарты, Фамилия, Имя, Отчество, КодДиагноза, НазваниеОтделения, ДатаПоступления, ДатаПредполагаемойВыпи-

ски. Здесь вычисляемое поле: ДатаПредполагаемойВыписки. Значения этого поля определяются по формуле:

ДатаПредполагаемойВыписки = ДатаПоступления + НормативноеЧислоДнейДляЛеченияВСтационаре

Запрос 7 В архивную таблицу поместить все данные запроса 6, относящиеся к заданному отделению

101

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

ВАРИАНТ 4. БАЗА ДАННЫХ «ЗАРАБОТНАЯ ПЛАТА СОТРУДНИКОВ»

Запросы

 

Содержательное описание

 

 

Запрос 1

В таблице Персонал найти всех сотрудников мужского пола из отделов 2,

 

5, 7, 9 с фамилиями, оканчивающимися на «ов». В запрос включить поля:

 

ТабельныйНомерСотрудника, Фамилия, Имя, Отчество, КодДолжности,

 

НомерОтдела. Данные упорядочить по полям: НомерОтдела, КодДолж-

 

ности, ТабельныйНомерСотрудника

 

 

Запрос 2

Из таблицы Персонал выбрать сотрудников, работающих в заданном отде-

 

ле. В запрос включить поля: ТабельныйНомерСотрудника, Фамилия, Имя,

 

Отчество, КодДолжности. Данные упорядочить по полям: КодДолжно-

 

сти, ТабельныйНомерСотрудника. Параметр запроса: номер отдела

 

 

Запрос 3

Из запроса 2 удалить поле ТабельныйНомерСотрудника

 

 

Запрос 4

Перекрестный запрос по данным таблицы Персонал. В качестве столбцов

 

взять значения поля Пол, в качестве строк – значения поля КодДолжности.

 

На пересечении строк и столбцов отобразить значения функции Count от

 

поля ТабельныйНомерСотрудника. Условие отбора: заданный номер отде-

 

ла

 

 

 

Запрос 5

Используя таблицы Должности и Персонал, сформировать список долж-

 

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

 

запрос включить поля: КодДолжности, Должность, ЧислоСотрудников.

 

Вычисляемое поле: ЧислоСотрудников

 

 

Запрос 6

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

 

мужского и женского пола отдельно. В запрос включить поля: НомерОт-

 

дела, ЧислоСотрудниковМужскогоПола, ЧислоСотрудниковЖенскогоПо-

 

ла, СреднийОкладСотрудниковМужскогоПола, СреднийОкладСотрудни-

 

ковЖенскогоПола,

МаксимальныйОкладСотрудниковМужскогоПола,

 

МаксимальныйОкладСотрудниковЖенскогоПола

 

 

Запрос 7

В архивную таблицу поместить все данные запроса 6

 

 

 

102

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

ВАРИАНТ 5. БАЗА ДАННЫХ «УЧЕТ ПРИХОДА ТОВАРА»

Запросы

Содержательное описание

 

 

Запрос 1 Из таблицы Товары выбрать товары, цена которых находится в диапазоне от 500 до 10000 рублей и единицей измерения которых является шт. (шту-

ка). В запрос включить поля: Штрих-код, НаименованиеТовара, НомерТоварнойГруппы, ЦенаТовараЗаЕдиницуИзмерения. Данные упорядочить по полям: НомерТоварнойГруппы, Штрих-код

Запрос 2 В таблице Товары найти все товары указанной товарной группы и заданного диапазона цен. Для каждого из них вывести значения полей: Штрих-

код, НаименованиеТовара, ЦенаТовараЗаЕдиницуИзмерения. Данные упорядочить по полям: Штрих-код, ЦенаТовараЗаЕдиницуИзмерения. Пара-

метры запроса: номер товарной группы, диапазон цен

Запрос 3 Из запроса 2 удалить поля: Штрих-код, ЦенаТовараЗаЕдиницуИзмерения

Запрос 4 Перекрестный запрос по данным таблицы Приход. В качестве столбцов взять значения поля Поставщик, в качестве строк – значения поля Штрихкод. На пересечении строк и столбцов отобразить соответствующие суммарные количества поступившего товара, т.е. значение функции Sum от поля Количество. Условие отбора: дата поставки относится к текущему году

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

прос включить поля: Поставщик, СуммарнаяСтоимостьПоставки. Вычисляемое поле: СуммарнаяСтоимостьПоставки

Запрос 6 Сформировать таблицу прихода за текущий месяц, в которую включить следующие поля: НомерТоварнойГруппы, НазваниеГруппы, ДатаПрихода, Штрих-код, НаименованиеТовара, ЦенаТовараЗаЕдиницуИзмерения, Количество, СуммаОплаты. Вычисляемое поле: СуммаОплаты. Оно рассчи-

тывается по формуле:

СуммаОплаты = ЦенаТовараЗаЕдиницуИзмерения Количество

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

103

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

ВАРИАНТ 6. БАЗА ДАННЫХ «РАСПИСАНИЕ ДВИЖЕНИЯ ПРИГОРОДНЫХ ПОЕЗДОВ»

Запросы

Содержательное описание

 

 

Запрос 1 В таблице ПунктыНазначения найти все станции, названия которых начинаются на «Мо», и время следования до которых превышает четыре часа. В

запрос включить поля: КодПунктаНазначения, НазваниеПунктаНазначения, ВремяСледования. Данные упорядочить по полям: КодПунктаНазначения, ВремяСледования

Запрос 2 В таблице Расписание найти номера поездов, убывающих из Красноярска и следующих до заданного пункта назначения. В запрос вывести поля: Но-

мерПоезда, Дата/ВремяПрибытия(Убытия)ВКрасноярск. Данные упоря-

дочить по полю НомерПоезда. Параметр запроса: код пункта назначения

Запрос 3 Из запроса 2 удалить поле Дата/ВремяПрибытия(Убытия)ВКрасноярск

Запрос 4 Перекрестный запрос по данным таблицы Поезда. В качестве столбцов взять значения поля ТипПоезда, в качестве строк – значения поля НомерПоезда. На пересечении строк и столбцов отобразить соответствующие значения поля НормативноеЧислоПосадочныхМест. Условие отбора: нор-

мативное число посадочных мест более 150

Запрос 5 Используя таблицы Поезда и Расписание, найти все поезда за предшествующие сутки. В запрос включить поля: НомерПоезда, Наполняемость. Вычисляемое поле: Наполняемость. Подсчитывается по формуле:

Наполняемость = (ЧислоЗанятыхМест / НормативноеЧислоПосадочных-

Мест) 100%

Запрос 6 Определить для каждого пункта назначения среднее значение наполняемости экспрессов и обычных поездов. В запрос включить следующие поля:

КодПунктаНазначения, НазваниеПунктаНазначения, СредняяНаполняемостьЭкспрессов, СредняяНаполняемостьОбычныхПоездов. Вычисляемые поля: СредняяНаполняемостьЭкспрессов, СредняяНаполняемостьОбычныхПоездов

Запрос 7 В архивную таблицу поместить все данные запроса 6

104

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

ВАРИАНТ 7. БАЗА ДАННЫХ «КАДРЫ»

Запросы

Содержательное описание

 

 

Запрос 1 Из таблицы ОтделыПредприятия выбрать все записи, в которых поле ФамилияРуководителя не является пустым и длина названия отдела превышает 15 символов. В запрос включить поля: НомерОтдела, НазваниеОтдела,

ФамилияРуководителя. Данные упорядочить по полю НомерОтдела

Запрос 2 В таблице ПоступленияПереводы найти всех сотрудников, поступивших или переведенных в заданный отдел 1 апреля (независимо от года). В за-

прос включить поля: ТабельныйНомерСотрудника, ДатаПоступления(Перевода), Оклад. Данные упорядочить по полю ДатаПоступле-

ния(Перевода). Параметр запроса: номер отдела

Запрос 3 Из запроса 2 удалить поля: ТабельныйНомерСотрудника, ДатаПоступления(Перевода)

Запрос 4 Перекрестный запрос по данным таблицы ПоступленияПереводы. В качестве столбцов взять значения поля НомерОтдела, в качестве строк – значения поля ДатаПоступления(Перевода). На пересечении строк и столбцов отобразить значения функции Count от поля ТабельныйНомерСотрудника. Условие отбора: текущий месяц

Запрос 5 Используя таблицы ПоступленияПереводы и Сотрудники, для каждого отдела сформировать список молодых специалистов, т.е. тех, кто моложе 30

лет. В запрос включить поля: НомерОтдела, ТабельныйНомерСотрудника, ПолноеИмя, Возраст, Оклад. Вычисляемые поля: Возраст (число пол-

ных лет на текущую дату), ПолноеИмя (конкатенация полей Фамилия, Имя,

Отчество)

Запрос 6 Для каждого отдела найти средний оклад сотрудников мужского и женского пола отдельно. В запрос включить следующие поля: НомерОтдела,

СреднийОкладМужчин, СреднийОкладЖенщин. Вычисляемые поля: СреднийОкладМужчин, СреднийОкладЖенщин

Запрос 7 В архивную таблицу поместить все данные запроса 6, соответствующие предшествующему году

105

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

ВАРИАНТ 8. БАЗА ДАННЫХ «УЧЕБНОЕ РАСПИСАНИЕ»

Запросы

Содержательное описание

 

 

Запрос 1

Из таблицы Преподаватели выбрать преподавателей, фамилии которых

 

начинаются с букв «А-Д». В запрос включить поля: ТабельныйНомерПре-

 

подавателя, Фамилия, Имя, Отчество, НазваниеКафедры. Данные упоря-

 

дочить по полям: НазваниеКафедры, ТабельныйНомерПреподавателя

 

 

Запрос 2

Используя таблицу РасписаниеЗанятий, сформировать на указанный день

 

недели список дисциплин, по которым ведет занятия заданный преподава-

 

тель. В запрос включить поля: Лента, Аудитория, КодДисциплины. Данные

 

упорядочить по полю Лента. Параметры запроса: день недели, табельный

 

номер преподавателя

 

 

Запрос 3

Из запроса 2 удалить поля: Лента, Аудитория

 

 

Запрос 4

Перекрестный запрос по данным таблицы Преподаватели. В качестве

 

столбцов взять значения поля НазваниеКафедры, в качестве строк – значе-

 

ния поля Фамилия. На пересечении строк и столбцов отобразить значения

 

функции Count от поля ТабельныйНомерПреподавателя. Условие отбора:

 

фамилия преподавателя заканчивается на «ов»

 

 

Запрос 5

Используя таблицы Преподаватели, РасписаниеЗанятий, подсчитать для

 

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

 

академических часов. Считать, что одна лента составляет два академиче-

 

ских часа. В запрос включить следующие поля: Фамилия, Имя, Отчество,

 

ДеньНедели, ДневнаяФактическаяНагрузка. Вычисляемое поле: Дневная-

 

ФактическаяНагрузка

 

 

Запрос 6

Для каждой кафедры подсчитать плановую нагрузку (плановое количество

 

часов занятий по всем дисциплинам) и фактическую нагрузку (в часах),

 

выполняемую преподавателями кафедры согласно расписанию занятий на

 

протяжении 17 недель. В запрос включить следующие поля: НазваниеКа-

 

федры, ПлановаяНагрузка, ФактическаяНагрузка. Вычисляемые поля:

 

ПлановаяНагрузка, ФактическаяНагрузка

 

 

Запрос 7

В архивную таблицу поместить все данные запроса 6

 

 

106

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

ВАРИАНТ 9. БАЗА ДАННЫХ «УЧЕТ ЗАКАЗОВ ПОКУПАТЕЛЕЙ»

Запросы

Содержательное описание

 

 

Запрос 1

Из таблицы Покупатели выбрать оптовых покупателей, адреса которых

 

начинаются на «Красно». В запрос включить поля: РегистрационныйНо-

 

мерПокупателя, НазваниеПокупателя, Адрес. Данные упорядочить по по-

 

лю РегистрационныйНомерПокупателя

 

 

Запрос 2

Из таблицы Товары выбрать все товары указанной категории, у которых не

 

истек срок годности. В запрос включить поля: Штрих-код, Наименование-

 

Товара, НомерПартии, СрокГодности, ОтпускнаяЦена. Данные упорядо-

 

чить по полям: Штрих-код, СрокГодности. Параметр запроса: категория

 

товара

 

 

Запрос 3

Из запроса 2 удалить поля: Штрих-код, НаименованиеТовара, СрокГодно-

 

сти, ОтпускнаяЦена

 

 

Запрос 4

Перекрестный запрос по данным таблицы Заказы. В качестве столбцов

 

взять значения поля Штрих-код, в качестве строк – значения поля Регист-

 

рационныйНомерПокупателя. На пересечении строк и столбцов отобразить

 

суммарные количества товара по всем заказам, т.е. значения функции Sum

 

от поля Количество. Условие отбора: дата заказа относится к текущему

 

кварталу

 

 

Запрос 5

Используя таблицы Товары и Заказы, сформировать таблицу заказов, в ко-

 

торую включить поля: НомерЗаказа, ДатаЗаказа, Штрих-код, Наименова-

 

ниеТовара, НомерПартии, СрокГодности, СтоимостьЗаказа. Значения

 

поля СтоимостьЗаказа (это вычисляемое поле) рассчитать по формуле:

 

СтоимостьЗаказа = ОтпускнаяЦена Количество

 

 

Запрос 6

На вчерашнюю дату отдельно по оптовым и розничным покупателям по-

 

считать и вывести торговый оборот, т.е. итоговую стоимость всех сделан-

 

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

 

боротПоОптовикам, ТорговыйОборотПоРознице. Вычисляемые поля:

 

ТорговыйОборотПоОптовикам, ТорговыйОборотПоРознице

 

 

Запрос 7

В архивную таблицу поместить все данные запроса 6

 

 

107

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

ВАРИАНТ 10. БАЗА ДАННЫХ «БИРЖА ТРУДА»

Запросы

Содержательное описание

 

 

Запрос 1 Из таблицы Безработные выбрать всех лиц с высшим образованием и стажем работы не менее трех лет. В запрос включить поля: Регистрацион-

ныйНомерБезработного, Фамилия, Имя, Отчество, Адрес, Телефон, КодПрофессии, Стаж. Данные упорядочить по полю РегистрационныйНомерБезработного

Запрос 2 В таблице Безработные найти всех лиц с заданным кодом профессии, телефоны которых начинаются на указанные первые три цифры. В запрос включить поля: РегистрационныйНомерБезработного, Фамилия, Имя, Отчество, Стаж. Данные упорядочить по полям: РегистрационныйНо-

мерБезработного, Стаж. Параметры запроса: код профессии, первые три цифры номера телефона

Запрос 3 Из запроса 2 удалить поле РегистрационныйНомерБезработного

Запрос 4 Перекрестный запрос по данным таблицы Вакансии. В качестве столбцов взять значения поля КодПрофессии, в качестве строк – значения поля КодПредприятия. На пересечении строк и столбцов отобразить значения поля Оклад. Условие отбора: оклад не менее 10000 рублей

Запрос 5 Используя таблицы Безработные, Профессии и Вакансии, определить для каждой профессии среднее арифметическое желаемой зарплаты, среднее арифметическое оклада, предлагаемого различными предприятиями. В за-

прос включить поля: КодПрофессии, НазваниеПрофессии, СреднееАрифметическоеЖелаемойЗарплаты, СреднееАрифметическоеПредлагаемогоОклада. Вычисляемые поля: СреднееАрифметическоеЖелаемойЗарплаты, СреднееАрифметическоеПредлагаемогоОклада

Запрос 6 Вывести сведения по имеющимся вакансиям частных предприятий, подходящим под требования безработных в отношении зарплаты. В запрос включить следующие поля: КодПрофессии, НазваниеПрофессии, НаименованиеПредприятия, СфераДеятельности, Оклад

Запрос 7 В архивную таблицу поместить все данные запроса 6

108

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

2.4. КОНТРОЛЬНЫЕ ВОПРОСЫ

1.Для чего предназначены запросы на выборку и управляющие запросы? Назовите отличия запросов на выборку от операций сортировки и фильтрации.

2.Какие типы запросов на выборку допустимы в Access? Укажите область применения каждого из этих типов запросов.

3.Какие инструменты существуют в Access для создания запросов? Как можно воспользоваться в Access языками запросов QBE и SQL?

4.Какие объекты базы данных могут служить источником записей для запроса? Что представляет собой результат выполнения запроса? Что такое многотабличный запрос?

5.Какие группы команд имеет вкладка Конструктор? Назовите назначение этих команд.

6.Какие режимы работы с запросами предусмотрены в Access? Покажите способы смены режимов.

7.Можно ли вносить изменения в результаты запроса? Как при этом изменяются базовые таблицы, составляющие источник записей запроса? Какие существуют ограничения на редактирование результатов запроса? Ответы дополните примерами.

8.Как и для чего устанавливаются свойства запроса? Какие свойства полей запроса можно изменять? Продемонстрируйте действие свойств запроса Уникальные записи и Уникальные значения.

9.Как можно вызвать Конструктор запросов? Какие области имеются в бланке конструктора? Назовите содержание и назначение областей бланка конструктора. Какие строки может содержать область сетки?

10.Какую последовательность действий необходимо выполнить, чтобы создать запрос на выборку с помощью Мастера запросов?

11.Какую последовательность действий необходимо выполнить, чтобы создать запрос на выборку с помощью Конструктора запросов?

12.Каким образом задаются условия отбора записей в запросе на выборку? Как действуют условия отбора, соответствующие различным по-

109