Главная arrow Учебники arrow Информатика и ИКТ 10-11 класс Семакин 2012 arrow §34 Запросы как приложения информационной системы

§34 Запросы как приложения информационной системы

Информатика и ИКТ 10-11 класс Семакин, Информатика 10-11 класс Семакин, Запросы как приложения информационной системы

Действия, выполняемые над информацией, хранящейся в базе данных, называются манипулированием данными. К ним относятся выборка данных по некоторым условиям, сортировка данных, обновление, удаление устаревших и добавление новых данных. Выполнение этих действий производится с помощью запросов.
Запрос — это команда к СУБД на выполнение определенного вида манипулирования данными.
Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) — структурированный язык запросов. Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогательным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.
В учебных целях мы будем использовать строчное описание команд запросов на придуманном (гипотетическом) языке. Он близок к SQL, однако имеет не такой строгий синтаксис и, кроме того, использует русские служебные слова.
Команда запроса на выборку данных из БД на гипотетическом языке запросов имеет следующий формат:
.выбрать <список выводимых полей> где <условие выбора>
сортировать <ключ сортировки> по <порядок сортировки>
Не все составляющие этой команды являются обязательными. Могут отсутствовать условие выбора и порядок сортировки. Кроме того, ключей сортировки может быть несколько. Тогда они записываются в порядке приоритетов: первый, второй и т. д.
Опишем серию запросов на гипотетическом языке, которую позже в практикуме реализуем средствами СУБД. В базовом курсе информатики вы учились составлять запросы к однотабличной БД. Теперь рассмотрим примеры запросов, для выполнения которых потребуется извлекать данные из нескольких таблиц.
Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специальность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).
В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ
и СПЕЦИАЛЬНОСТИ. В разделе сортировки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу и, в случае совпадения у нескольких записей его значения, они упорядочиваются по второму ключу.
Если в запросе используются поля из разных таблиц, то для их обозначения применяются составные имена, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
Команда для данного запроса будет следующей:
.выбрать ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТИ.
СПЕЦИАЛЬНОСТЬ, СПЕЦИАЛЬНОСТИ.ПЛАН сортировать
ФАКУЛЬТЕТЫ. ФАКУЛЬТЕТ по возрастанию, СПЕЦИАЛЬНОСТИ.
СПЕЦИАЛЬНОСТЬ по возрастанию
Результат выполнения запроса — таблица 5.13.
Таблица 5.13. План приема: запрос на выборку

ФАКУЛЬТЕТЫ

СПЕЦИАЛЬНОСТИ

ПЛАН

исторический

история

50

исторический

политология

25

экономический

бухгалтерский учет

40

экономический

финансы и кредит

25

юридический

социальная работа

25

Запрос 2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
В этом запросе должны использоваться четыре таблицы одновременно: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ, ФАКУЛЬТЕТЫ. Условие выбора в этом запросе будет представлять собой логическое выражение, содержащее операцию логического умножения «И» — конъюнкцию. Подробнее способы записи логических выражений мы обсудим в следующем параграфе.
На гипотетическом языке запросов команда будет выглядеть так:
.выбрать АНКЕТЫ.ФАМИЛИЯ, АНКЕТЫ.ГОРОД, СПЕЦИАЛЬНОСТИ.СПЕЦИАЛЬНОСТЬ, АБИТУРИЕНТЫ.СТАЖ где ФАКУЛЬТЕТЫ. ФАКУЛЬТЕТ= "Юридический" и АБИТУРИЕНТЫ.СТАЖ>0 сортировать АНКЕТЫ.ФАМИЛИЯ по возрастанию
В результате будет получена таблица 5.14.
Таблица 5.14. Юристы со стажем: запрос на выборку

ФАМИЛИЯ

ГОРОД

СПЕЦИАЛЬНОСТЬ

СТАЖ

Дикий

Березники

юриспруденция

3

Жакин

Пермь

социальная работа

1

Ильин

Кунгур

юриспруденция

2

В компьютерном практикуме вы научитесь реализовывать такие запросы в среде СУБД Microsoft Access. Кроме того, вы будете строить запросы на удаление записей, научитесь организовывать вычисляемые поля в запросах, создавать формы для ввода и просмотра таблиц, формировать отчетные печатные документы.
Система основных понятий

Запросы - приложения ИС

Запрос -

команда к СУБД на выполнение определенного вида манипулирования данными

Средства формирования запросов

SQL (Structured Query Language) - структурированный язык запросов.

Конструктор запросов (Microsoft Access)

Структура запроса на выборку

Список полей

Условие выбора записей

Ключи и порядок сортировки

Имена полей (простые или составные), выводи­мые по запросу

Логическое выражение, ко­торому удовлетворяют вы­бираемые записи

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