18229

Особливості мови QBE в середовищі СУБД Paradox

Реферат

Информатика, кибернетика и программирование

Особливості мови QBE в середовищі СУБД Paradox Реалізація мови QBE в СУБД Paradox є однією з найближчих по функціональним можливостям та по концептуальній схемі до тієї версії яку запропонував Zloof. Але дрібних відмінностей всетаки багато. Функція Print P задається за допом

Украинкский

2013-07-07

75 KB

1 чел.

Особливості мови QBE в середовищі СУБД Paradox

Реалізація мови QBE в СУБД Paradox є однією з найближчих по функціональним можливостям та по концептуальній схемі до тієї версії, яку запропонував Zloof. Але дрібних відмінностей все-таки багато.

  1.  Функція Print (P) задається за допомогою :
    •  спеціального значка (Check), який можна поставити у клітинці таблиці, натиснувши клавішу F6, або вибравши з меню, яке висвітлюється при клацанні правою клавішею «миші»;
    •  можна також задати + (CheckPlus) – клавіші Alt- F6, або , знову ж таки, вибрати з меню. Цей варіант означає вивід значень з дублями;
    •  ָ (CheckDescending) (Ctrl-F6) - вивід значень у спадному порядку.

2. Використовуються бінарні предикати порівняння =, <, >, >=, <=.

3. Зразки для порівняння можуть бути словами без лапок, якщо вони набрані латиницею. Якщо ж зразки набрані кирилицею, або є ключовими словами QBE, то їх необхідно взяти у лапки.

Зразки можуть включати до свого складу спеціальні символи, які інтерпретуються певним чином при порівняннях:

..   – багато символів;

 @ –  один символ;

для порівнянь часто використовуються функції LIKE (для зразків із спеціальними символами);

not – заперечення;

today – повертає сьогоднішню дату з таймера комп’ютера;

blankспеціальне значення типу невизначено.

Розглянемо приклад запиту.

Запит1.  Знайти коди деталей, кількість деталей та коди постачальників, які постачають від 10 до 20 деталей.

ОПД

КП

КД

КО

кількість

√  >= 10, <= 20

В умові відбору використано кому «,» в ролі логічної зв’язки and.

Запит2. Знайти коди деталей кольору red  або yellow.

Д

КД

колір

...

red  OR  yellow

Змінні у запитах QBE Paradox мають вигляд ідентифікаторів, які набираються іншим кольором (наприклад, червоним). Щоб набрати такий ідентифікатор треба попередньо натиснути клавішу F5.

Змінні зазвичай використовуються для того, щоб підтримувати зв’язки ( передавати значення) між таблицями.

Запит3. Знайти прізвища постачальників, які постачають хоча б одну деталь кольору red.

П

КП

прізвище

kp

ОПД

КП

КД

kp

kd

Д

КД

колір

kd

red 

Відзначимо, що у випадку використання кількох таблиць у запиті, порядок їх заповнення не має значення, тобто довільний.

У запитах QBE Paradox зручно виконувати обчислення виразів.

Запит4.  Для кожної деталі, яка постачається, знайти її код, ціну та ціну з 6% нарахуванням.

ОПД

КД

ціна

с , CALC  с * 1,06

У цьому запиті застосовано функцію CALC , яка випереджає формулу для обчислення. Результати обчислення виводяться на друк без використання символа √.

Вбудовані функції

В QBE Paradox можна використовувати ряд функцій. Розглянемо це на прикладах.

Запит5. Знайти такі статуси постачальників, у яких більше 2-х постачальників на одне сначення статуса.

П

КП

статус

COUNT > 2

В цьому запиті вбудована функція  COUNT застосована для формування умови відбору і у явному вигляді результат її виконання не виводиться. У наступному запиті функція  only теж явно не виводить результат своєї роботи.

Запит6. Знайти коди постачальників, які постачають тільки деталь D1.

ОПД

КП

КД

 ONLY D1

Запит7. Для кожного кода постачальника знайти загальну кількість деталей, які постачає цей постачальник.

ОПД

КП

кількість

 CALC  SUM

У цьому випадку (завдяки CALC  ) результат суми буде виведений. Принагідно відзначимо особливу роль символа (Check) Якби він був відсутній, то результатом запиту було б одне число – сума кількостей по всій таблиці, тобто Check здійснює не тільки вивід, а і групування кортежів для кожного значення КП.

Засоби для запитів з множинними порівняннями.

Запит5. Знайти прізвища та коди  постачальників, які постачають тільки деталі кольору red.

Д

КД

колір

SET

x

red

ОПД

КП

КД

 y

ONLY  x

П

КП

прізвище

y

У таблиці Д формується множина кодів деталей кольору red і зв’язується зі змінною x. Надалі ця множина завдяки ключовому слову SET може виступати як операнд у множинному порівнянні.

У таблиці ОПД для кожного значення змінної y завдяки символу (Check) здійснюється групування кортежів. У полі КД записана умова множинного порівняння деякої множини S, зв’язаної зі змінною x, з множиною G (результат групування), яка формується для кожного  значення y окремо. ONLY  означає таке порівняння: GS. Якщо для певного значення y вказане порівняння виконується (результат true), тоді, у відповідності із записом у таблиці П, виводиться прізвище постачальника.

Окрім ONLY  у запитах можуть бути використані інші функції, які задають той чи інший тип множинного порівняння:

ONLY

NO

EVERY

EXACTLY

GS
G ≠S
G
S
G
S

 

У наведеній таблиці G та S мають ті ж самі тлумачення, що і у попередньому прикладі. Відзначимо також, що символ √ у таблиці ОПД  служить подвійній меті:

- групування кортежів за значениям поля;

- вивід значень цього поля як результата.

У тих випадках, коли потрібно тільки групування (без виводу), потрібно використати замість (Check) символ   G (Group by) на тому ж місці.


Запит9. Знайти коди постачальників, ціни поставок яких перевищують середні ціни в 2 рази (ціни вивести також).

ОПД

КП

ціна

SET

x  

  >AVERAGE  x*2

 

Найменування стандартних таблиць

При виконанні пошукового запиту QBE (Paradox) виводить результати пошуку у спеціальну таблицю ANSWER, з структурою стовпців, що відповідають запиту. Ця таблиця існує до виконання наступного запиту, або ж до кінця сесії роботи. Якщо результати роботи деякого запиту необхідно зберегти, то перед виконанням наступного запиту таблицю ANSWER потрібно перейменувати.

При виконанні операції INSERT нові записи вносяться в таблицю INSERTED, а для операції DELETEрезультат роботи попадає в таблицю DELETED. Для оновлення даних необхідно виконати операцію  CHANGETO, а результати її роботи спрямовуються в таблицю  CHANGED.

Відзначимо, що використовуючи стандартний режим роботи для будь-якого запиту-дії, ми ми залишаємо основні таблиці незмінними, бо результати спрямовуємо у вищевказані стандартні таблиці. Для того, щоб дійсно змінювати основні таблиці, необхідно ввімкнути режим FAST.

Запит9. Збільшити ціну деталей кольору red на 10%.

ОПД

..

колір

ціна

red

c ,   CHANGETO   c*1,1


 

А также другие работы, которые могут Вас заинтересовать

77978. Возможности Delphi для ввода и отображения дат и времен. Таймер 193.5 KB
  Таймер Компонент Delphi Timer очень простой компонент который не виден на экране но тем не менее Delphi Timer выполняет очень важные функции в программе. Delphi Timer позволяет вводить необходимые задержки между выполнением тех или иных действий. Компонент Timer имеет всего четыре свойства и одно событие и работать с компонентом Delphi Timer очень просто. Свойство Назначение Enbled Включение-выключение таймера Intervl Интервал срабатывания в миллисекундах Nme Имя компонента в программе Tg Произвольный числовой параметр Помещаем...
77979. Графические файлы в Delphi 63 KB
  У ряда объектов из библиотеки библиотеки визуальных компонент есть свойство Cnvs канва которое предоставляет простой путь для рисования на них. Cnvs является в свою очередь объектом объединяющим в себе поле для рисования карандаш Pen кисть Brush и шрифт Font. Cnvs обладает также рядом графических методов: Drw TextOut rc Rectngle и др. Используя Cnvs вы можете воспроизводить на форме любые графические объекты – картинки многоугольники текст и т.
77980. Итерационные циклы 47 KB
  Для организации итерационных циклов используются операторы цикла с предусловием цикл ПОКА и цикла с постусловием цикл ДО. Эти операторы не задают закон изменения параметра цикла поэтому необходимо перед циклом задавать начальное значение параметра с помощью оператора присваивания а внутри цикла изменять текущее значение этого параметра. Циклы с предусловием используются тогда когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла.
77981. Кнопки. Диалоговые окна 67.5 KB
  Виды кнопок Кнопки TButton широко используются для управления программами представляет сабой командную кнопку на странице Stndrd. Определяет цвет стиль размер шрифта прилож Cncel: Boolen; Если имеет значение True событие OnClick кнопки возникает при нажатии клавиши Esc Defult: Boolen; Если имеет значение True событие OnClick кнопки возникает при нажатии клавиши Enter События OnClick Возникает при нажатии на кнопке В отличие от большинства других видимых компонентов кнопка TButton является компонентом самой Windows и...
77982. Комбинированные типы 31.5 KB
  В отличии от массивов записи могут объединять значения различных типов и поэтому являются наиболее гибким механихмом построения данных. Запись состоит из фиксированного числа компонентов называемых полями записи. Что бы можно было ссылаться на тот или иной компонент записи поля именуются. Структура объявления типа записи такова: имя типа =RECORD список полей END Здесь: имя типа правильный идентификатор; RECORDEND – зарезервированные словазапись конец; список полей этот список представляет собой последовательность разделов записи...
77983. Компоненты для создания приложений БД 183 KB
  Для использования компонента TDBText нужно: указать в свойстве property DtSource: TDtSource; имя соответствующего компонента TDtSource связанного с НД; указать в параметре property DtField: String; имя поля. Поэтому для TDBEdit необходимо указывать свойства property DtSource: TDtSource; имя компонента DtSource определяющего НД; property DtField: string; имя редактируемого поля; property RedOnly: Boolen; если содержит True значение поля доступно только для чтения если Flse значение поля можно изменять. Свойство property Text:...
77984. Компоненты переключатели 57.5 KB
  TCheckBox независимый переключатель. Независимый переключатель TCheckBox используется для того чтобы пользователь мог указать свое решение типа Да Нет или Да Нет Не совсем в последнем случае в окошке компонента устанавливается флаг выбора но само окошко закрашивается серым цветом. В составе диалогового окна может быть несколько компонентов TCheckBox. Свойства и методы компоненты TCheckBox.
77985. Конструкторы и деструкторы 28.5 KB
  Конструкторы — это специальные методы, создающие и инициализирующие объект. Объект создается выделением для него области в динамически распределяемой памяти. Объявление конструктора выглядит так же, как объявление процедуры, но предваряется ключевым словом constructor. В качестве имени конструктора обычно задают имя Create.
77986. Массивы, одномерные массивы 46 KB
  Каждый элемент массива имеет уникальный номер индекс с помощью которого к элементу массива можно обращаться как к переменной. Имя массива идентификатор составляют тем же правилам что и для переменных. Количество индексов определяет размерность массива. Математическим эквивалентом одномерного массива является вектор.