Бази даних |
11 клас |
Урок 15. Запити з функціями і з полями, що обчислюються.
Цілі:
Тип уроку: Комбінований.
Обладнання та наочність: дошка, комп’ютери з підключенням до мережі Інтернет, підручник Інформатика: бази даних (модуль для учнів 10-11 класів, рівень стандарту)/ В.Д. Руденко, навчальна презентація.
Програмне забезпечення: браузер, офісні програми.
Хід уроку
І. Організаційний етап
ІІ. Актуалізація опорних знань
Бесіда. Дайте визначення понять запит, однотабличні, багатотабличні, прості та складні запити, запит на вибірку даних.
ІІІ. Мотивацій навчальної діяльності
У попередньому розділі розглядалися запити, за допомогою яких із таблиць вибираються необхідні дані за певними критеріями. Отримані дані можна також опрацьовувати. Як опрацьовувати дані ми розглянемо на цьому уроці.
IV. Вивчення нового матеріалу
Пояснення вчителя з елементами демонстрування презентації
(використовуються можливості локальної мережі кабінету або проектор)
Робота з підручником: § 3.3
Так, для таблиці КАДРИ можна обчислити середній стаж роботи працівників
із вищою освітою.
У системі Access є вбудовані функції, що дають змогу узагальнити дані деяких полів і полегшити опрацювання даних. Запити, у яких використовуються такі функції, називають по-різному, наприклад підсумковими запитами. Але найчастіше їх називають запитами з функціями.
У системі Access 2.16 існує два способи використання перелічених функцій:
• до запиту, відкритого в режимі таблиці, додається запис підсумків, у якому для кожного поля може використовуватись одна з функцій;
• у режимі конструктора створюється підсумковий запит, у якому обчислюються проміжні підсумки за групами записів.
Деякі функції системи Access:
• Sum (Сума) — обчислює суму значень елементів поля;
• Avg (Середнє) — обчислює середнє значення поля;
• Max/Min (Максимум/Мінімум) — повертає елемент із максимальним/мінімальним
значенням поля;
• Count (Кількість) — підраховує кількість записів за значенням поля.
Приклад 1. Створити Запит_4, за допомогою якого з таблиці КАДРИ вибираються записи про співробітників, які народилися після 1961 року і мають стаж понад 15 років. Результуючі записи повинні містити поля: Прізвище, Посада, Рік народження, Стаж і Оклад. Підрахувати кількість результуючих записів за значенням поля Прізвище й обчислити загальну суму окладів цих осіб.
1. Створимо в режимі конструктора звичайний запит на вибірку (рис. 1).
2. Збережемо запит з іменем Запит_4 і виконаємо його. Результат виконання запиту наведено на рис.2.
3. На вкладці Основне в групі Записи натиснемо кнопку Підсумки ( ∑ ). Під останнім записом таблиці з’явиться новий запис Підсумок. У цьому записі клацнемо поле Прізвище та в списку, що відкриється, виберемо функцію Кількість.
4. Аналогічно в цьому самому записі поля Оклад виберемо функцію Сума. У результаті отримаємо результат, як наведено на рис.3.
5. Для збереження внесених змін ще раз клацнемо кнопку Зберегти.
Рис.1. Приклад запиту на вибірку даних у режимі конструктора
Рис.2. Результат виконання запиту на вибірку даних
Рис.3.Запит у режимі таблиці з підсумковим записом
Приклад 2. 1. Створимо звичайний запит на вибірку в режимі конструктора, наприклад запит, за допомогою якого з таблиці КАДРИ вибираються прізвища працівників з окладом понад 4 000 грн і підраховується їх кількість. Результуючий перелік записів має містити поля Справа, Прізвище, Стаж, Оклад.
2. Уведемо в рядок Критерії поля Оклад вираз >4000.
3. На вкладці Конструктор відкриємо меню кнопки Відображення або приховання й виконаємо команду Підсумки ( ∑ ). У конструкторі запиту з’явиться рядок Підсумок, а в кожному полі цього запису буде зазначено Групування за.
4. У записі Підсумок клацнемо те поле, за яким потрібно виконати підрахунок кількості записів (наприклад, поле Справа). У списку, що відкриється, виберемо функцію Кількість (рис. 4).
5. Збережемо запит та виконаємо.
Рис.4. Приклад підсумкового запиту в режимі конструктора
Система Access 2016 дозволяє створювати запити з полями, що обчислюються. Таких полів у запиті може бути кілька. Запити з полями, що обчислюються, — це запити, які дозволяють виводити в результуючий набір записів не лише поля таблиць, а й нові поля, які створює сам користувач. У запитах із полями, що обчислюються, містяться дані, отримані під час обчислення даних полів таблиць. Наприклад, на основі даних таблиці КАДРИ в результуючий набір
записів можна ввести поле Доплата у якому обчислюється доплата до окладу залежно від стажу працівника (приклад 3)
Приклад 3. Припустимо, що за кожен рік стажу понад 5 років працівники отримують надбавку у розмірі 1 % від посадового окладу. Тоді надбавку можна обчислити за формулою: Доплата = Оклад*(Стаж–5)/100.
На основі таблиці КАДРИ створимо запит з іменем Запит_5, за допомогою якого виводяться всі записи таблиці з полями Прізвище, Стаж, Оклад і Доплата, значення якого обчислюється за наведеною формулою. Порядок створення запиту такого типу несуттєво відрізняється від порядку звичайних запитів (приклад 4).
Приклад 4. 1. Відкриємо БД atb, активуємо вкладку Створення й клацнемо кнопку Макет запиту. Із таблиці КАДРИ перенесемо в конструктор запиту поля Прізвище, Стаж, Оклад, а в наступне поле введемо вираз: Доплата:[Оклад]*([Стаж]–5)/100. Зверніть увагу на те, що імена полів, які входять у вираз, беруться у квадратні дужки.
2. Установимо в записі Сортування поля Прізвище значення За зростанням для того,
щоб прізвища виводилися в алфавітному порядку. Створений запит зображено на рис. 5
3. Збережемо запит з іменем Запит_5 (згадаємо, що для цього потрібно натиснути
кнопку Зберегти, у вікні, що відкриється, ввести ім’я запиту й клацнути кнопку ОК). У результаті виконання запиту має з’явитися результат, як наведено на рис.6
4. Закриємо Запит_5
Рис.4. Запит із полем, що обчислюється
Рис.5. Результат виконання запиту з полем, що обчислюється
V. Засвоєння нових знань, формування вмінь
Робота за комп’ютером
Підручник ст. 55
VI. Підсумки уроку
Фронтальне опитування
Рефлексія
1. Під час уроку я
2. Найбільше мені сподобалося…
3. На уроках найкраще в мене виходило…
4. Я мав (-ла) труднощі з…
5. Я хотів би ще дізнатися про…
VІI. Домашнє завдання
Підручник § 3.3 ст. 50-55
VІІI. Оцінювання роботи учнів