КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Графические (схематичные) реляционные языки
Типичным представителем является язык QBE (Query By Example), реализованный в среде электронных таблиц, в ряде СУБД, в пакете Microsoft Query. Данный язык относится к языкам манипулирования данными. Работа выполняется со схемой реляционной таблицы с использованием простейших синтаксических конструкций. Для вертикальной выборки (проекции) записей реляционной таблицы осуществляется пометка отбираемых полей с помощью символа √ (помеченное поле выводится в выходную структуру новой реляционной таблицы).
Для горизонтальной выборки (селекции) задаются логические условия (критерии) отбора записей в поисковых полях. Условия могут задаваться как выражения, построенные с помощью операторов различного вида: Арифметические операторы – используются для выполнения вычислений с числами в качестве констант выражения: * Умножения двух чисел + Сложения двух чисел - Вычитания одного числа из другого / Деления одного числа на другое Операторы сравнения – используются для сравнения двух значений: > (больше) >= (больше или равно) < (меньше) <= (меньше или равно) <> (не равно) = (равно). Логические операторы – используются с выражениями, которые могут быть истинными или ложными: И (AND) – должны выполняться оба критерия. Или (OR) – должен выполняться один из критериев. Не (NOT) – этот критерий не должен выполняться. Могут использоваться специальные операторы типа: BETWEEN – значение в заданном диапазоне. IN – одно из значений списка. IS – с ключевым словом Null определяет, является ли величина нулем (нет значения) или нет (есть значение). LIKE – использует символы подстановки для сравнения двух значений. Условия задаются в следующих вариантах: для одного поля; в одной строке для нескольких полей, считая все условия совместными; в разных строках для одного или разных полей, считая их альтернативными. Пример 19.55.Для получения фамилий студентов с именем Иван и датой рождения в диапазоне 1.1.79 –1.1.80 создается запрос:
Для получения фамилий студентов с именем Иван с датой рождения в диапазоне 1.1.79- 1.1.80 и фамилий студентов с именем Петр создается запрос:
В некоторых реализациях языка QBE условие на значение диапазона дат может записываться в ином виде:
Язык QBE позволяет вычислять групповые функции (по группе выделенных строк) с помощью функций: Avg – среднее арифметическое значение поля; Count – число выбранных записей; Мах – максимальное значение поля; Min – минимальное значение поля; Sum – сумма значений поля. Для использования подобных функций указываются поля, образующие группу записей. Пример 19.56.Для подсчета количества студентов с именем Иван и датой рождения в диапазоне 1.1.79 – 1.1.80 создается запрос:
Ключевое слово Сalс означает вычисление значений по данному полю.
Выражения используются в запросе и для формирования новых данных. Пример 19.57.Для каждого студента определить количество прожитых на сегодняшнюю дату дней:
Символ – идентификатор значения поля, today – встроенная функция вычисления сегодняшней даты.
Для совместной обработки реляционных таблиц строится многотабличный запрос, в котором указываются внешние ключи связи, помечаемые в бланках запроса. Пример 19.58.Получить сведения о студентах, успевающих на 4 и 5, название дисциплины и результат сдачи экзамена (оценку):
Символы – идентификаторы ключей связи в различных реляционных таблицах. Выходная структура содержит поля: имя, фамилия, результат, название дисциплины. Выводятся сведения о студентах, которые учатся на 4 и 5.
Некоторые версии языка QBE позволяют создать набор (множество) значений указанного поля одной таблицы, по отношению к которому проверяются значения поля другой таблицы. Операции сравнения выполняются на уровне множества значений поля с помощью сравнения наборов: ONLY – второй набор – подмножество первого, NO – наборы не совпадают, EVERY – первый набор – подмножество второго, EXACTLY – наборы совпадают. Первый набор формируется с помощью ключевого слова SET. Пример 19.59.Получить сведения о студентах, которые имеют такие же результаты, что и студент с зачетной книжкой 123456
В ряде СУБД кроме выборки записей возможны операции включения новых записей (INSERT), удаления записей (DELETE) или групповой корректировки выбранных записей (CHANGETO).
|