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


 

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

84204. ПОНЯТИЕ ОБ ИНФЕКЦИОННЫХ БОЛЕЗНЯХ. МЕСТНЫЕ И ОБЩИЕ РЕАКЦИИ ПРИ ИНФЕКЦИЯХ. СЕПСИС 26.41 KB
  В таких случаях говорят об экзогенной инфекции. Однако заражение может быть эндогенным тогда и речь идет об эндогенной инфекции или аутоинфекции. Для инфекционных заболеваний характерен ряд общих признаков: каждое инфекционное заболевание имеет своего возбудителя который выявляется в крови или экскрементах больного; возбудитель инфекционной болезни имеет входные ворота характерные для каждой инфекции; при инфекционной болезни наблюдается образование первичного аффекта очага который обычно появляется во входных воротах. Сепсис ...
84205. КИШЕЧНЫЕ ИНФЕКЦИИ. ХОЛЕРА. САЛЬМОНЕЛЛЕЗЫ 23.78 KB
  САЛЬМОНЕЛЛЕЗЫ Холера Сальмонеллезы Холера острое инфекционное заболевание с преимущественным поражением желудка и тонкой кишки. В тонкой кишке отмечаются резкое полнокровие отек некроз и слущивание энтелиальных клеток ворсин инфильтрация слизистой лимфоцитами нейтрофилии очаги кровоизлияний. Между петлями тонкой кишки обнаруживается прозрачная липкая тянущаяся в виде нитей слизь. Септическая форма отличается от интерстициальной тем что при незначительно выраженных изменениях в тонкой кишке гесперемия отек гиперплазия лимфатического...
84206. КИШЕЧНЫЕ ИНФЕКЦИИ. ДИЗЕНТЕРИЯ. БРЮШНОЙ ТИФ 24.46 KB
  БРЮШНОЙ ТИФ Дизентерия Амебиаз брюшной тиф Дизентерия острое кишечное инфекционное заболевание с преимущественным поражением толстой кишки и явлениями интоксикации. Местные изменения развиваются в слизистой толстой кишки прямой и сигмовидной. Стадия катарального колита 2 3 дня характеризуется гиперемией и набуханием слизистой кишки в которой встречаются поверхностные участки некроза и кровоизлияния. Просвет кишки в связи со спазмом мышечного слоя сужен.
84207. БОЛЕЗНИ ОРГАНОВ ДЫХАНИЯ. БРОНХОПНЕВМОНИЯ 24.31 KB
  БРОНХОПНЕВМОНИЯ Болезни органов дыхания. Аэродинамическая фильтрация Бронхопневмония Болезни органов дыхания отмечаются многообразием клини коморфологических проявлений. Бронхопневмония воспаление легких развивающееся в связи с бронхитом или бронхиолитом. Бронхопневмония возникает гематогенным путем.
84208. БОЛЕЗНИ ОРГАНОВ ДЫХАНИЯ. КРУПОЗНАЯ ПНЕВМОНИЯ. РАК ЛЕГКОГО 25.98 KB
  РАК ЛЕГКОГО Крупозная пневмония Рак легкого Крупозная пневмония инфекционноаллергическое острое заболевание при котором поражается одна или несколько долей легкого в альвеолах выявляется фибринозный экссудат а на плевре фибринозные наложения. Ткань легкого темнокрасная приобретает плотность печени. Ретонарные лимфоузлы в отношении пораженной доли легкого увеличены полнокровны. Доля легкого в этой стадии увеличена плотная тяжелая на плевре значительные фиброзные наложения.
84209. ПЕРВИЧНЫЙ ТУБЕРКУЛЕЗ 27.3 KB
  Морфологическим выражением первичного туберкулеза является первичный туберкулезный комплекс. Он состоит из трех компонентов: очага поражения в органе первичного очага или аффекта туберкулезного воспаления отводящих лимфатических сосудов лимфангита и туберкулезного воспаления регионарных лимфатических узлов лимфаденита. Образуется как бы дорожка от первичного очага к прикорневым лимфатическим узлам.
84210. ГЕМАТОГЕННЫЙ ТУБЕРКУЛЕЗ 22.97 KB
  Виды гематогенного туберкулеза Генерализованный гематогенный туберкулез Гематогенный туберкулез с преимущественным поражением легких Гематогенный туберкулез с преимущественными внелегочными поражениями Гематогенный туберкулез объединяет род проявления заболевания возникающего и развивающегося в организме человека через значительный срок после перенесенных первичных инфекций и представляет собой послепервичный туберкулез. Гематогенный туберкулез возникает у больных у которых первичная инфекция оставила изменения в виде очагов отсевов в...
84211. Вторичный туберкулез 25.48 KB
  Характеристики вторичного туберкулеза Патологическая анатомия. Осложнения Вторичный туберкулез реинфицированный развивается в организме взрослого человека перенесшего ранее первичную инфекцию которая обеспечила ему относительный иммунитет но не оградила от возможности повторного заболевания после первичного туберкулеза для которого характерны: избирательно легочная локализация процесса; контактное и интраканаликулярное бронхиальное дерево желудочнокишечный тракт распространение; смена клиникоморфологических форм. Выделяют...
84212. СИФИЛИС 25.13 KB
  Хроническое интерстициальное воспаление отмечается в печени стенке аорты легких ткани яичек. Развивается также сифилитический мезаортит; на интиме аорты появляются белесоватые бугристые бляшки с рубцевыми втяжениями. При сифилитическом мезаортите в стенке аорты обнаруживается воспалительный процесс распространяющийся со стороны vs vsovum и адвентиции на среднюю оболочку. Прочность стенки аорты уменьшается просвет ее расширяется образуется сифилитическая аневризма аорты.