Лекція 7 Обчислення у запитах За допомогою запитів можна вибирати данні з таблиць та здійснювати обчислення. Вид обчислення задається за допомогою вираження у шаблоні. У вираженнях, окрім звичайних арифметичних операцій (+, -, *, / ) та дужок, можуть використовуватися вбудовані функції: AVG., CNT., MAX., MIN., та SUM..Приклад 12. Шаблони з обчисленнями Нехай є таблиця EMP1 з полями імени (прізвище, ім’я, по батькові), розміром зарплати (ЗАРПЛАТА) та розміром преміальних (ПРЕМІЯ). Необхідно по кожному з співробітників вивести ім ’я і загальну суму заробітної плати і преміальних. Для цього сформуємо шаблон нової таблиці OUTPUT (заповнивши строку імені таблиці та імен її полів) і вкажемо в ній вид обчислень. З’єднаємо цей шаблон з шаблоном запиту до таблиці EMP1.
Оскільки операція сумування виконується по кожному рядку вихідної таблиці, такий тип обчислень можна назвати горизонтальним. Вбудовані функції оперують групами записів, тому можна вважати, що вони виконують вертикальні обчислення. Для підрахунку загального числа співробітників необхідно скласти такий запит:
Елемент прикладу Em тут можна опустити.Якщо потрібно підрахувати кількість співробітників у відділі іграшок, потрібно підготувати шаблон запита вигляду:
Щоб підрахувати кількість співробітників у кожному з відділів (з виводом назв відділів), підготуємо шаблон запита виду:
В цьому випадку отримаємо наступний результат:
У шаблоні запиту ми застосували операцію групування (див. Приклад 11).
Операції вставки, видалення та модифікації
На відміну від розглянутих операцій, операції вставки, видалення та модифікації призводять до зміни вихідної таблиці. Вид операції (вставка – І., видалення – D., модифікація – U.) записується у шаблоні під іменем таблиці, а константи та умовні вираження вказуються за тими ж правилами, що і у операціях вибірки.Приклад 13. Операції вставки, видалення, модифікації Для вставки в таблицю EMP нового співробітника відділу іграшек з прізвищем Дерев’янко Н.В., заробітною платою 2000 і керівником Белкіним Б.Н. потрібно сформувати шаблон виду:
Нехай необхідно видалити всю інформацію о співробітниках відділу іграшок. Шаблон відповідного запиту буде виглядати так:
Для модифікації декотрого значення окремого поля, наприклад заробітної плати співробітника Белкіна Б.Н., достатньо сформувати наступний шаблон:
Порожнє поле означає, що воно не підлягає зміні. Якщо потрібно змінити декотре значення на “порожнє”, використовується ключове слово NULL.Щоб підвищити заробітну плату співробітникам відділу іграшок на 10%, можна сформувати шаблон запиту на модифікацію наступного виду:
Реалізація цього запиту відбувається у два етапи: спочатку вибираються всі записи зі значенням “іграшки” у полі ВІДДІЛ, а потім відбувається зміна поля ЗАРПЛАТА відібраних записів на нове значення. Характеристика мов QBE сучасних СУБД
Основні відмінності мов QBE сучасних СУБД від мови, запропонованої Злуффом М.М., як правило, зводяться до незначних змін в інтерпретації окремих реляційних операцій, введенню додаткових операцій і зміни форми представлення мови.Наприклад, у системі Paradox for Windows замість операції печаті Р. застосовано метод відмітки обраних у запитній формі (шаблоні) полів. Для цього на початку кожного з полів запитної форми розміщуються прапорці для вибору поля. Відмічаючи поля, користувач може вказати послідовність сортування у таблиці відповіді. Для зв’язування кількох запитів в один багатотабличний а також в логічних виразах умов відбору записів використовуються елементи прикладу.Аналіз сучасних СУБД дозволяє передбачити такі напрямки розвитку мови QBE:
|