Работа 1.8 Задание 2 ГДЗ Семакин 11 класс (Информатика)
С помощью конструктора запросов реализовать следующие запросы, использующие данные из нескольких таблиц и сложные условия выбора.
1. Получить список всех абитуриентов, живущих в Перми и имеющих медали. В списке указать фамилию и номер школы, факультет, на который они поступают. Отсортировать в алфавитном порядке фамилий.
Пояснение. Для реализации данного запроса информация должна извлекаться из трех таблиц: «Анкеты», «Факультеты», «Абитуриенты». Команда на гипотетическом языке запросов имеет вид:
.выбор Анкеты.ФАМИЛИЯ, Анкеты.УЧ_ЗАВЕДЕНИЕ, Факультеты.ФАКУЛЬТЕТ где Анкеты.ГОРОД=»Пермь» и
Абитуриенты.МЕДАЛЬ=ДА сортировать Анкеты.ФАМИЛИЯ по возрастанию
В данном запросе нужно отобразить на экране не все данные, а только часть из них. Поэтому в строке Функция необходимо задать условия отбора. Для поля ГОРОД необходимо в данной строке ввести значение «Пермь», а для поля МЕДАЛЬ — значение TRUE.
Обратите внимание на то, что, хотя в команде непосредственно используются поля только из трех таблиц «Анкеты», «Факультеты» и «Абитуриенты», в реализации запроса должна участвовать четвертая таблица «Специальности». Ее нельзя исключить, поскольку будет нарушена связность схемы: таблица «Абитуриенты» связана с таблицей «Факультеты» через таблицу «Специальности».
В результате выполнения данного запроса должна получиться следующая таблица:
Пермяки-медалисты
ФАМИЛИЯ УЧ ЗАВЕДЕНИЕ ФАКУЛЬТЕТ
Васильева ПТУ № 8 экономический
Круг Школа № 102 экономический
Примечание. При формировании запросов можно использовать знаки отношения: =, > , < , > =, < =, о (не равно). Например, если в приведенном выше запросе изменить условие отбора на ‘ < > Пермь’, то будут выбраны все абитуриенты, проживающие не в Перми.
2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
Пояснение. В этом запросе должны использоваться три таблицы: «Анкеты», «Специальности», «Абитуриенты». На гипотетическом языке запросов команда выглядит так:
.выбор Анкеты.ФАМИЛИЯ, Анкеты.ГОРОД,
Специальности.СПЕЦИАЛЬНОСТЬ, Абитуриенты.СТАЖ
где Факультеты.ФАКУЛЬТЕТ = «Юридический»
и Абитуриенты.СТАЖ > 0 сортировать Анкеты.ФАМИЛИЯ
по возрастанию
Самостоятельно реализовать запрос через конструктор. В результате должна быть получена следующая таблица:
Юристы со стажем
ФАМИЛИЯ ГОРОД СПЕЦИАЛЬНОСТЬ СТАЖ
Дикий Березники юриспруденция 3
Жакин Пермь социальная работа 1
Ильин Кунгур юриспруденция 2
Запрос «Пермяки-медалисты»
Запрос «Юристы со стажем»
Пример выполнения.
Приемная_комиссияБ.odb
Выполнение
Для первого запроса в конструкторе нужно выбрать поля ФАМИЛИЯ, УЧ_ЗАВЕДЕНИЕ, ФАКУЛЬТЕТ из таблиц Анкеты и Факультеты, а также задать условия отбора:
- $$\text{ГОРОД} = \text{Пермь}$$
- $$\text{МЕДАЛЬ} = \text{ИСТИНА}$$
Сортировка выполняется по полю ФАМИЛИЯ по возрастанию. При этом в запросе должна участвовать и таблица Специальности, чтобы сохранить связи между таблицами.
.выбор Анкеты.ФАМИЛИЯ, Анкеты.УЧ_ЗАВЕДЕНИЕ, Факультеты.ФАКУЛЬТЕТ
где Анкеты.ГОРОД = «Пермь» и Абитуриенты.МЕДАЛЬ = ДА
сортировать Анкеты.ФАМИЛИЯ по возрастанию
Для второго запроса выбираем поля ФАМИЛИЯ, ГОРОД, СПЕЦИАЛЬНОСТЬ, СТАЖ из таблиц Анкеты, Специальности, Абитуриенты. Условия отбора:
- $$\text{ФАКУЛЬТЕТ} = \text{Юридический}$$
- $$\text{СТАЖ} > 0$$
Сортировка также выполняется по полю ФАМИЛИЯ по возрастанию.
.выбор Анкеты.ФАМИЛИЯ, Анкеты.ГОРОД, Специальности.СПЕЦИАЛЬНОСТЬ, Абитуриенты.СТАЖ
где Факультеты.ФАКУЛЬТЕТ = «Юридический» и Абитуриенты.СТАЖ > 0
сортировать Анкеты.ФАМИЛИЯ по возрастанию
В результате получаются таблицы:
| ФАМИЛИЯ | УЧ_ЗАВЕДЕНИЕ | ФАКУЛЬТЕТ |
|---|---|---|
| Васильева | ПТУ № 8 | экономический |
| Круг | Школа № 102 | экономический |
| ФАМИЛИЯ | ГОРОД | СПЕЦИАЛЬНОСТЬ | СТАЖ |
|---|---|---|---|
| Дикий | Березники | юриспруденция | 3 |
| Жакин | Пермь | социальная работа | 1 |
| Ильин | Кунгур | юриспруденция | 2 |
Ответ
Запросы «Пермяки-медалисты» и «Юристы со стажем» составлены с использованием нескольких таблиц, условий отбора и сортировки по фамилии.