Запити
11 клас
Запит дозволяє
Запити також використовують як джерело даних для форм і звітів.
Усі запити за результатами дії поділяють на дві групи:
1. Запити, за результатами виконання яких створюються нові таблиці і при цьому не вносяться зміни до джерел запитів, тобто до вихідних таблиць бази даних, її форм та звітів. До цієї групи належать такі запити: �
2. Запити на дії, результат виконання яких передбачає зміну даних, що розміщуються у таблицях бази даних, які є джерелом запиту. До цієї групи належать такі запити:
Особливістю запитів на дії є те, що їх створення і виконання складається з двох етапів :
Це дозволяє уникнути помилок, оскільки результати роботи запитів на дії відмінити неможливо.
У середовищі СУБД MS Access об'єкт Запит має три режими роботи.
Для побудови запиту необхідно у вікні бази даних вибрати категорію Запити та клацнути на кнопці Створити. У вікні, що відкрилось, потрібно вибрати один із способів для створення нового запиту:
Створення запиту на вибірку за допомогою Майстра
За допомогою Майстра можна створити лише прості запити на вибірку, які не містять умов відбору та обчислювальних полів. При виборі режиму Створення запиту за допомогою майстра відображається діалогове вікно, в якому слід з однієї чи кількох зв'язаних таблиць, назви яких можна вибрати з списку, що розкривається, вибрати поля, необхідні для формування запиту, та перенести їх до області Обрані поля у потрібній послідовності.
На останньому кроці роботи Майстра залишається лише задати назву запиту.
Усі інші параметри запитів можна налаштувати в режимі конструктора
Завдання. У базі даних Магазини створити за допомогою Майстра запит Продажі, що містить такі поля: Магазин з таблиці Магазини, Назва_фільму та Ціна_за__одиницю з таблиці Фільми та Кількість _продажів з таблиці Підсумок
Зміна структури запиту в режимі конструктора
Бланк конструктора запитів поділено на дві частини: у верхній частині вказано таблиці, на основі яких створено запит, у нижній частині задаються всі параметри запиту, тобто його структура (мал. 233).
Під час редагування структури запиту в режимі конструктора можна видаляти деякі поля чи додавати інші з таблиці, що взяті за основу, змінювати послідовність розміщення полів, задавати порядок сортування за деякими полями, вказувати умови відбору записів, додавати нові поля, яких немає в таблицях бази даних, але які можуть бути створені в результаті обчислень, виконувати підсумкові обчислення з використанням групових операцій, які можна застосувати до полів, значення в яких повторюються
Завдання. В режимі конструктора внести зміни в структуру запиту Продажі в базі даних Магазини, щоб відображались лише записи про фільми, продані в магазині Стиль, впорядковані за зростанням по кількості проданих копій
Вигляд вікна побудови запиту в режимі Конструктор
Як змінити тип запиту?
Незалежно від того, запит якого типу слід створити, спочатку створюється запит на вибірку. Перш ніж змінити тип запиту на інший, бажано відкрити запит у режимі таблиці і переконатися, що умови відбору задано правильно, тобто за результатами виконання запиту відбираються потрібні записи — ті, що відповідають умові завдання. Далі слід повернутися до режиму конструктора запиту та в меню Записи вибрати потрібний тип.
Використання обчислень.
Нове поле повинно містити ім'я та вираз для його обчислення, відокремлені символом >. Вирази для обчислень можна створювати вручну із врахуванням правил їх запису, а можна скористатись Будівником виразів, застосування якого дозволяє спростити побудову потрібного виразу шляхом вибору потрібних імен полів, операцій та функцій з переліку запропонованих, що вбудовані у середовищі MS Access. Це також дозволяє уникнути синтаксичних помилок при запису виразу.
Викликається Будівник виразів у режимі конструктора за допомогою вибору з контекстного меню вказівки Побудувати або натиснення відповідної кнопки на панелі інструментів. При цьому текстовий курсор має бути встановлений у позицію, починаючи з якої слід ввести вираз.
Використання обчислень.
Вікно Будівника виразів складається з чотирьох областей . У верхній області відображається сформований вираз, у який можна вручну внести корективи. Три нижніх області містять списки об'єктів бази даних, які можуть бути використані у виразі, операцій та функцій, констант та загальних виразів у ієрархічному вигляді — ліва область відповідає за загальні розділи (список об'єктів бази даних та вбудовані функції), середня відображає підрозділи вибраного розділу, а права — конкретні значення. Для вставлення вибраного елемента у вираз треба двічі клацнути на ньому мишкою або натиснути кнопку Вставити у вікні Будівника виразів.
Використання обчислень.
Завдання. В запиті Продажі бази даних Магазини створити нове поле Виторг, значення якого будуть визначені шляхом обчислень як добуток значень полів Ціна_за_одиницю та Кількість_продажів.
Вигляд вікна “Будівник виразів”
Як можна в запитах на вибірку використовувати групові операції?
За допомогою запитів можна не лише знаходити в таблицях записи, які відповідають певним умовам, але й обчислювати підсумкові значення. Для цього в конструкторі запитів передбачено можливість використання групових операцій, які за замовчуванням не відображаються на бланку запиту. Якщо в меню Вигляд або контекстному меню вибрати вказівку Групові операції, то у бланку запиту з'явиться додатковий рядок з такою ж назвою. При цьому відбувається автоматичне групування значень кожного поля, але результат не відображається. Якщо ж потрібно виконати підсумкові обчислення для утворених груп, то у відповідному полі замість значення Групування треба застосувати одну з дев'яти можливих групових операцій {табл. 23.1) або додаткові можливості Вираз та Умова.
Назва | Призначення |
Sum | Обчислює суму всіх значень даного поля в кожній групі. Застосовується лише для числових та грошових полів |
Avg | Обчислює середнє арифметичне всіх значень даного поля в кожній групі. Застосовується лише для числових та грошових полів |
Min | Визначає найменше значення в межах кожної групи. Застосовується для будь-яких полів, крім логічних та типу MEMO. У випадку текстового вмісту виводиться найменше символьне значення незалежно від регістру |
Max | Визначає найбільше значення в межах кожної групи. Застосовується для будь-яких полів, крім логічних та типу MEMO. У випадку текстового вмісту виводиться найбільше символьне значення незалежно від регістру |
Count | Визначає кількість записів, у яких значення даного поля відмінне від Null (порожні). Але при використанні конструкції Count (*) можна підрахувати число всіх записів, включно з «нульовими» |
Stdev | Підраховує статистичне стандартне відхилення для всіх значень даного поля в кожній групі. Функція застосовується лише для числових та грошових полів. Якщо в групі менше двох записів, повертається значення Null |
Var | Підраховує статистичну дисперсію для всіх значень даного поля в кожній групі. Застосовується лише для числових та грошових полів. Якщо в групі менше двох записів, повертається значення Null |
First | Визначає перше значення цього поля в групі |
Last | Визначає останнє значення цього поля в групі |
Завдання. Створити запит Підсумковий, за допомогою якого визначити загальну кількість проданих фільмів та загальний виторг по кожному магазину окремо.