Файл: Современные языки программирования (Общая характеристика языка).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 17.06.2023

Просмотров: 74

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Выбор записей из исходной таблицы в общем случае может быть основан на точном совпадении, частичном совпадении или сравнении.

1. Точное совпадение задается вводом констант в соответствующих полях шаблона.

2. Частичное совпадение задается с помощью элементов примера. В частности, для формулировки запроса о выводе списка всех студентов, фамилии которых начинаются с буквы «А», а заканчиваются на «ов», можно воспользоваться конструкцией P.«А»name«ов», записанной в поле Фамилия таблицы Студент (name -переменная).

3. Условие сравнения записывается с помощью операций сравнения: равно (=), больше (>), меньше (<), больше или равно (>=), меньше или равно (<=), не равно (!), не больше (!>), не меньше (!<).

Пример.

Запрос списка студентов со значением рейтинга, большим или равным 90, наименование группы которых начинается с «ИВТ», а заканчивается на «4». Список должен быть упорядочен по значению ФИО.

В результате выполнения запроса будет получена таблица (выполнено эквисоединение по номеру зачетной книжки). В операциях сравнения можно использовать и элементы примера.

Пример.

Найти всех студентов с номером зачетной книжки, меньшим чем у Иванова А. П., и большим, чем у Петрова И. С.

Здесь таблица запроса включает четыре строки, налагающие на результирующие строки логическое условие, получаемое из логических условий каждой строки, объединенных связкой «И». Порядок строк не важен. В случаях, когда условия отбора записей для выборки представляют большие выражения, которые неудобно или трудно задать в шаблоне, можно использовать блок условий. Он по виду напоминает пустой шаблон с одним полем и именем CONDITIONS. Блок условий предназначен для записи логических выражений.

Записанные в одном шаблоне логические выражения, в общем случае, могут включать в себя операции логического умножения (операция AND) и логического сложения (операция OR).

Пример.

Приведенный выше запрос можно сформировать следующим образом.

Студент-ФИО-Номер зачетной книжки

P.-Имя-Номер

CONDITIONS

Номер = (>5345674 AND <6523456)

При записи логических выражений на языке QBE могут применяться итоговые функции, такие как: CNT. (счетчик или количество), SUM. (сумма), AVG. (среднее), MIN. (минимум), МАХ. (максимум), UN. (уникальный) и ALL. (все значения, в том числе повторяющиеся). Первые пять из них являются статистическими, а последние две определяют характер выборки; включать или не включать в выборку повторяющиеся значения. Информатика. Учебное пособие /Под ред. В.Г. Кирия. - Иркутск: ИрГТУ ,1998 часть 2. - 382с.


Функцию UN. можно присоединять к функциям CNT., SUM., и AVG. Так, запись CKT.UN. означает количество только различающихся значений. В противоположность этому, запись CNT.ALL будет означать количество всех значений. Очевидно, функции MAX.UN. и MAX.ALL. дадут одинаковый результат. Вычисления в группах выполняются с помощью конструкции GB. (Group-by).

3.1. Корректирующие запросы

 Операции вставки удаления и модификации языка QBE

Отличие от рассмотренных операций, операции вставки, удаления и модификации приводят к изменению исходной таблицы. Вид операции (вставка -- I., удаление -- D., модификация -- U.) записывается в шаблоне под именем таблицы, а константы и условные выражения указываются по тем же правилам, что в операциях выборки.

Пример.

В таблицу Студент необходимо добавить нового студента

Студент-ФИО-Группа-Номер зачетной книжки

I.-Сидоров К. С.-ИВТ-163-7754321

Пример.

Удаление студентов шестого курса, как закончивших обучение.

Студент-Группа

D.-Группа_имя«-6»Группа_цифра

Пример.

Изменение наименования группы у студентов ИВТ - 364 (перевод на следующий курс)

Студент-Группа-ФИО

U.-«ИВТ-364»-ФИО

«ИВТ-464»

Сначала должно быть определены значения переменной - найдены все студенты группы «ИВТ-364», затем во всех найденных строках меняется наименование группы на «ИВТ-464». Пустое поле означает, что оно не подлежит изменению. Если требуется изменить некоторое значение на «пустое», используется ключевое слово NULL.

3.2. Корректирующие запросы

Характеристика языков QBE современных СУБД

Основные отличия языков QBE современных СУБД от языка, предложенного Злуффом М. М., как правило, сводятся к незначительным изменениям в интерпретации отдельных реляционных операций, введению дополнительных операций и изменению формы представления языка.

Например, в системе Paradox for Windows вместо операции печати Р. применен метод отметки выбираемых в запросной форме (шаблоне) полей. Для этого в начале каждого из полей запросной формы располагаются флажки для выбора поля. Отмечая поля, пользователь может указать последовательность сортировки в ответной таблице. Для связывания нескольких запросных форм в один многотабличный запрос, а также в логических выражениях условий отбора записей применяются элементы примера. Наглядными являются запросные формы в Microsoft Access. Диалоговое окно при подготовке запросных форм состоит из двух частей: в верхней части располагается модель взаимосвязи исходных таблиц, а в нижней -- остальная информация о запросе по каждому из полей (необходимость вывода значений, вид сортировки, условие отбора и т.д.).


Подготовка шаблона запроса выполняется пользователем с помощью мыши. Так, связывание таблиц в запросе производится не элементами примеров, а буксировкой поля одной таблицы к полю другой таблицы. Если таблицы имели связь между собой, то система автоматически связывает все находящиеся в запросной форме таблицы. При этом каждая из связей помечается в соответствии с ее типом.

Анализ современных СУБД позволяет предположить следующие направления развития языка QBE:

а) повышение наглядности и удобства;

б) появление средств, соответствующих новым возможностям СУБД, например, формулировка неточных или нечетких запросов, манипулирование большими объемами данных;

в) в более отдаленной перспективе использование речевого ввода запросов.

Принципиальные возможности для перехода к естественному языку общения и средствам речевого ввода есть уже сегодня. Это можно сделать, например, в виде надстройки над существующими СУБД при использовании словарей соответствия терминов ограниченного естественного языка и названий таблиц БД, полей таблиц, операций над данными и другими элементами QBE.

3.3. Включение средств формирования QBE

Конечные приложения БД, разработанные для определенной структуры БД, включающие определенные наборы форм ввода/отображения данных, в большинстве своем не нуждаются во включении в их состав полноценных средств формирования QBE - запросов. Несмотря на то, что в обычных приложениях БД обычно неактуально требования формирования произвольных по структуре запросов, приложение очень выигрывает, если средства построения запроса в приложении позволяет хотя бы построения логических выражений с применением логических связок И, ИЛИ, НЕ на значениях атрибутов таблиц БД. Данная возможность значительно усиливает поисковый аппарат БД и увеличивает сферу применения и стоимость системы.

При этом применение в той или иной форме рассмотренного QBE языка позволяет при сохранении достаточно простой реализации добиться весьма больших возможностей. Так, например, чтобы программно (в виде экранных форм, полей ввода и кода) предусмотреть возможность выполнения запроса вида «Найти всех студентов, с рейтингом, больше > 75 и меньше 90, которые учатся на первом или третьем курсе», требуется как минимум очень серьезный этап проектирования системы и трудоемкая реализация. В то же время, реализация запроса средствами, близкими к средствам Access (при фиксированном наборе таблиц, под ввод запроса в которые можно предусмотреть отдельные формы), позволяет добиться как относительной простоты реализации, так и необходимого уровня универсальности (кроме приведенного запроса, могут быть выполнено большое количество других, изначально неизвестных, запросов). Отдельно следует отметить случай, когда разрабатываемое приложение предполагает частую смену базовой структуры данных или, более того, специально ориентировано на так называемую «гибкую» структуру данных, изменяемую, например, средствами самого приложения. В этом случае создание форм под запрос и вывод данных экономически не эффективен, в то время как полное применение всех возможностей QBE позволяет построить универсальную систему самого высокого уровня. Query-by-Example: язык баз данных / М.М. Злуф [Электронный ресурс]. - Режим доступа:http://www.lib.csu.ru/dl/bases/prg/dbms/1996/03/source/149.html


ЗАКЛЮЧЕНИЕ

QBE (запрос-по-образцу) - высокоуровневый язык управления базами данных, предоставляющий удобный и унифицированный стиль для построения запросов, обновления, определения и контроля базы данных. Согласно философии QBE, от пользователя требуется весьма скромные знания для начала работы и сводится к минимуму количество концепций, которые он должен изучить для понимания и использования всего языка. Синтаксис языка прост, но тем не менее он охватывает широкий спектр сложных операций. Это достигается за счет использования одинаковых операций для извлечения, манипулирования, определения и контроля. Операции языка должны подражать, насколько возможно, ручному манипулированию таблицами, сохраняя тем самым простоту, симметричность и нейтральность реляционной модели. Формирование операций должно следовать мыслительному процессу пользователя, предоставляя тем самым свободу при их построении. Система должна динамически создавать и уничтожать таблицы базы данных, она должна также предоставлять пользователю возможности динамического определения предложений контроля и средства безопасности.

Архитектура языка QBE направлена на удовлетворение только что сформулированных требований. Результаты различных психологических исследований показывают, что достаточно для инструктирования непрограммистов менее трех часов, после чего они могут формулировать довольно сложные запросы, которые в противном случае требуют от пользователя знания исчисления предикатов первого порядка. Другими непроцедурными языками в этой области являются SEQUEL и QUEL.

Первая реализация QBE была выполнена K.E. Niebuhr и S.E. Smith. В настоящее время язык экспериментально используется в различных приложениях, среди которых управление библиотечными файлами, ресурсами компьютеров, файлами патентов, почтовыми файлами и платежными счетами.

В современных СУБД, например, в Access и Visual FoxPro, многие действия по подготовке запросов с помощью языка QBE выполняются визуально с помощью мыши. В частности, визуальное связывание таблиц при подготовке запроса выполняется не элементами примеров, а просто «протаскиванием» мышью поля одной таблицы к полю другой.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Дейт, К. Дж. Введение в системы баз данных, 8-е издание.: Пер. с англ. -- М.: Издательский дом "Вильямс", 2005. -- с.1328: ил. -- Парал. тит. англ