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


 

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

60107. Сценарій маленького ювілею «50 днів у школі» 69 KB
  Він нас зібрав усіх сюди У вересневу рань Щоб вчитися змогли всі ми І набиратись знань. Сьогодні всі ми урочисто Переступили цей поріг Яскраве сонечко надворі Кидає промінці у клас Такого свята ще ніколи...
60108. Усний журнал «Здоров’я» 70 KB
  Мета: формувати розуміння необхідності здорового способу життя відповідальність за власне здоровя і здоровя рідних; усвідомлення наслідків вживання алкоголю нікотину наркотиків...
60109. Позакласний захід: Княгиня Ольга 38 KB
  Вдова Ігоря - Ольга На сцену виходить Ольга сідає на свій трон: Той хто не помстився за смерть родичів буде зганьблений на віки вічні і тому наказую кинути древлянських послів у глибоку яму та закопати живцем.
60111. Любімо Україну! 74.5 KB
  Ой зелене жито зелене хорошії гості у мене Зеленеє жито женці жнуть хорошії гості мене ждуть 2р. Ой зелене житто зелене хорошії гості у мене Зеленеє жито при межі хорошії гості від душі...
60112. Виховний захід «Миколай святий іде, подарунки всім несе!» 47 KB
  Увага Дітвора У нас чудова новина До казки просимо усіх Де вас чекають жарти й сміх Сьогодні в нас казкове свято Гостей запрошено багато Уучень. Летить сніжок Легесенький кружляє Безшумно осідає він на все...
60114. Виховний захід до річниці визволення Києва та України від німецько-фашистських загарбників 55 KB
  Мета: 1. Показати героїзм визволителів Києва та України. на території України; окупацію України; голокост; битву за Дніпро та визволення Києва від окупантів. Обладнання: проектор на сцені надпис Київ 1941-1943 фотографії Києва часів війни та подій повязаних із визволенням столиці.