§ 8. Запросы как приложения информационной системы
Действия, выполняемые над информацией, хранящейся в базе данных, называются манипулированием данными. К ним относятся выборка данных по некоторым условиям, сортировка данных, обновление, удаление устаревших и добавление новых данных. Выполнение этих действий производится с помощью запросов.
Запрос — это команда к СУБД на выполнение определенного вида манипулирования данными.
Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) — структурированный язык запросов. Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогательным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.
В учебных целях мы будем использовать строчное описание команд запросов на придуманном (гипотетическом) языке. Он близок к SQL, однако имеет не такой строгий синтаксис и, кроме того, использует русские служебные слова.
Команда запроса на выборку данных из БД на гипотетическом языке запросов имеет следующий формат:
Не все составляющие этой команды являются обязательными. Могут отсутствовать условие выбора и порядок сортировки. Кроме того, ключей сортировки может быть несколько. Тогда они записываются в порядке приоритетов: первый, второй и т. д.
Опишем серию запросов на гипотетическом языке, которую позже в практикуме реализуем средствами СУБД. В курсе информатики основной школы вы учились составлять запросы к однотабличной БД. Теперь рассмотрим примеры запросов, для выполнения которых потребуется извлекать данные из нескольких таблиц.
Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специальность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).
В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ. В разделе сортировки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по второму ключу.
Если в запросе используются поля из разных таблиц, то для их обозначения применяются составные имена, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
Команда для данного запроса будет следующей:
Результат выполнения запроса — таблица 1.15.
Таблица 1.15 План приема: запрос на выборку
Запрос 2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
В этом запросе должны использоваться четыре таблицы одновременно: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ, ФАКУЛЬТЕТЫ. Условие выбора в этом запросе будет представлять собой логическое выражение, содержащее операцию логического умножения «И» — конъюнкцию. Подробнее способы записи логических выражений мы обсудим в следующем параграфе.
На гипотетическом языке запросов команда будет выглядеть так:
В результате будет получена таблица 1.16.
Юристы со стажем: запрос на выборку
Таблица 1.16
В компьютерном практикуме вы научитесь реализовывать такие запросы в среде СУБД Microsoft Access. Кроме того, вы будете строить запросы на удаление записей, научитесь организовывать вычисляемые поля в запросах, создавать формы для ввода и просмотра таблиц, формировать отчетные печатные документы.
Напишите на гипотетическом языке запросов команду формирующую таблицу расшифровки кодов
Урок 12. Запросы как приложения информационной системы. Понятие запроса к реляционной базе данных. Средства формирования запросов.
Практическая работа № 4.Реализация простых запросов с помощью конструктора
Запросы как приложения информационной системы (§ 8) Практическая работа 1.6. «Реализация простых запросов в режиме дизайна»
Действия, выполняемые над информацией, хранящейся в базе данных, называются манипулированием данными. К ним относятся выборка данных по некоторым условиям, сортировка данных, обновление, удаление устаревших и добавление новых данных. Выполнение этих действий производится с помощью запросов.
Запрос — это команда к СУБД на выполнение определенного вида манипулирования данными.
Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) — структурированный язык запросов. Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогательным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.
В учебных целях мы будем использовать строчное описание команд запросов на придуманном (гипотетическом) языке. Он близок к SQL, однако имеет не такой строгий синтаксис и, кроме того, использует русские служебные слова.
Команда запроса на выборку данных из БД на гипотетическом языке запросов имеет следующий формат:
.выбрать где
сортировать по
Не все составляющие этой команды являются обязательными. Могут отсутствовать условие выбора и порядок сортировки. Кроме того, ключей сортировки может быть несколько. Тогда они записываются в порядке приоритетов: первый, второй и т. д.
Опишем серию запросов на гипотетическом языке, которую позже в практикуме реализуем средствами СУБД. В курсе информатики основной школы вы учились составлять запросы к однотаб- личной БД. Теперь рассмотрим примеры запросов, для выполнения которых потребуется извлекать данные из нескольких таблиц.
Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специальность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).
В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ. В разделе сортировки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по второму ключу.
Если в запросе используются поля из разных таблиц, то для их обозначения применяются составные имена, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
Команда для данного запроса будет следующей:
.выбрать ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТИ. СПЕЦИАЛЬНОСТЬ, СПЕЦИАЛЬНОСТИ.ПЛАН сортировать ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ по возрастанию, СПЕЦИАЛЬНОСТИ.СПЕЦИАЛЬНОСТЬ по возрастанию
Результат выполнения запроса — таблица 1.15.
Запрос 2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
В этом запросе должны использоваться четыре таблицы одновременно: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ, ФАКУЛЬТЕТЫ. Условие выбора в этом запросе будет представлять собой логическое выражение, содержащее операцию логического умножения «И» — конъюнкцию. Подробнее способы записи логических выражений мы обсудим в следующем параграфе.
На гипотетическом языке запросов команда будет выглядеть так:
В компьютерном практикуме вы научитесь реализовывать такие запросы в среде СУБД Microsoft Access. Кроме того, вы будете строить запросы на удаление записей, научитесь организовывать вычисляемые поля в запросах, создавать формы для ввода и просмотра таблиц, формировать отчетные печатные документы.
Вопросы и задания
1. а) Что входит в понятие манипулирования данными в БД? б) Какова цель запроса на выборку?
2. Напишите на гипотетическом языке запросов команду, формирующую таблицу расшифровки кодов специальностей. Строки должны быть упорядочены по возрастанию кодов.
3. Придумайте серию запросов к базе данных, построенной по индивидуальному заданию в практикуме. Представьте эти запросы на гипотетическом языке.
Практикум Практическая работа № 1.6. Реализация простых запросов в режиме дизайна (конструктора запросов)
Цель работы: освоение приемов реализации запросов на выборку в режиме дизайна
Конструктор запросов — высокоуровневое средство формирования запросов в СУБД LibreOffice Base, который можно рассматривать как пользовательскую оболочку к языку запросов SQL. Для формирования запроса в конструкторе используется табличная форма.
Окно конструктора запросов:
Поле схемы запроса — верхняя часть окна конструктора запросов, куда помещаются схемы таблиц, данные из которых используются в запросе.
Бланк запроса — таблица в нижней части окна. Столбцы относятся к полям, участвующим в формировании запроса. В первой строке указываются имена всех этих полей. Вторая строка — псевдоним, под которым будет выступать данное поле в запросе (можно оставить пустым). Третья строка — имя таблицы, из которой извлекается соответствующее поле. Четвертая строка — признак сортировки. Используется лишь для ключей сортировки. Флажки в пятой строке отмечают признак вывода данного поля на экран при выполнении запроса. В следующих строках формируется условие отбора.
Задание 1
Построить и выполнить запрос к базе «Приемная комиссия»: получить список всех экзаменов на всех факультетах. Список отсортировать в алфавитном порядке названий факультетов.
Для его выполнения достаточно одной таблицы «Факультеты». Команда (на гипотетическом языке) для такого запроса имеет вид:
.выбрать ФАКУЛЬТЕТ, ЭКЗАМЕН_1, ЭКЗАМЕН_2, 9K3AMEH_3 сортировать ФАКУЛЬТЕТ по возрастанию
1. Перейти к работе с конструктором запросов:
=> перейти на вкладку Запросы;
=> выполнить команду Создать запрос в режиме дизайна.
2. В поле схемы запроса поместить таблицу «Факультеты»: в окне Добавление таблицы на вкладке Таблицы выбрать название таблицы«Факультеты», выполнить команду Добавить, затем — Закрыть.
3. Заполнить бланк запроса: выбрать поля «Факультет», «Экзамен_1», «Экзамен_2», «Экзамен_3», установить сортировку по полю «Факультет»(по возрастанию).
4. Сохранить запрос.
5. Исполнить запрос: дважды щелкнуть на названии запроса. На экране появится таблица следующего вида:
6. Сменить заголовки граф запроса (использовать псевдонимы полей).
Пояснение. Заголовками граф полученной ранее таблицы являются имена полей. Это может не устраивать пользователя. Имеется возможность замены их на любые другие надписи, при этом имена полей в БД не изменятся. Делается это через строку Псевдоним в конструкторе запросов.
Задание 2
Вывести список всех специальностей с указанием факультета и плана приема. Отсортировать список в алфавитном порядке по двум ключам: название факультета (первичный ключ) и название специальности (вторичный ключ).
Пояснение. Напомним, что в таком случае сортировка сначала происходит по первичному ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по вторичному ключу. Для выполнения этого запроса потребуются две таблицы — «Факультеты» и «Специальности». Команда для данного запроса на гипотетическом языке будет следующей:
сортировать Факультеты.ФАКУЛЬТЕТ по возрастанию, Специальности.СПЕЦИАЛЬНОСТЬ по возрастанию
Здесь использованы составные имена полей, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
В результате должна получиться следующая таблица:
План приема: запрос на выборку
Обратите внимание на надписи к графам этой таблицы. Выполнить необходимые действия для приведения надписей к такому виду.
§ 8. Запросы как приложения информационной системы
Действия, выполняемые над информацией, хранящейся в базе данных, называются манипулированием данными. К ним относятся выборка данных по некоторым условиям, сортировка данных, обновление, удаление устаревших и добавление новых данных. Выполнение этих действий производится с помощью запросов.
Запрос — это команда к СУБД на выполнение определенного вида манипулирования данными.
Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) — структурированный язык запросов. Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогательным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.
В учебных целях мы будем использовать строчное описание команд запросов на придуманном (гипотетическом) языке. Он близок к SQL, однако имеет не такой строгий синтаксис и, кроме того, использует русские служебные слова.
Команда запроса на выборку данных из БД на гипотетическом языке запросов имеет следующий формат:
Не все составляющие этой команды являются обязательными. Могут отсутствовать условие выбора и порядок сортировки. Кроме того, ключей сортировки может быть несколько. Тогда они записываются в порядке приоритетов: первый, второй и т. д.
Опишем серию запросов на гипотетическом языке, которую позже в практикуме реализуем средствами СУБД. В курсе информатики основной школы вы учились составлять запросы к однотабличной БД. Теперь рассмотрим примеры запросов, для выполнения которых потребуется извлекать данные из нескольких таблиц.
Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специальность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).
В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ. В разделе сортировки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по второму ключу.
Если в запросе используются поля из разных таблиц, то для их обозначения применяются составные имена, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
Команда для данного запроса будет следующей:
Результат выполнения запроса — таблица 1.15.
Таблица 1.15 План приема: запрос на выборку
Запрос 2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
В этом запросе должны использоваться четыре таблицы одновременно: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ, ФАКУЛЬТЕТЫ. Условие выбора в этом запросе будет представлять собой логическое выражение, содержащее операцию логического умножения «И» — конъюнкцию. Подробнее способы записи логических выражений мы обсудим в следующем параграфе.
На гипотетическом языке запросов команда будет выглядеть так:
В результате будет получена таблица 1.16.
Юристы со стажем: запрос на выборку
Таблица 1.16
В компьютерном практикуме вы научитесь реализовывать такие запросы в среде СУБД Microsoft Access. Кроме того, вы будете строить запросы на удаление записей, научитесь организовывать вычисляемые поля в запросах, создавать формы для ввода и просмотра таблиц, формировать отчетные печатные документы.
§ 8. Запросы как приложения информационной системы
Действия, выполняемые над информацией, хранящейся в базе данных, называются манипулированием данными. К ним относятся выборка данных по некоторым условиям, сортировка данных, обновление, удаление устаревших и добавление новых данных. Выполнение этих действий производится с помощью запросов.
Запрос — это команда к СУБД на выполнение определенного вида манипулирования данными.
Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) — структурированный язык запросов. Здесь мы оказываемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогательным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.
В учебных целях мы будем использовать строчное описание команд запросов на придуманном (гипотетическом) языке. Он близок к SQL, однако имеет не такой строгий синтаксис и, кроме того, использует русские служебные слова.
Команда запроса на выборку данных из БД на гипотетическом языке запросов имеет следующий формат:
Не все составляющие этой команды являются обязательными. Могут отсутствовать условие выбора и порядок сортировки. Кроме того, ключей сортировки может быть несколько. Тогда они записываются в порядке приоритетов: первый, второй и т. д.
Опишем серию запросов на гипотетическом языке, которую позже в практикуме реализуем средствами СУБД. В курсе информатики основной школы вы учились составлять запросы к однотабличной БД. Теперь рассмотрим примеры запросов, для выполнения которых потребуется извлекать данные из нескольких таблиц.
Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специальность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специальности (второй ключ).
В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ. В разделе сортировки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по второму ключу.
Если в запросе используются поля из разных таблиц, то для их обозначения применяются составные имена, включающие разделенные точкой имя таблицы и имя поля в этой таблице.
Команда для данного запроса будет следующей:
Результат выполнения запроса — таблица 1.15.
Таблица 1.15 План приема: запрос на выборку
Запрос 2. Получить список всех абитуриентов, поступающих на юридический факультет, имеющих производственный стаж. Указать фамилию, город, специальность и стаж. Упорядочить по фамилиям.
В этом запросе должны использоваться четыре таблицы одновременно: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ, ФАКУЛЬТЕТЫ. Условие выбора в этом запросе будет представлять собой логическое выражение, содержащее операцию логического умножения «И» — конъюнкцию. Подробнее способы записи логических выражений мы обсудим в следующем параграфе.
На гипотетическом языке запросов команда будет выглядеть так:
В результате будет получена таблица 1.16.
Юристы со стажем: запрос на выборку
Таблица 1.16
В компьютерном практикуме вы научитесь реализовывать такие запросы в среде СУБД Microsoft Access. Кроме того, вы будете строить запросы на удаление записей, научитесь организовывать вычисляемые поля в запросах, создавать формы для ввода и просмотра таблиц, формировать отчетные печатные документы.