Published using Google Docs
Урок 17 ІКТ 11
Updated automatically every 5 minutes

Урок 17                                                                        Інформатика 11(ІКТ)


Обчислення підсумкових показників для груп записів.


Мета.

Навчальна. Ознайомити з обчисленням підсумкових показників для груп записів.

Розвиваюча. Розвивати логічне та алгоритмічне мислення.

Виховна. Виховувати культуру мовлення.

Тип уроку. Урок засвоєння нових знань.

Учні повинні знати:

Учні повинні уміти:

Матеріали для роботи з учнями:

План

  1. Організація початку уроку
  2. Актуалізація опорних знань.
  3. Мотивація навчальної діяльності.
  4. Вивчення нового матеріалу.
  5. Запитання до уроку.
  6. Домашнє завдання.

Хід уроку


1. Організація початку уроку.


3. Актуалізація опорних знань.

  1. Що означає «згрупувати рядки елект­ронної таблиці за значеннями певного параметра»?
  2. Які операції можна виконувати над згрупованими рядками електронної таблиці?
  3. Опишіть алгоритм, за яким виконуєть­ся функція DSUM (рос. БДСУММ) таб­личного процесора?
  4. Опишіть загальну структуру вибірково­го запиту


4. Мотивація навчальної діяльності.

На попередньому занятті ми вибирали в таблицях записи, що задовольняють певні критерії. Але в багатьох випадках вибра­ти записи — значить зробити тільки половину справи, адже часто з ними потрібно виконати якісь підсумкові операції: під­рахувати їх кількість, підсумувати значення того чи іншого поля тощо. Підсумкову операцію, наприклад обчислення серед­нього віку учнів у кожному класі або визначення кількості класів, у яких викладає кожен учитель, часто виконують від­разу над багатьма групами записів. У табличному процесорі для виконання таких завдань, нагадаємо, використовують про­міжні підсумки та зведені таблиці, а в СКБД застосовують спе­ціальні різновиди запитів. Крім того, у СКБД Microsoft Access засобом відображення на аркушах друкованого формату підсум­кових характеристик для груп записів є звіти. Ці засоби ми розглянемо на сьогоднішньому уроці.


5. Вивчення нового матеріалу.

Групові операції в запитах

Уважно розгляньте таблицю 10.1. Це таблиця Учні, відсорто­вана за значеннями поля клас. Один із результатів сортування полягає в тому, що записи учнів, які навчаються в одному кла­сі, розташовано поруч. Інакше кажучи, таблицю згруповано за полем клас: спочатку розташовано групу учнів 10А класу, по­тім —10Б, 11А, і нарешті — 11Б класу.

У цій таблиці легко обчислювати підсумкові показники для груп записів. Наприклад, у табл. 10.2 показано результат об­числення для кожного класу кількості учнів і дати народження наймолодшого з них.

Групування шляхом сортування ми виконували в таблично­му процесорі Microsoft Excel. У СКБД Microsoft Асееве для групування записів сортувати таблицю не потрібно. Групу­вання і обчислення підсумкових операцій здійснюють за до­помогою конструктора запитів. У вікні конструктора потріб­но клацнути правою кнопкою миші поле, за значеннями якого будуть виділятися групи, і вибрати у контекстному меню команду Групповые операции (Групові операції). Після цього в бланк запиту буде додано рядок Групповая операция (рис. 10.1, а).

З рис. 10.1, б видно, що результати групування рядків таблиці в табличному процесорі та в СКБД дещо відмінні. У СКБД ре­зультатом запиту з групуванням є таблиця, де кожна група записів початкової таблиці «згортається» в один запис (наприк­лад, на рис. 10.1, б замість двох записів «10Б» ми бачимо один). Власне об’єднання кількох записів в один в реляційних базах даних і називається групуванням.

Група — це набір записів з однаковим значенням певного поля. Під групуванням розуміють процес об’єднання групи записів в один; поле, значення якого однакові, називається полем групування.

Однак із самого факту згортання кількох записів в один мало зиску. Групування стає справді корисним, якщо до груп запи­сів застосовують певну підсумкову операцію. Найуживанішими підсумковими операціями вважаються:

        визначення кількості записів (Count);

        обчислення сумарного значення (Sum);

        обчислення середнього значення (Avg);

        обчислення максимуму (Мах);

        обчислення мінімуму (Min).

Усі операції, крім визначення кількості записів, виконують над значеннями певного поля підсумків. Зауважте, що це не поле групування, а якесь інше поле числового типу, грошового типу або типу дата/час. На рис. 10.1 полем групування є клас, полем підсумків — дата народження, а підсумковою опера­цією — обчислення максимуму (у наймолодшого учня дата народження максимальна). Тип підсумкової операції вибира­ють зі списку, що розкривається кнопкою, розташованою в клітинках рядка Групповая операция справа -

Зазначимо, що коли підсумкова операція полягає у визначенні кількості записів у групі, то в конструкторі запитів ми також маємо вибрати певне поле підсумків, але неважливо, яке саме. Справді, кількість рядків не залежить від того, за яким стовп­цем ми її підраховуємо.

Для допитливих.

Як полів групування, так і полів підсумків у запиті може бути кілька. Якщо використовують кілька по­лів групування, то до однієї групи відносять записи, які в усіх цих полях мають однакові значення.

Завдання 10.1

У базі даних школа створіть і виконайте запит типачити дату народження наймолодшого учня в кожному класі.

Поле підсумків можна використовувати н ум оті х відбору так само, як і будь-яке інше поле. Самі умоїш :шмпсують у рядку Условие отбора конструктора запитів. Як приклад розглянемо подані на рис. 10.2 бланк і результат виконання запиту «Ви значити класи, всі учні яких народилися до 1 січня 1998 ро­ку». СКБД виконує запит за таким алгоритмом.

  1. Таблиця учнів групується: до однієї групи потрапляють записи учнів, які навчаються в одному класі.
  2. Для кожної групи обчислюється максимальна дата народ­ження учня.
  3. Для кожної групи створюється один запис у таблиці ре­зультатів. У цьому записі два значення: назва класу та мак­симальна дата народження його учнів.
  4. У таблиці результатів залишаються тільки ті записи, для яких максимальна дата народження менша за 1 січня 1998 року.

Запити з групуванням можна створювати не за однією, а за кількома таблицями, з’єднуючи їх так само, як і в запитах без групування. Приклади кількатабличних запитів із групуван­ням буде розглянуто далі.

Для допитливих.

У запитах із групуванням можна вказувати лише поля групування та підсумків, адже тільки вони мають одне значення для кожної групи і тому можуть бути подані у вигляді одного запису. «Звичайного» поля не може бути, оскільки в кожній групі його значень багато і незрозуміло, яке з них відобразити в таблиці результатів.

Завдання 10.2

Створіть і виконайте запит визначити класи, всі учні яких народилися до 1 січня 1998 року.

Приклади запитів

Приклад 1

Для кожного вчителя визначити, скількох учнів він навчає.

Вікно конструктора запиту зображено на рис. 10.3. Прізвища та паспорти вчителів беремо з таблиці Учителі, яку з’єднано з таблицею Викладання, її — з таблицею класів, а вже таблицю класів — з таблицею учнів. Зауважте, що прямий зв’язок між таблицею класів та вчителів видалено, оскільки він визначає, хто є класним керівником, а це за умовою запиту не потрібно. Полями групування є паспорт та прізвище вчителя. Поле під­сумків може бути будь-яким, оскільки підсумкова операція — обчислення кількості записів.

Приклад 2

Припустимо, що до таблиці учнів додано поле успішність, у якому зберігається середній бал в табелі за минулий навчаль­ний рік. Запит є таким: визначити прізвища класних керівни ків тих класів, середня успішність у яких нижча за 8 балів.

Вікно конструктора запиту зображено на рис. 10.4. У запиті два поля групування: прізвище вчителя та назва класу. Групу­вати записи за назвою класу потрібно тому, що саме для всіх учнів кожного класу обчислюється середня успішність, а за прізвищем вчителя — тому, що значення цього поля відобра­жається. Пояснимо друге твердження. У запиті з групуванням, нагадаємо, будь-яке поле має бути полем групування або під­сумків. Прізвище вчителя — це не підсумкове значення, а от­же, відповідне поле має бути полем групування, а не підсумків.

Зауважте також, що в цьому запиті на результат підсумкової операції накладено умову відбору (середня успішність нижча 8 балів). Зрозуміло, що ця умова перевірятиметься для вже згру­пованої таблиці, тобто відповідати чи не відповідати їй будуть цілі класи.

Приклад З

Визначити середню успішність учнів, яких навчає Сошко Ка­терина.

Вікно конструктора запиту зображено на рис. 10.5. У цьому запиті умову відбору (учитель — Сошко Катерина) накладено на поле групування. Можна вважати, що запит виконується так: після з’єднання таблиць відбираються записи, що стосу­ються Сошко Катерини, а потім обчислюється середнє значення поля успішність в отриманій таблиці.

Завдання 10.3

Реалізуйте запити, розглянуті в прикладах 1-3. Для створення запитів з прикладів 2 і 3 додайте до таблиці Учні поле успіш­ність.

Завдання 10.4

Реалізуйте такі запити в базі даних школа (до таблиці учнів додано поле успішність).

а)  Визначити найвищу успішність учнів НА класу.

б)  Для кожного класу визначити, скільки математиків у ньо­му викладає.

в) Визначити, у скількох учнів, молодших за 16 років, ви­кладає Петрова Ніна Володимирівна. (Подумайте, яке об­меження потрібно накласти на дату народження учня.)


6. Висновки.


7. Завдання для самостійного виконання

  1. Реалізуйте такі запити.

а)  Визначити назви класів, у яких навчається більше 2 учнів.

б)  Визначити прізвища вчителів, які викладають більш, ніж в одному класі.

в)  Визначити дату народження наймолодшого учня.

г)  Визначити кількість учителів, що є класними керів­никами.

д) Для кожного вчителя визначити максимальну успіш­ність його учнів (використайте поле успішність).

е ) Визначити прізвище наймолодшого учня.

є*) Визначити спеціальності, за якими працюють тільки вчителі-жінки.


8. Питання для роздумів

  1. Сформулюйте запити, реалізацію яких показано на рис. 10.13, а-в.


9. Завдання для досліджень.

  1. З’ясуйте, для чого призначений перехресний запит і як йо­го конструювати. Додайте до бази даних школа таблицю Предмет з полями назва та кількість уроків на тиж­день і з’єднайте її зв’язком з таблицею Викладання (ви­значте самостійно множинність зв’язку та створіть зовніш­ній ключ, потрібний для його моделювання). Побудуйте перехресний запит визначити, скільки предметів викла дає кожен учитель кожному учневі.

10. Домашнє завдання.

  1. Опрацювати теоретичний матеріал.
  2. Виконати завдання для самостійного виконання.