Информационные системы и базы данных

ИНФОРМАТИКА   |   Последнее обновление 03. 07. 2023 Admin   |  

Page1 of 2 12

ВЕРСИЯ ДЛЯ ПЕЧАТИ

 

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

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


Таблица 1.15


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

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

 

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


Таблица 1.16


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

ФАМИЛИЯ
ГОРОД
СПЕЦИАЛЬНОСТЬ
СТАЖ
Дикий Березники юриспруденция 3
Жакин Пермь социальная работа 1
Ильин Кунгур юриспруденция 2

 

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

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

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

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

 

ВЕРНУТЬСЯ НА СТРАНИЦУ ПЛАНИРОВАНИЯ


Page1 of 2 12