Языки запросов
Понятие «язык запросов» (ЯЗ). Классификация ЯЗ. Классификация запросов.
Язык запросов – ориентированный на конечного пользователя язык доступа к базе данных, чаще всего строящийся по принципу декларативных языков [М.Р. Когаловский «Энциклопедия технологий баз данных», М.:ФиС, 2002 г. ]
Языки запросов: – табличные (QBE) Часто используется не только как самостоятельный ЯЗ, но и как построитель запросов на SQL –Аналитические (SQL) Графические элементы используются частично Использование дополнительных возможностей, выходящих за рамки языка данного класса
Используются: – в интерактивном режиме –встраиваются в программы Обычно не являются функционально-полными языками Возможности языка зависят то его типа Часто включают в себя дополнительные возможности: –определения данных –корректировки данных Зависят от СУБД: –реляционные языки запросов –объектные языки запросов
В реляционных языках запросов источниками данных являются плоские таблицы (реальные или виртуальные (запросы, представления) и результатом является плоская таблица
Любой запрос определяет: - источник(и) информации - поля, выводимые в ответ (обязательно) -Условие отбора (не обязательно) Дополнительно может быть задано: -упорядочение данных в ответе. Упорядочение ответа может участвовать не только для вывода результата в определенной последовательности, но и для формирование специфических запросов -Число записей, выводимых в ответ (все, заданное число, заданный процент)
Классификация запросов
По числу аргументов поиска в запросе –Простые (один аргумент) –Сложные (более одного) Условие AND (И) Условие OR (ИЛИ) Смешанные –Без условия отбора
По числу таблиц, участвующих в запросе: –Однотабличные –Многотабличные Внимание: 1.Таблицы, включенные в запрос, будут влиять на ответ, даже, если поля некоторых из этих таблиц не участвуют в условиях запроса 2. Необходимо учитывать тип соединения таблиц 3. Надо использовать минимальное число таблиц, необходимых для выполнения запроса 4. Обратить внимание на обработку таблиц, для которых не задана связь 5. Возможно использовать в качестве источника одну и ту же таблицу многократно (связь таблицы самой с собой - сам объединение)
По выполняемым действиям: – Поисковые –Корректирующие Замена Вставка Удаление –Запрос на создание таблиц
По моменту задания значений аргументов поиска –При задании запроса – при выполнении запроса (параметрические запросы)
Получаемая в ответе информация: - содержится в базе данных -вычисляется: -агрегирующие функции – возможна только одноуровневая агрегация -произвольные выражения
Специальные запросы Перекрестные Поиск повторяющихся [записей] Поиск записей, не имеющих подчиненных