Тема 2. Создание sql-запросов в реляционных субд
2.1. Реляционные языки программирования и манипулирования данными
Реляционные языки оперируют с данными как с множествами, применяя к ним операции теории множеств. На входе реляционного оператора – множество записей одной или нескольких таблиц, на выходе – множество записей новой таблицы. Выделяют следующие разновидности языков.
dBASE-подобные языки обеспечивают создание интерфейса пользователя, выполнение основных типовых операций, таких как добавление и редактирование записей, удаление, поиск, копирование записей и т.п. Они обладают выраженной процедурностью обработки, когда явно указывается последовательность действий, приводящих к конечному результату.
Графические реляционные языки ориентированы на конечных пользователей. Типичным представителем такого языка является QBE (Query By Example), реализованный в среде электронных таблиц, в ряде СУБД ( в частности в Access), в пакете MicroSoft Query. Функции языка доступны в формах различного рода меню, диалоговых сценариях или заполняемых пользователем таблицах. По таким входным данным интерфейс формирует адекватные синтаксические конструкции и передают их на исполнение.
SQL-подобные (Structured Query Language) языки запросов реализуются в большинстве многопользовательских и распределённых СУБД. Язык SQL стал стандартом языков запросов для работы с реляционными базами.
SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры), данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления и организации подпрограмм. В связи с этим SQL обычно погружен в среду встроенного языка программирования СУБД (например, языка СУБД Visual FoxPro) или даже процедурного языка типа C++ или Pascal.
Основные операторы усеченного подмножества SQL:
CREATE TABLE, DROP TABLE — создание, удаление таблицы;
CREATE INDEX, DROP INDEX — создание, удаление индекса;
ALTER TABLE — изменение структуры таблицы;
SELECT, UPDATE, INSERT, DELETE — выборка, изменение, вставка и удаление записей.
К дополнительным операторам SQL относят:
CREATE DATABASE, SHOW DATABASE, START DATABASE, STOP DATABASE, DROP DATABASE — создание, просмотр, активизация, закрытие, удаление базы данных (БД);
CREATE VIEW, DROP VIEW — создание, удаление выборки (представления);
CREATE SYNONYM — создание синонима;
GRANT, REVOKE — назначение, удаление привилегии для работы с выборками и таблицами.
Для удовлетворения сложных информационных потребностей пользователи «общаются» с БД с помощью запросов. Запрос представляет собой спецификацию (предписание) на специальном языке (базы данных) для обработки данных. В реляционных СУБД запросы к БД выражаются с помощью SQL-инструкции SELECT. В упрощенном виде оператор SELECT имеет следующий формат:
SELECT [ALL-DISTINCT] <(СписокДанных - ВыбираемыхПолей)>
FROM <СписокТаблиц - источник данных> [INTO ИмяТаблицы получателя данных] [WHERE <условие выборки>] [GROUP BY Условие группировки <Имя столбца> [, <имя столбца»...][HAVING <Условие поиска> [ORDER BY Условие упорядочения выводимых данных <спецификация сортировки>[,<спецификация сортировки»...] [TO FILE ИмяФайла (TO PRINTER – направление вывода данных) ]
Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. Результатом является таблица, которая может иметь (ALL) или не иметь (DISTINCT) повторяющиеся строки.
В списке данных можно задавать имена столбцов и выражения над ними, к примеру, арифметические. Если записи отбираются из нескольких таблиц, то используют составные имена <имя таблицы>.<имя столбца>.
С точки зрения решаемых информационных задач и формы результатов исполнения запросов их можно разделить на три группы: запросы на выборку данных; запросы на изменение данных; управляющие запросы.
Вход в режим SQL. Формирование запросов в СУБД может осуществляться в специальном редакторе (командный режим) или через диалоговые средства (конструкторы) и пошаговые мастера. Сформированный запрос в виде SQL-инструкции сохраняется в файле БД и затем запускаться на выполнение.
В современных СУБД с интерактивным интерфейсом можно создавать запросы, не применяя SQL. Однако его применение позволяет расширить возможности использования СУБД. К примеру, в Access можно перейти из окна конструктора запросов в окно с оператором SQL. Для этого необходимо, находясь в режиме «Создание запроса в режиме Конструктор», нажать левую кнопку мыши и в появившемся контекстном меню выбрать пункт «Режим SQL». В появившемся окне следует набрать инструкцию SQL.При закрытии окна следует выполнить запоминание запроса с уникальным именем.
Запросы на выборку являются наиболее часто применяемыми запросами. Обычно они реализуется SQL-инструкцией SELECT с предложением FROM.
Результатом исполнения запроса на выборку является набор данных, который представляет временную таблицу со структурой, определяемой параметрами запроса и полей таблиц, из которых выбираются данные. В отличие от режимов поиска и фильтрации запросами на выборку данные выбираются из закрытых таблиц.
Результаты запросов на выборку помещаются в специальную временную таблицу, размещаемую на период исполнения запроса в оперативной памяти. В этом смысле запрос в реляционных СУБД тождественен просто таблице данных, «открытие» которой осуществляется в результате выполнения запроса. Из этого следует возможность исполнения запросов над результатами исполнения других запросов, что облегчает построение запросов при решении сложных задач.
Наборы данных, формируемые запросами на выборку, являются динамическими. Это означает, что с результатом исполнения запроса можно производить все те же операции, что и с данными в режиме открытой таблицы.
Запросы на выборку классифицируются по двум критериям - по формированию условий выборки и по схеме отбора данных.
По формированию условий выборки запросы можно подразделить на запросы со статическими (неизменяемыми) условиями отбора, запросы с параметрами и запросы с подчиненными запросами.
По схеме отбора данных запросы на выборку подразделяются на запросы на выборку данных из одной таблицы, запросы на выборку данных в один набор из нескольких таблиц и запросы на объединение данных.
- Ростовский государственный экономический университет «ринх»
- Ростов-на-Дону
- Оглавление
- Введение
- Тема 1. Антивирусные программы
- 1.1. Компьютерные вирусы и антивирусные программы
- 1.2. Программный пакет Антивирус Касперского и работа с ним
- 1.3. Практические упражнения по антивирусной защите
- Тема 2. Создание sql-запросов в реляционных субд
- 2.2. Запросы на выборку данных из одной таблицы
- Сотрудники
- Запрос на выборку всех записей с произвольным набором полей
- Список сотрудников
- Сотрудники
- Синие воротнички
- Сотрудники
- Подразделения
- 2.3. Запросы на выборку данных из нескольких таблиц
- Сотрудники, не имеющие ученых степеней
- План-график мероприятий
- 2.4. Вычисления и групповые операции в запросах
- Сотрудники
- Премирование
- 2.5. Подчиненные (сложные) запросы
- Электромобили
- Маршруты
- Тема 3. Решение экономических задач в ms Excel
- 3.1. Моделирование как метод познания
- Постановка задачи
- 3.2. Пример моделирования в среде Microsoft Excel
- Формализация, алгоритмизация и программирование
- Объединение ячеек
- Селективные переключатели
- Цифровые индикаторы
- Цифровой индикатор суммарной мощности
- Излучатель сигнала тревоги
- Прогнозирование
- 3.3. Приближенное решение уравнений в Microsoft Excel
- Задача о приближенном решении уравнений
- Отделение корней
- Решение задач
- Оформление и программирование
- Тестирование и отладка
- Прогнозирование
- 3.4. Задачи линейного программирования
- 3.4.1. Пример решение задачи линейного программирования
- 3.4.2. Лабораторная работа.
- Тема 4. Электронная почта Outlook Express
- Библиографический список
- Информатика
- Формализация, алгоритмизация и программирование
- Объединение ячеек
- Селективные переключатели
- Цифровые индикаторы
- Цифровой индикатор суммарной мощности
- Излучатель сигнала тревоги
- Прогнозирование
- Контрольные вопросы по дисциплине "практикум на пк"