Лекция № 6а Запросы в СУБД Paradox
Манипулирование данными в СУБД PARADOX осуществляется с использованием системы запросов, формирование которых происходит с привлечением пункта "ASK" главного меню. Используя запросы, можно выполнить следующие функции:
¨ включать новые записи в таблицу,
¨ удалять записи из таблицы,
¨ изменять значения полей в таблице,
¨ найти нужные записи,
¨ определение групп записей и построение новых таблиц на основе записей и полей, выделенных в нескольких таблицах.
Запросы формулируются на дисплей-ориентированном языке Quary by Example (QBE). С использованием этого языка запрос формулируется путем заполнения для таблиц, подлежащих обработке, форм запроса на экране монитора.
Для того чтобы продемонстрировать возможности QBE на примере классических операций над отношениями, используем таблицу "Учебные потоки" (рис 6а.1)
GROUPS.
Код факультета |
Специаль-ность |
Год пос-тупления |
Наименование потока |
Число студентов |
F |
Spec |
Y |
Stg |
Qst |
11 11 55 |
220400 220400 220100 |
1997 1995 1995 |
ПО-71 ПО-51 ВМ-51 |
24 16 33 |
Рис 6.1а
Для реализации операции ПРОЕКЦИЯ совокупность соответствующих атрибутов помечается специальным символом радикала с использованием для соответствующей колонки запроса клавиши "F6". На рис. 6а.2 представлен вариант заполнения формы запроса и результат его выполнения п и нажатии клавиши "F2".
GROUPS
F |
Spec |
Y |
Stg |
Qst |
V |
V |
ANSWER
F |
Spec |
11 55 |
220400 220100 |
Рис.6а.2
Таблица ANSWER, содержащая результат относится к классу временных таблиц, которые сохраняются в процессе сеанса до выполнения другой операции, требующей создания временной таблицы с тем же именем, и уничтожаются при завершении сеанса работы с СУБД.
На рис 6а.3 показан пример реализации средствами QBE операции выбора. Здесь наряду с радикалами использованы условия выбора. В варианте 1 они позволяют получить непустую таблицу результата, а во втором варианте ни одна запись не удовлетворяет поставленным условиям и таблица ANSWER создается, но записей в ней нет.
Вариант1
GROUPS
+------------------------------------+
¦ F ¦ SPEC ¦ Y ¦ STG ¦ QST ¦
+----+---------+-----+-------+-------¦
¦ V ¦V =220100¦v ¦V ¦V ¦
+------------------------------------+
ANSWER
+----------------------------------+
¦ F ¦ SPEC ¦ Y ¦ STG ¦ QST ¦
+----+-------+-----+-------+-------¦
¦55 ¦220100 ¦ 1995¦ ВМ-51 ¦ 33 ¦
+----------------------------------+
Вариант 2
GROUPS
+---------------------------------------+
¦ F ¦ SPEC ¦ Y ¦ STG ¦ QST ¦
+----+---------+--------+-------+-------¦
¦ V ¦V =220100¦v =1997 ¦V ¦V ¦
+---------------------------------------+
ANSWER
+----------------------------------+
¦ F ¦ SPEC ¦ Y ¦ STG ¦ QST ¦
+----+-------+-----+-------+-------¦
¦ ¦ ¦ ¦ ¦ ¦
+----------------------------------+
Рисунок 6а.3
Для демонстрации операции соединения используем дополнительную таблицу "Факультеты" (рис 6а.4)
FAC
+--------------+
¦ F ¦ NF ¦
+-----+--------¦
¦11 ¦ ФММПУ ¦
¦55 ¦ ИИТ ¦
+--------------+
Рисунок 6а.4
Соединение двух данных таблиц реализуется с помощью связывающей временной переменной Е (образца). Временная переменная вводится в колонке запроса с предварительным нажатием клавиши "F5" и СУБД выделяет ее на бланке цветом. Ниже для обозначения временных переменных будут использоваться заглавные буквы латинского алфавита. Бланк соответствующего запроса и результат представлены на рис. 6а.5.
FAC GROUPS
+--------------+ +-------------------------------------+
¦ F ¦ NF ¦ ¦ F¦ SPEC ¦ Y ¦ STG ¦ QST ¦
+-----+--------¦ +--+---------+--------+-------+-------¦
¦V Е ¦ V ¦ ¦ Е¦V ¦v ¦V ¦V ¦
+--------------+ +-------------------------------------+
ANSWER
+-----------------------------------------------------------+
¦ F ¦ Spec ¦ Y ¦ STG ¦ QST ¦ NF ¦
+------+------------+---------+-----------+---------+-------¦
¦ 11 ¦ 220400 ¦ 1997 ¦ ПО-71 ¦ 24 ¦ ФММПУ ¦
¦ 11 ¦ 220400 ¦ 1995 ¦ ПО-51 ¦ 16 ¦ ФММПУ ¦
¦ 55 ¦ 220100 ¦ 1995 ¦ ВМ-51 ¦ 33 ¦ ИИТ ¦
+-----------------------------------------------------------+
Рисунок 6а.5
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.