Запрос 1

Язык запросов QBE

Язык SQL - общие сведения

SQL был создан и впервые использован в 1981 г. С тех пор появились различные версии языка, однако основные принципы составления запросов, основные операторы и правила их выполнения практически одинаковы для всех СУБД. В настоящее время принят международный стандарт SQL - SQL-92. Этот стандарт представляет собой обобщение всех известных его реализаций. Это означает, что ядро стандарта содержит операции, применяемые практически во всех известных коммерческих версиях языка, а полный стандарт включает усовершенствования, которые некоторым производителям еще только предстоит реализовать.

Из реляционной алгебры в этот стандарт включены операторы для некоторых операций над множествами, а также операторы, выполняющие над отношениями основные реляционные операции: выборку SELECT, соединение JOIN и проекцию.

 

Язык SQL требует определенных навыков в составлении запросов и не может быть предложен пользователю- непрограммисту для общения с БД. Был разработан простой и наглядный графически-ориентированный язык запросов для пользователей - Query By Example (запрос по образцу), ставший важной частью коммерческих СУБД.

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

Рассмотрим основные возможности QBE, опираясь на первоначально разработанный вариант языка.

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

Сообщить название фирмы-поставщика П1.

Поскольку известные и искомые данные хранятся в одной таблице ПОСТАВЩИК, нужно вывести образец для этой таблицы.

ПОСТАВЩИК П# Имя поставщика Город
  П1 Р.  

Условием отбора является равенство значения, находящегося в столбце П# базовой таблицы, введенному значению П1.

В столбец П# помещаем условие отбора даных - номер поставщика П1. Для того, чтобы указать, что именно мы хотим вывести, в столбец Имя поставщика помещаем команду Р. (print - распечатать). Пустые столбцы можно удалить. Результат запроса будет представлен в виде так называемой ответной или целевой таблицы, содержащей все строки из базовой таблицы, в которых номер поставщика равен П1.

ПОСТАВЩИК П# Имя поставщика
  П1 Восход