Информационные системы и базы данных
ИНФОРМАТИКА | Последнее обновление 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