Учебник для 11 класса

Информатика

       

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

Действия, выполняемые над информацией, хранящейся в базе данных, называются манипулированием данными. К ним относятся выборка данных по некоторым условиям, сортировка данных, обновление, удаление устаревших и добавление новых данных. Выполнение этих действий производится с помощью запросов.

Запрос — это команда к СУБД на выполнение определенного вида манипулирования данными.

Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) — структурированный язык запросов. Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогательным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.

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

Команда запроса на выборку данных из БД на гипотетическом языке запросов имеет следующий формат:

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

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

Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специальность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).

В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ. В разделе сортировки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по второму ключу.

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

Команда для данного запроса будет следующей:

Результат выполнения запроса — таблица 1.15.

Таблица 1.15
План приема: запрос на выборку

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

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

На гипотетическом языке запросов команда будет выглядеть так:

В результате будет получена таблица 1.16.

Юристы со стажем: запрос на выборку

Таблица 1.16

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

Система основных понятий

Вопросы и задания

  1. а) Что входит в понятие манипулирования данными в БД?

    б) Какова цель запроса на выборку?

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

Top.Mail.Ru
Рейтинг@Mail.ru